Skip to main content

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:

Install in Goose

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

  1. Sites are stored in ~/.torreable/sites/
  2. Each site keeps its Tor private key, so the .onion address persists
  3. Publishing starts a local HTTP server and creates an ephemeral Tor hidden service
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torreable-0.2.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torreable-0.2.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

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

Hashes for torreable-0.2.0.tar.gz
Algorithm Hash digest
SHA256 392fa0aa84f22de62d9ca43ae2682fcf794327f6a382b093d899bfc1e83bbb39
MD5 43bbdddbea428065957b4a032a550570
BLAKE2b-256 2b2b40ef2ee9649d2209da1ea3ea4bc300dbaf29aacde38a53635554b77010aa

See more details on using hashes here.

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

Hashes for torreable-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a27eee4dc828e8d723bbebca7503464d3b8fa930a18ee4c2c56f8e94001beb27
MD5 76d97c8d4162bd725e01ae52e9be8650
BLAKE2b-256 ca94f8bd30d908d12f2dc0b898cd571d5f13a89c3ffe9e9754d95311e0664c87

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page