1. Pers.V2: The Version 2 onion address is persistent across TOR service restarts.
It is created when you create the [TOR Hidden Service]
2. NPers.V2: The Version 2 onion address changes at each restart of the TOR service.
A non persistent .onion address is generated by accessing an auto service (see above)
All the .V3 addresses referes to [.onion addresses version 3].
#### Case 1 c-lightning has a public IP address and no TOR hidden service address, but can connect to an onion address via a TOR socks 5 proxy.
Without a .onion address, the node won't be reachable through TOR by other nodes but it will
be able to connect to a TOR enabled node, passing the `connect` request through the TOR service
socks5 proxy. When the TOR service starts it creates a socks5 proxy which is by default at the address
127.0.0.1:9050.
If you launch `lightningd` with the option `--proxy=127.0.0.1:9050` you will be able to
connect to nodes with .onion address through the socks5 proxy.
If you want to `connect` to nodes ONLY via the TOR proxy, you have to add `--always-use-proxy` option.
You can announce your public IP address through the usual method:
`--bind-addr=internalIPAddress:port --announce-addr=externalIpAddress`if the node is into an
internal network
`--addr=externalIpAddress` if the node is not inside an internal network.
TIP: If you are unsure which of the two is suitable for you, find your internal
and external address and see if they match.
In linux:
Discover your external IP address with: `curl ipinfo.io/ip`
and your internal IP Address with: `p route get 1 | awk '{print $NF;exit}'`
If they match you can use the `--addr` command line option.
#### Case #2 c-lightning has a public IP address and a fixed TOR hidden service address that is persistent so that external users can connect to this node.
To have your external IP address and your .onion address announced, you use the
Other nodes will not be able to `connect` to you unless you communicate them how to reach you.
You will find your .onion address with the command `lightning-cli getinfo` and the other nodes will
be able to connect to it through the 9735 port.
#### Case #6 c-lightning has a public IP address and a fixed TOR V3 service address and a TOR V2 service address
You will be reachable via Clearnet, via TOR to the .onion V3 address and the .onion V2 address if this
last is communicated to the node that wants to connect with our node.
Once the .onion addresses have been created with the procedures oulined above,
to make your external IP address public you add: `--bind-addr=yourInternalAddress:port --announce-addr=yourexternalIPAddress:port`
To make your external .onion addresses public you add: `--bind-addr=yourInternalIPAddress:port --announce-addr=yourexternalIPAddress:port --announce-addr=.onionAddressV2:port --announce-addr=.onionAddressV3:port`
#### Case #7 c-lightning has no public IP address and a fixed TOR V3 service address and fixed TOR V2 service address a 3rd non persisten V2 address
External users can connect to this node by TOR V2 and V3 and a random V2 until next tor release, then also (V3 randomly).
The Persistent addresses can be created with the steps outlined above.
You are not obliged to announce the non persistent V2 address but if want to do it:
To make your external .onion address (V2 and V3) public you add: `--bind-addr=yourInternalIPAddress:port --announce-addr=your.onionAddressV2:port --announce-addr=your.onionAddressV3:port`
NOTE: if you want both of them public you can repeat the --announce-addr option. If your node is NOT inside an internal network you can use `--addr=external` instead.