SOCKS5 proxy and Tor per account #4
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/socks5-proxy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
An account's connections can go through a SOCKS5 proxy or Tor. quackchat (moving to libtacky from upstream tacky) depends on this per-account feature, which upstream tacky had.
What changes
stream::socks5adds RFC 1928 CONNECT with RFC 1929 login. The target is named to the proxy (address type 3) and never resolved locally. The handshake runs inside the dial's step and stop. Reply codes map onto the dial's kinds, and a failure names the proxy.Config.proxyand the newtacky_stream_config_tfields: every candidate goes through the proxy, WebSocket included. Under a proxy the SRV endpoint skips both the SRV lookup and host-meta and dialsdomain:5222. Nothing falls back to a direct connection.net::socket::connect_viaandtacky_net_socket_new_viagive a host's own protocols the same path. The browser build refuses a proxy.stream connecttakes aproxykey andsocket::connecta-proxyoption. The session takes-proxy.tacky::http's spec takesproxy, which every dial of a transfer, redirects included, goes through. The one-call verbs take-proxy.account add/settakeproxy(socks5://[user:pass@]host:port) andtor. The store holds two nullable columns, added in place to older files.proxy.tclbuilds the route. Tor defaults to 127.0.0.1:9050, with a random login per account so each account gets its own circuits (IsolateSOCKSAuth).hosttransfer backend refuses such a transfer instead.unsupported-transportsand logged as missed, because ICE would carry media around the proxy. Direct file transfers lose the data channel and fall back to IBB.make gen-api, thewire.tcltyping fortor, and an RFC 1928 row infeatures.md.Gate run in the container on this branch
cargo test --features tacky-keyring/fast-kdf: every suite passes, includingcov_transportthis time.check-api,check-headersandcheck-native-neutralpass.make headersregeneratedtacky_ffi.h, and the DOAP file is unchanged.Not run
Merged into develop by hand as
b526f78b(feat/socks5-rc5 onto release/rc5), in v1.0.0-rc5 (d1cca8e5), with eight follow-up commits from the review (4ec68d20set dials after the commit and the route change ends calls,03d8b9f5transfer refuses on a route error,7b16862bproxy redacted,d437e329the proxy reject notifies a missed call,9f83c291register connect -proxy/-tor,e72c8827the data-channel feature follows the route,8e62aa6athe RFC 1929 version byte). The account.tcl conflict with rc5's PushConnectionColumns is resolved as one path: proxy and tor are connection columns, a route change restarts an enabled account once.Pull request closed