HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
cretz
bine
Go2018–2021
cretz / bine

bine

Go library for accessing and embedding Tor clients and servers

2Distinct people
20Mentions
0Explicit recommenders
826GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Go library for accessing and embedding Tor clients and servers

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 8:03:49 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year20 dated mentions

Observed mentions: 2018-05-11 16:20:48 UTC to 2021-08-31 18:56:43 UTC.

0369122018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 12 mentions; 2 submissions, 10 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC12210
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC505
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303

What Hacker News says

12 sources
For anyone curious, v3 is the 32-byte ed25519 pub key, then the first two bytes of the SHA3-256 hash of the key (w/ prepended fixed string and one byte appended), then one more const byte, and then all of those 35 bytes are base 32'd to make 56 chars. Some Go code to illustrate: https://github.com/cretz/bine/blob/f33268f0843a1b2b131a4cacf.... One benefit being that the entire pub key is right there in the hostname.
In Popular dark-web hosting provider hacked, 6,500 sites down
Onion (née hidden) services are easily hosted from any computer, even behind a NAT/ISP due to how it publishes its descriptor and relies on reachable relays for rendezvous. It's easy with the Tor executable and a torrc file, there are plenty of guides out there. Even though you're new to all this, for others wanting to do this programmatically, there is Stem for Python and I've written one for Go [0]. It's such an easy self-hosting NAT traversal technique, I'm surprised it's not used more often in situations not requiring great bandwidth/latency (e.g. p2p chat). 0 - https://github.com/cretz/bine
In Popular dark-web hosting provider hacked, 6,500 sites down
Tempted to make a version of this myself because it's simple. Single file executable, with statically linked Tor, that starts a v3 onion service (with or without client auth), hosts web server with file at URL, gives onion address URL (and client auth if any, could include the as part of URL or URL fragment or whatever depending upon approach desired). Client can use exe or Tor Browser to download it. Could add any features you want such as killing the server after first download, deadlines, etc. Pro: doesn't upload to server and preserves anonymity. Con: slower than non-anonymous. Here's a simple code example of a v2 onion file server using external Tor process w/ no auth: https://github.com/cretz/bine#example. This is essentially what onionshare does: https://github.com/micahflee/onionshare.
In Show HN: CryptSend.io – Share encrypted files with randomly generated links
This is a good feature. Still, appears you are hitting Cloudflare first via an exit. I would say if whatever service you are using has its own onion, use that instead. I assume the way Cloudflare is determining if I am using Tor is by doing an IP lookup match w/ known exits? I would expect this feature would reduce bandwidth on the exit nodes which is great for decentralization. However, if you weren't to trust Cloudflare, this could be bad as its now opening up a central company to route traffic for Cloudflare customers, making it a central location for traffic analysis attacks (again, if you don't trust Cloudflare). At least exit nodes are a bit more distributed (but not much as there are still a very limited number, and you have to trust them too). Also, since OnionBalance doesn't support v3 services yet, what is Cloudflare using behin
Read the rest
d those onion services to make them HA? Or are they each running on single machines acting as gateways that load balance after that? Also, count me as one of those people that don't see much value DV certs have for onion services. A v3 onion is itself proof you have the ed25519 private key, so DV adds little on an identity and encryption front. EV has extra identity verification of course. I've read the EFF mailing list post in justification, and I'd say if features of TLS are a requirement (e.g. benefits of HTTPS), you might as well allow self-signed certs instead of having people use a CA. Granted, it's fairly harmless to allow DV for onion services, I just don't want to see it become the norm for HTTP-based onion services via promotion of the concept. Shameless plug, here's a toolkit to create your own onion services easily in just a few lines: https://github.com/cretz/bine (including non-anonymous mode like the CF onion services). You can fire one up for your own site and give it as an HTTP alt svc.
In Introducing the Cloudflare Onion Service
You and I must have like minds. I have even created an anon DHT PoC [0], conceptualized how the messaging might work [1], made a lib to use Tor easier since it's the best anon nat buster these days [2], began toying with a superset of reddit/slack/forums/etc (some grpc files at [3] and some impl in that same repo), and a bunch of other small things in order to arrive at this final destination. 0 - https://github.com/cretz/tor-dht-poc 1 - https://github.com/cretz/software-ideas/issues/6 2 - https://github.com/cretz/bine 3 - https://github.com/cretz/yukup/tree/master/yukup/pb/proto
In Leaked white paper proposes U.S. Congressional regulation of social media
In a big company blog post like this, I wish they'd call them onion services instead of hidden services, especially since they are even using a v3 onion service. Also, curious if they wrote any code to support this since OnionBalance doesn't support v3 yet. I know they use Go a lot and I wrote a Tor control client myself recently [0]. 0 - https://github.com/cretz/bine
In Introducing DNS Resolver for Tor
> There is now a documented stable API for programs that need to embed Tor. This is a nice feature. It's just a wrapper around main and CLI args, but lets us statically link it. I just built a Go project[0] that supports this API in statically compiled Tor[1]. > The control port now supports commands and events for v3 onion services. This is also awesome as v3 services publish much faster. I can create an ephemeral v3 service and have it published in a few seconds as opposed to many seconds with v2. Granted the name is way longer because it embeds an entire ed25519 pub key in there, but it's worth it. There are many other internal benefits of v3 too. 0 - https://github.com/cretz/bine 1 - https://github.com/cretz/tor-static
In Tor 0.3.3.6 released
Like everyone else, I'm building one. But I'm not hung up on distributed storage or any of that. It's just a simple way for people to host social network rooms from their always-on home computers if they want. The gist: app w/ statically compiled Tor (separate lib started at [0]), room config flexible enough to build different social network types, communicate via gRPC over Tor onion services (protos at [1]), and make it so dead simple that it just works (mobile remotes to home onion service). I think people are worrying so much about network and storage and uptime for ephemeral machines that they are missing the forest for the trees here. Just get a decent platform and iterate from there. At first, you don't have to federate, conform to a protocol, distribute data, etc. But if you are building these things, why not at least offer anonymi
Read the rest
In $1M to build decentralized social networks

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.