pi-tor-proxy
Self-contained Pi extension to route all requests through Tor - auto-downloads and manages Tor binary
Package details
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
- First time you run
/tor-start, it downloads the Tor expert bundle (~30MB) fromarchive.torproject.org - Tor binary is stored in the extension's
.tor/directory - Starts Tor and waits for it to bootstrap (typically 10-15 seconds)
- Sets proxy environment variables that most HTTP clients respect
- 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:9050HTTPS_PROXY=socks5h://127.0.0.1:9050ALL_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
- The Tor Project - for the Tor software
- pi-coding-agent - for the extension API