upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorNsable-sh <nsable-sh@noreply.git.bitflash.network>2026-08-13 11:11:59 -0300
committerNsable-sh <nsable-sh@noreply.git.bitflash.network>2026-08-13 11:11:59 -0300
commitd2b86473a267c960a1f0c012a983176e5d962187 (patch)
tree002423e5987a3c544f469befae83519ccb29fffb /README.md
parent851811b43be38bea48ba5d04d16987bd541dca53 (diff)
net: add signed direct onion peer endpoints
Diffstat (limited to 'README.md')
-rw-r--r--README.md26
1 files changed, 16 insertions, 10 deletions
diff --git a/README.md b/README.md
index e671302..181b6e8 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ Bitflash keeps Satoshi's original consensus rules and replaces two things:
22 22
23**RandomX proof of work.** Memory-hard algorithm used by Monero. A laptop competes equally with a server. ASICs and GPUs have no advantage. 23**RandomX proof of work.** Memory-hard algorithm used by Monero. A laptop competes equally with a server. ASICs and GPUs have no advantage.
24 24
25**Anonymous addressing.** Every node has a `.btf` address derived from its public key, similar to a Tor `.onion`. Nodes reach each other through encrypted rendezvous tunnels, so no port forwarding is needed and a node behind CGNAT works normally. 25**Anonymous addressing.** Every node has a `.btf` address derived from its public key, similar to a Tor `.onion`. Nodes reach each other through encrypted rendezvous tunnels by default, and can advertise a signed direct `.onion` endpoint for Tor peers.
26 26
27No premine. No ICO. 50 BTF per block, halving on schedule, 21M cap, ~2 minute blocks. 27No premine. No ICO. 50 BTF per block, halving on schedule, 21M cap, ~2 minute blocks.
28 28
@@ -30,14 +30,15 @@ No premine. No ICO. 50 BTF per block, halving on schedule, 21M cap, ~2 minute bl
30 30
31Worth being precise, because the difference matters if you are relying on it. 31Worth being precise, because the difference matters if you are relying on it.
32 32
33**A peer you reach over `.btf` does not learn your IP.** All outbound connections go through a rendezvous tunnel; there is no IP-based peer dialling left in the node. The relay forwards encrypted bytes and cannot read or alter them. 33**A peer you reach over `.btf` does not learn your IP.** Outbound peer discovery uses rendezvous tunnels by default. If both sides use Tor and the peer advertises a signed `.onion` endpoint, the node connects directly to that hidden service instead. In both cases the peer does not see your clearnet IP.
34 34
35**The rendezvous relay does see your IP.** It has to — it is the thing your TCP connection terminates on. Relays are run by volunteers, so treat that as a party who knows you are on the network. 35**The rendezvous relay sees your IP unless you use Tor.** It has to — it is the thing your TCP connection terminates on. With `-tor`, the relay sees Tor instead. With a signed direct `.onion` peer endpoint, the relay is not on that connection path at all.
36 36
37**The node still listens on 8433.** Nothing dials by IP any more, but the listener is still there, so anyone who already knows your address and can reach that port may connect directly. If that matters to you, firewall it. 37**The node still listens on 8433.** Nothing dials by IP any more, but the listener is still there, so anyone who already knows your address and can reach that port may connect directly. If that matters to you, firewall it.
38 38
39This is unlinkability between peers, not anonymity against a network observer. 39This is unlinkability between peers, not anonymity against a network observer.
40For Tor routing, start the node with `-tor`; see [Tor mode](docs/tor.md). 40For Tor routing and direct onion peer endpoints, start the node with `-tor`;
41see [Tor mode](docs/tor.md).
41For a plain SOCKS5 proxy without Tor-specific defaults, use 42For a plain SOCKS5 proxy without Tor-specific defaults, use
42`-socks=HOST:PORT`. 43`-socks=HOST:PORT`.
43 44
@@ -336,8 +337,9 @@ Other options worth knowing:
336```bash 337```bash
337-datadir=PATH # wallet and chain data elsewhere 338-datadir=PATH # wallet and chain data elsewhere
338-port=N # P2P listen port, default 8433 339-port=N # P2P listen port, default 8433
339-socks=HOST:PORT # SOCKS5 for outbound Nostr and .btf rendezvous dials 340-socks=HOST:PORT # SOCKS5 for outbound Nostr, .btf relay, and onion peer dials
340-tor[=HOST:PORT] # Tor mode; default local Tor SOCKS5 proxy is 127.0.0.1:9050 341-tor[=HOST:PORT] # Tor mode; default local Tor SOCKS5 proxy is 127.0.0.1:9050
342-onionservice=HOST.onion:PORT # advertise this node's Tor hidden service
341-debug # verbose log; without it debug.log is nearly silent 343-debug # verbose log; without it debug.log is nearly silent
342-help # full list 344-help # full list
343``` 345```
@@ -346,15 +348,19 @@ Other options worth knowing:
346needed — the data directory takes an exclusive lock, so a second node pointed at 348needed — the data directory takes an exclusive lock, so a second node pointed at
347the same one will refuse to start. 349the same one will refuse to start.
348 350
349`-socks=127.0.0.1:9050` routes outbound Nostr discovery and `.btf` rendezvous 351`-socks=127.0.0.1:9050` routes outbound Nostr discovery, `.btf` rendezvous
350dials through a local SOCKS5 proxy such as Tor. When it is set, the node skips 352dials, and direct `.onion` peer dials through a local SOCKS5 proxy such as Tor.
353When it is set, the node skips
351plain HTTP external-IP probes instead of leaking a direct request outside the 354plain HTTP external-IP probes instead of leaking a direct request outside the
352proxy. IPv6 proxy endpoints use brackets, for example `-socks=[::1]:9050`. 355proxy. IPv6 proxy endpoints use brackets, for example `-socks=[::1]:9050`.
353 356
354`-tor` is a privacy shorthand for the usual local Tor SOCKS5 listener at 357`-tor` is a privacy shorthand for the usual local Tor SOCKS5 listener at
355`127.0.0.1:9050`. It routes outbound Nostr discovery and `.btf` rendezvous 358`127.0.0.1:9050`. It routes outbound Nostr discovery, `.btf` rendezvous dials,
356dials through Tor, refuses direct `.onion` resolution, and keeps external-IP 359and signed direct `.onion` peer dials through Tor, and keeps external-IP probes
357probes disabled. Use `-tor=HOST:PORT` when Tor listens somewhere else. 360disabled. Use `-tor=HOST:PORT` when Tor listens somewhere else. To make your own
361node reachable without a rendezvous relay, expose port `8433` as a Tor hidden
362service and pass `-onionservice=HOST.onion:8433`; peers with `-tor` will try it
363before falling back to rendezvous.
358 364
359### When something looks wrong 365### When something looks wrong
360 366