"Cooked" onion service APIs
Projects embedding Arti need higher level onion svc APIs
2024-04-04 19:06:36 gabi I wonder if we need a more cooked API for all of this.. Let us know what you come up with
2024-04-04 19:06:48 gabi maybe it's something that belongs in arti
2024-04-04 19:06:59 +richard it's a lot lower level then i was expecting but i think i can make it work
2024-04-04 19:07:06 gabi yeah, it's very fiddly :/
2024-04-04 19:07:10 +richard oh one final q!
2024-04-04 19:07:22 +richard how do we map 'nicknames' to Keystore arti_path's ?
2024-04-04 19:07:37 +richard or rather where do i need to go look to find that
2024-04-04 19:09:02 gabi arti reads the service nickname from the config. In the example config, you have sections like [onion_services."allium-cepa"], where "allium-cepa" is the nickname
2024-04-04 19:09:56 gabi in the code that's OnionServiceConfig::nickname
2024-04-04 19:10:12 +dan_b yeah as per the cwtch connectivity package, we mistly just need bootstrap(), restart(), open() listen() both of the last two just returning sockets we can work with
2024-04-04 19:10:31 +dan_b and like shutdown() lol
2024-04-04 19:10:42 +dan_b we had managed tor by generating torrcs
2024-04-04 19:10:55 gabi the nickname is just an arbitrary string with a restricted charset. We use that to build the ArtiPath of each key (an ArtiPath is a string that identifies a key. We also use it to build the on-disk paths)
2024-04-04 19:11:19 +dan_b but all that has by default is: SocksPort, OnionTrafficOnly, ControlPort, and HashedControlPassword
2024-04-04 19:11:52 gabi bootstrap(), restart(), open() listen()> what would listen() return? The stream and the local socket it needs to be forwarded to?
2024-04-04 19:11:58 +dan_b so yeah we'd give a thumbs up to a pretty higher level API 👍
2024-04-04 19:12:07 gabi ack
2024-04-04 19:12:43 gabi s/what would listen() return/what would the stream returned by listen() return
2024-04-04 19:12:44 +dan_b our ListenService interface that just has Accept() -> net.Conn and Close()
2024-04-04 19:12:58 +dan_b and Open return a socket
2024-04-04 19:13:02 +dan_b https://git.openprivacy.ca/openprivacy/connectivity/src/branch/master/acn.go
2024-04-04 19:13:09 +dan_b there's the two interfaces
2024-04-04 19:13:27 +dan_b we run cwtch on top of that, and then have the bine/tor implementation providing that
2024-04-04 19:14:32 gabi I see. I'll open a ticket...