pi-tor-proxy

Self-contained Pi extension to route all requests through Tor - auto-downloads and manages Tor binary

Packages

Package details

extension

Install pi-tor-proxy from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-tor-proxy
Package
pi-tor-proxy
Version
0.1.3
Published
Jun 21, 2026
Downloads
not available
Author
yugimob
License
MIT
Types
extension
Size
18.3 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-tor-proxy

A pi-coding-agent extension that routes pi agent requests through the Tor network. Self-contained - automatically downloads and manages a Tor binary with no system installation required.

Note: This extension only routes requests made by the pi agent (HTTP calls, tool executions, etc.) through Tor. It does not affect other applications or system-wide traffic on your machine.

When Tor mode is active:

  • Environment variables (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) are set for HTTP/HTTPS requests
  • Status indicator shows in the footer with your current exit IP: 🔒 Tor (IP: x.x.x.x)
  • Zero dependencies - uses only Node.js built-ins and downloads Tor directly from the Tor Project

Installation

From npm:

pi install npm:pi-tor-proxy

From a local checkout:

pi install /path/to/pi-tor-proxy

Commands

Command Description
/tor-start Enable Tor mode (downloads Tor on first run)
/tor-stop Disable Tor mode
/tor-status Show Tor status and current exit IP
/tor-cycle Get a new Tor circuit (new IP address)

How It Works

  1. First time you run /tor-start, it downloads the Tor expert bundle (~30MB) from archive.torproject.org
  2. Tor binary is stored in the extension's .tor/ directory
  3. Starts Tor and waits for it to bootstrap (typically 10-15 seconds)
  4. Sets proxy environment variables that most HTTP clients respect
  5. Shows 🔒 Tor (IP: x.x.x.x) in footer when active

Environment Variables

When Tor mode is active, the extension sets:

  • HTTP_PROXY=socks5h://127.0.0.1:9050
  • HTTPS_PROXY=socks5h://127.0.0.1:9050
  • ALL_PROXY=socks5h://127.0.0.1:9050
  • (lowercase variants also set)

The socks5h:// scheme means DNS requests are also routed through Tor.

Getting a New IP

Use /tor-cycle to get a fresh Tor circuit with a new exit node. This restarts the Tor process to establish new circuits.

Supported Platforms

Platform Architecture Status
Linux x86_64 (amd64) ✅ Supported
Linux aarch64 (arm64) ✅ Supported
macOS x86_64 (Intel) ✅ Supported
macOS arm64 (Apple Silicon) ✅ Supported
Windows any ❌ Not supported

Development

cd pi-tor-proxy
npm install

Test with:

pi -e ./index.ts

Credits

License

MIT