open-internet

open-internet is a skill for Claude Code, Codex from xiaolai/mac-it-guy-pro. It costs 64 tokens per session (3,208 once invoked), scanned A, original, MIT.

Decision guidance for building a personal internet connection that can reach services blocked by a censored network. It compares different connection designs and explains their limits and legal boundaries.

In plain words
What is it for?
Use it to choose between a CDN-fronted or direct connection, select a server approach, and troubleshoot access in a cost-conscious order.
Why use it?
It helps choose a suitable setup before buying a server or configuring software, while keeping personal use within the stated boundaries.

Skill for Claude CodeCodex

Part of the mac-it-guy-pro plugin — 8 skills, 12 commands, 4 agents, 2 hooks shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/xiaolai/mac-it-guy-pro/open-internet
Any agent
npx skills add xiaolai/mac-it-guy-pro --skill open-internet
Clone the repo
git clone --depth 1 https://github.com/xiaolai/mac-it-guy-pro

Made for: Claude Code, Codex.

Or install mac-it-guy-pro, the plugin that ships this one along with the rest of its 8 skills, 12 commands, 4 agents, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for open-internet

README.md
[![agentmods](https://agentmods.dev/badge/skills/xiaolai/mac-it-guy-pro/open-internet.svg)](https://agentmods.dev/skills/xiaolai/mac-it-guy-pro/open-internet)
Your own site
<a href="https://agentmods.dev/skills/xiaolai/mac-it-guy-pro/open-internet"><img src="https://agentmods.dev/badge/skills/xiaolai/mac-it-guy-pro/open-internet.svg" alt="Measured on agentmods" height="20"></a>
Per session 64 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,208 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00064 $0.03208
Opus 5 $0.00032 $0.01604
Sonnet 5 $0.00013 $0.00642
Haiku 4.5 $0.00006 $0.00321

Measured 5d ago against content hash 4cab3e9ad1ba, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

open-internet scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/open-internet/SKILL.md · 79 lines

How it starts

The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Open Internet — what to build and why

Facts verified July 2026. Every price, protocol status, and provider claim in this skill and its references carries a date. Anything older than three months must be re-verified before you act on it — this field moves, and stale advice here costs the user real money.

Read references/legal-and-limits.md before anything else. Its boundaries are binding: personal and household use only, no resale, no "airport" operation. That is not a style preference — it is the line where the user's legal exposure changes category.

The rest of the detail lives in four more references, each loaded at the step that needs it: vps-buying.md (what to buy, what it costs, how to get a new IP), server-setup.md (build the server, both architectures), client-setup.md (connect the Mac and verify), and troubleshooting.md (diagnose in cheapest-first order). This file holds only the decisions that determine which of those you follow.

The one thing to get right: this is an architecture choice, not a protocol choice

Beginners (and most tutorials) argue about protocols. The decision that actually determines how a setup fails is whether the client connects to a CDN or directly to your server. The two resist different attacks, and no protocol changes that.

CDN-fronted (VLESS/VMess + WS or httpupgrade + TLS behind Cloudflare) Direct (VLESS + XTLS-Vision + REALITY on 443)
What the censor sees Ordinary HTTPS to a Cloudflare anycast IP A genuine-looking TLS handshake to a borrowed hostname
Deep inspection Measurably weaker than it looks. Xue et al. (USENIX Security 2024) detect the nested TLS handshake protocol-agnostically from burst sizes and round trips — 0.697 true-positive rate against shadowsocks-over-WebSocket-over-TLS at 0.05% false-positive rate. No evidence the GFW deploys this, but it is measured, not theoretical Best available: Vision exists precisely to defeat that signature by splicing inner TLS records, uTLS matches a real browser, and active probes reach the genuine borrowed site
Origin IP exposure Never exposed. China clients only ever touch Cloudflare Fully exposed. Your server IP is the endpoint
IP blocking Not applicable — blocking Cloudflare's pool is not politically cheap No defence whatsoever. REALITY resists inspection, not a decision to null-route your address
Name/SNI blocking This is its failure mode — your hostname can be blocked while Cloudflare stays up. Fix: new hostname Not applicable — no hostname of yours is on the wire
Speed into China Mediocre. No usable mainland Cloudflare presence on free plans; traffic hairpins to an overseas PoP and congests 20:00–23:00 Determined by the server's route. A CN2 GIA box is dramatically better at peak
Moving parts VPS + domain + CDN account + DNS + certificate + path config VPS only. No domain, no certificate, no third-party account

Read the full file on GitHub · 79 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 79 lines · 64 tokens per session scan A 4cab3e9ad1ba

Subscribe to this mod's changes

open-internet is a skill published in the GitHub repository xiaolai/mac-it-guy-pro (5 stars, last pushed 1mo ago), licensed MIT. It adds 64 tokens to every session and 3,208 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

app-it

Turn a local project or a hosted web app (including a published Claude Artifact URL) into a macOS Dock-launchable .app. Use when the user wants a clickable Dock app, local app package, icon, App It install, hosted-URL or Artifact wrapper, or repeatable desktop launcher. Defaults to native Swift WebKit, shipped…

Christian-Katzmann/app-it · 91 tokens

app-it-static

Turn a finished or buildable web app into a macOS Dock-launchable .app that serves built output instead of a dev server. Use when the user asks for app-it-static, a finished site/app launcher, a lightweight Dock app, or a dist/build/out bundle clickable from the Dock. Builds once, serves a snapshot via…

Christian-Katzmann/app-it · 89 tokens

app-it-windows

Create Windows beta desktop launchers for local web projects: WPF + WebView2 .exe, Start Menu shortcut, .ico, warm server, quit cleanup. Use when the user asks for app-it-windows, a Windows app, .exe launcher, Start Menu shortcut, Windows package, or desktop icon. CI-guarded but untested on Windows hardware; never…

Christian-Katzmann/app-it · 89 tokens

music

Apple Music in your terminal. Play tracks, route to AirPlay speakers and AirPods, search 100 million songs, build playlists, play radio stations, discover new music, favorite tracks, seek within a song, browse your listening history, browse your library by artist, album, or track. This is the plugin's only entry…

anthonymaley/MusicTUI · 408 tokens

now

Show what's currently playing on this Mac (any app — Spotify, Apple Music, browsers). Use when the user asks what song/track/music is playing, who the artist is, or wants playback status.

Bangs00/claude-media-control · 43 tokens

output

Show or switch the Mac's audio output device (built-in speakers, AirPods, external displays, DACs). Use when the user asks where sound is playing, which output device is active, or wants audio routed to a different device.

Bangs00/claude-media-control · 50 tokens