Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • The so-called "clearnet" www has suffered from "developers" hell bent on "scraping" and crawling to support their so-called "tech" companies. The situation has gotten worse with "AI" companies scraping and crawling for LLM "training data"

    These companies also attempt to create "walled gardens" to enable behavioral surveillance and ad targeting on pools of "logged in" users

    Many of these websites are hidden behind "CDNs" that try to force visitors to use surveillance and advertising-friendly web browsers, allegedly to protect them from those developers hell bent on scraping/crawling (who they refer to as "bots")

    The end result is that in _some cases_ it can actually be more difficult for me to do information retrieval from popular websites than from so-called "darknet" sites

    I prefer textmode to graphics (e.g., X11, etc.) and I'm not a fan of the so-called "modern" browser. As such, .onion sites are more user-friendly for me

    I like the design of using public keys, or portions thereof, as hostnames. No ICANN registrar "domain name business" and extortion from trademark holders

    The point is that regardless of what might be offered over the "darknet", its design actually makes it more accessible to me

    It supports commerce but there's no surveillance or ads so it's quick and efficient

    IMHO, this is what the "clearnet" www should be like, but isn't

  • Besides accessing your page are random people able to use your server as an exit node? Am I thinking the right thing... I met someone in Switzerland that was hosting anonymous exit nodes to some anonymous network and he said that it was a pain having to explain what was happening to the police.
  • What is the benefit of building the same website twice with different hostnames instead of using relative links to content on the same domain?
  • A few more tips.

    1. If you want to improve page load speed you need to buy a HTTPS certificate so you are not limited to HTTP/1.1. Multiplexing in HTTP/2 is important for getting sites to load fast.

    2. You can set the HiddenServiceExportCircuitID configuration to pass the circuit id to your web server for telemetry or anti abuse purposes. Otherwise your logs will say that all users are coming from the same IP.

    https://blog.cloudflare.com/cloudflare-onion-service

  • Besides using a separate port, I would also suggest running the hidden service on a non-127.0.0.1 bind address, just in case you ever host something else on that port and forget to disable the hidden service:

    > HiddenServicePort 80 127.13.37.1:8080

    > listen 127.13.37.1:8080;

    This way, strangers won't be able to connect to a service bound to 127.0.0.1, should you ever decide to re-use the port and forget to disable the hidden service.

    You'll also need to use separate ports and/or bind addresses if you host multiple hidden services and don't want people to correlate them - if nginx doesn't match the Host header, it will serve whichever site comes first alphabetically.

  • You probably want to add the Onion-Location header to the clearnet site so Tor Browser can automatically inform the visitor about it: https://community.torproject.org/onion-services/advanced/oni...
  • My personal website has been hosted on Tor for years. It's easy to do from your home even behind a NAT because it's an outgoing connection from your point of view (which also makes it a great way to expose local services even when you are behind a NAT and don't not have a static IP), and by design your personal IP is hidden from your visitors.

    I wrote about it in 2600 almost ten years ago (already?!). A copy of my article can be found here: https://pablorauzy.fr/outreach/2600/how-to-run-a-tor-hidden-...

    If you have an Onion copy of your website, don't forget the Onion-Location http header which will automatically redirect Tor Browser users to the onion version of the website even if they visit it at the clear web address.

    If it interests people, I also have a follow up article about I2P: https://pablorauzy.fr/outreach/2600/how-to-run-an-i2p-hidden...

  • What I really love about Onion sites is that if they are big enough, performance engineering really becomes Tor-specific. A few examples:

    - Making assets embedded as base64 (img src the header logo as base64, all CSS should be inline, etc.).

    - Leveraging CSS as much as possible (if you use animations and transitions, use CSS as much as possible for these, avoid JS for them).

    - Make sure your website is mostly rendered on the backend. If you're to have JS, your website should work without it.

    - Security becomes REALLY fun, as in, avoid XSS, CSRF, SQL Injection attacks and any other injections as much as possible.

    As someone summarizes in another comment[0], keep the chattiness as minimal as possible. By chattiness I understand they mean, pack as much data as you can in the same Keep-Alive connection. Avoid making new HTTP requests as much as possible, as each one might get assigned to a new Onion route making things slow.

    If you can ship your website to the browser in a single connection, you've won.

    I've always been impressed by performance of these big Onion sites, they really push the limits of software engineering creativity, given these constraints and nature of Tor.

    --

    [0]: https://news.ycombinator.com/item?id=49872320

    EDIT: Formatting of bullet points.

Explore Birbla archives