Publish static websites as Tor hidden services via MCP
Project description
Torreable
Publish static websites as Tor hidden services (.onion sites) via MCP.
Requirements
- Python 3.10+
- Tor running with control port enabled
Installing Tor
macOS:
brew install tor
brew services start tor
Linux:
apt install tor
systemctl start tor
Make sure Tor has a control port. Add to /etc/tor/torrc or ~/.torrc:
ControlPort 9051
Installation
Click the button to install:
Or install manually:
Go to Advanced settings -> Extensions -> Add custom extension. Name to your liking, use type STDIO, and set the command to uvx torreable. Click "Add Extension".
Tools
| Tool | Description |
|---|---|
create_site(name, directory) |
Register a static site |
preview(name) |
Local preview at localhost |
publish(name) |
Publish to Tor network |
unpublish(name) |
Take offline, keep address |
destroy(name) |
Delete site and address |
list_sites() |
Show all sites and status |
How it works
- Sites are stored in
~/.torreable/sites/ - Each site keeps its Tor private key, so the .onion address persists
- Publishing starts a local HTTP server and creates an ephemeral Tor hidden service
- Sites are only reachable while torreable is running
Example
> create_site("myblog", "/path/to/blog/dist")
Created site 'myblog' -> /path/to/blog/dist
> preview("myblog")
Preview running at http://localhost:52431
> publish("myblog")
Published at http://abc123...xyz.onion
> unpublish("myblog")
Unpublished 'myblog'. Address abc123...xyz.onion preserved for later.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file torreable-0.2.0.tar.gz.
File metadata
- Download URL: torreable-0.2.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
392fa0aa84f22de62d9ca43ae2682fcf794327f6a382b093d899bfc1e83bbb39
|
|
| MD5 |
43bbdddbea428065957b4a032a550570
|
|
| BLAKE2b-256 |
2b2b40ef2ee9649d2209da1ea3ea4bc300dbaf29aacde38a53635554b77010aa
|
File details
Details for the file torreable-0.2.0-py3-none-any.whl.
File metadata
- Download URL: torreable-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a27eee4dc828e8d723bbebca7503464d3b8fa930a18ee4c2c56f8e94001beb27
|
|
| MD5 |
76d97c8d4162bd725e01ae52e9be8650
|
|
| BLAKE2b-256 |
ca94f8bd30d908d12f2dc0b898cd571d5f13a89c3ffe9e9754d95311e0664c87
|