-
Notifications
You must be signed in to change notification settings - Fork 242
Add proxy and onion support for ckb-network
#4733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
fe5d648 to
e55f631
Compare
de239fd to
f9f0733
Compare
587e905 to
865759d
Compare
260c2fe to
c0f57bb
Compare
6169766 to
12e27f6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 45 out of 46 changed files in this pull request and generated 3 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
5574cc1 to
eab98b7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 45 out of 46 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
62c611c to
7b7eb12
Compare
Add Tor package installation to macOS and Windows CI workflows for Tor integration testing.
Add Go toolchain installation to macOS and Ubuntu CI workflows for building obfs4 proxy.
Add obfs4 submodule for obfuscation proxy support and Makefile targets for building obfs4proxy.
Add ckb-onion crate and torut dependency for Tor integration, and update tentacle dependencies.
Add NetworkAddresses struct to manage onion addresses alongside regular network addresses.
Add proxy module with URL validation for Tor proxy configuration and error handling.
Add onion service configuration options to network configuration for Tor integration.
Update network service builder to support proxy and onion service configuration.
Add ckb-onion crate for managing onion service integration with Tor network.
Update peer store to properly handle and store onion addresses for Tor network peers.
Update identify protocol to properly advertise and discover onion addresses for Tor network peers.
Update network state to manage public addresses including onion addresses for Tor integration.
Add onion service configuration options to network configuration and update ckb.toml template.
Signed-off-by: Eval EXEC <[email protected]>
Signed-off-by: Eval EXEC <[email protected]>
What problem does this PR solve?
This PR want to add socks5 proxy and onion support for ckb.
Add
network.proxyandnetwork.onionconfig:Start a tor server:
tor --SocksPort 9050 --ControlPort 9051, finaly, start the ckb node, ifnetwork.onion.listen_on_onionis true, it will auto connect to the tor server, and use tor control port to create onion service.Related changes
ProxyConfigandOnionConfigto network configsocks5://<username>:<password>@server_host:portonionckb node, and listen on the onion hidden networkckb-onion[network.proxy]via a normalsocks5proxyckb-onionrelated configuration's documentation inckb.tomlNote:
Need to setup promethues for tor process: https://gitlab.torproject.org/tpo/onion-services/onionprobe
Check List
Tests
Side effects
Release note