tor2web / Tor2web

Tor2web is an HTTP proxy software that enables access to Tor Hidden Services by mean of common web browsers
https://www.tor2web.org
GNU Affero General Public License v3.0
700 stars 177 forks source link

OnionFlare support in Tor2web #228

Open fpietrosanti opened 9 years ago

fpietrosanti commented 9 years ago

This ticket is to integrate an OnionFlare[1] functionality within Tor2web.

The idea is to enable anyone to "Onionify" it's existing internet website by enabling a Onion->Internet proxy service.

The OnionFlare service must support loading up at minimum 10.000 Tor Hidden Services.

The OnionFlare service, from a Tor2web perspective, shall enable a pre-authenticated machine to machine configuration of a Tor Hidden Service (e.g. using a REST API) and web-driven service.

The web driven service must support authenticating the user requesting the "onionification" of the internet-site, by giving a token to be loaded on https://internetiste.org/token.html .

This ticket require first identifying and fixing Tor performance issue in loading 10.000 Tor Hidden Services described at https://trac.torproject.org/projects/tor/ticket/15251

This ticket, as suggested by @virgil, require also supporting for Performance issue TorHS without location anonymity per ticket "Enable exposing a Tor HS without Location Anonymity (-3 hops)" https://trac.torproject.org/projects/tor/ticket/15271

The loading of the TorHS descriptors shall be entirely managed trough the new feature https://trac.torproject.org/projects/tor/ticket/6411 that's now supported in Tor 0.2.7-alpha, with TxTorcon support.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9512962-onionflare-support-in-tor2web?utm_campaign=plugin&utm_content=tracker%2F318575&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F318575&utm_medium=issues&utm_source=github).
DonnchaC commented 9 years ago

A vhost-like system could be implemented in Tor2Web as an alternative to running thousands (potentially low traffic) hidden services.

The "OnionFlare" service would run a single or small number of real hidden services. Tor2Web would then publish a separate descriptor under an individual key for each onion service. All of these onion services would use the same set of introduction point which were selected by the actually running hidden service.

This would allow users to route to a single hidden service (like 1 IP) from multiple onion addresses (like vhosts), allowing a large number of unique onion services with low overhead. This type of introduction point republishing is similar to the strategy implemented in OnionBalance.

Tor2Web could then route the HTTP requests to the correct backend website at the application level by inspecting the HTTP Host header.