hihi

VPN-isolated AI-CLI sandbox.

Throwaway containers where every byte of traffic leaves through a VPN tunnel and an inspecting mitmproxy — your real IP never leaks, and you watch exactly what your tools send.

Ships claude, codex, copilot, agy, gh, wrangler, ollama, plus git, python3, jq — in a shell that vanishes when you close it. Your project folder and a few logins are all that persist.

$ curl -fsSL hihi.sh | sh

macOS + Linux · needs Docker, bash, curl · then hihi up

$ hihi cli

  █▌ █▌ █▌  hihi 1.0.71 · cli #a3f9c2
  ████▌ █▌  Ephemeral sandbox with VPN and inspecting proxy
  █▌ █▌ █▌  ~/code/myapp → ~/project

[cli] All traffic → gateway (172.28.0.2) → VPN
[cli] External IP: 138.199.62.144  (proxy: http://gateway:8080)
[cli] Tools: gh wrangler copilot claude ollama agy codex + git python3 jq

hihi#a3f9c2:~/project$ 

What's running

gateway
Always on. Holds the OpenVPN tunnel and mitmproxy, and routes everything the other containers send. Supervises both — either one dying is restarted within seconds.
cli
The ephemeral dev shell. Your directory is mounted at ~/project; --docker adds a Docker daemon inside the session, --port publishes one out.
claude
Claude Code with its own VPN in one standalone container — no gateway, no inspection. The fallback that keeps working while the rest is being rebuilt.
browser
Hardened Chromium on a KasmVNC desktop at localhost:8083. Mounts nothing of yours but ./.hihi-dl, where its downloads land.

Commands

up
Self-update, start the gateway — first run writes a config template to fill in
down
Stop the gateway and remove every hihi container
cli
Ephemeral shell or one command [--port N] [--lan] [--docker]
claude
Claude Code + its own VPN, standalone [--vpn LOC/PROTO]
browser
Ephemeral Chromium on localhost [port] [--verbose]
ls
Pick a running session and open a shell in it
status
Gateway state, VPN health, external IPs
logs
Follow the gateway logs
gateway
Control the running gateway status · reconnect · reset · location LOC
update
Report each tool's current → latest, rebuild only what moved [--check] [--only T,T] [--full]
cleanup
Remove containers, images, volumes [--nocache] [--noconfig] [--unlink]

Also served here — hi

hi is the small-tool dispatcher the sandbox bakes into its cli image, and it installs on your own machine the same way. One folder per tool, one manifest each — adding a tool is adding a folder.

$ curl -fsSL hihi.sh/hi | sh

bash, plus whatever each command declares · hi lists everything, dimming what is missing

cf
List and delete Cloudflare Workers and storage, with what still binds them
git
Stage, write the commit message with an AI CLI, push · list/delete/back up GitHub repos
doc
Markdown → PDF and back
file
Find every copy of a file by content hash