2020-01-16 18:19:57
https://en.wikipedia.org/wiki/Shadowsocks
For the purpose of privacy on channels. It has been suggested that this is a commonly used package.
GitHub
2020-01-16 18:20:58
As a way to uses socks5 proxy of Snowblossom Channels only for http://snowblossom.io sites
GitHub
2020-01-16 18:27:42
For outbound connections, using tor is relatively easy:
Make sure to use tor socks5 proxy (with dns from socks)
For inbound on static hidden services it is easy:
Answer on the port, let tor bring the traffic in. Set the hostname in the config.
Tor also supports making ephemeral hidden services, which is what most nodes will want to use. Easier on sys admin, and changes as people restart which is always fun. However, to use them I think we will need to have something talk to tor service control port.
But maybe the socks5 open a listen thing can do it? Not sure.
Needs to be investigated.
GitHub
2020-01-16 18:28:09
[snowblossomcoin/channels] Issue opened by fireduck64
GitHub
2020-01-16 18:47:42
i'd not be terribly surprised if there is a burst of russian users after that is confirmed to work
Rotonen
2020-01-16 18:48:33
see also: cyberpunk 2020
Rotonen
2020-01-16 18:50:11
yeah
Fireduck
2020-01-16 18:57:38
I need to setup some onion seed nodes and should I do that with snowblossom as well? It all gets very complex. :wink:
Fireduck
2020-01-16 20:58:32
*https://github.com/snowblossomcoin/snowblossom/compare/ccd66aeb0f4d...1f0dd21ceb91*
https://github.com/snowblossomcoin/snowblossom/commit/1f0dd21ceb911b3d4adf90fce370ca9d599d5c6e - Switch usePlaintext to what is used in newer versions of grpc
GitHub
2020-01-16 20:59:45
It appears that grpc does not support socks5 properly, though it should
Fireduck
2020-01-16 20:59:47
https://github.com/grpc/grpc-java/issues/5600 Please answer these questions before submitting your issue.
*What version of gRPC are you using?*
I have been using 1.16.1 version. Now upgraded to 1.20.0 version.
The machine where am running the client side ie, ManagedChannelBuilder.forTarget(serveraddress) call is used is proxy enabled.
I get an error saying "Channel closed while trying to CONNECT through proxy"
I can read the proxy address from environment variable http_proxy.
For example : http_proxy="10.9.3.2.9090" and my target Address = "10.45.6.1:7070" (ie grpc server is running on another machine)
How do i make the grpc allow this proxy and send request to the target Address.
*What did you expect to see?*
I need a sample example. I see a proxydetector that is available but not sure about the usage of it since the method takes a single address.
I am new to grpc. Need help.
Fireduck
2020-01-16 21:00:50
*https://github.com/snowblossomcoin/snowblossom/compare/1f0dd21ceb91...413cfa686398*
https://github.com/snowblossomcoin/snowblossom/commit/413cfa6863986f219f55325d18242c95e1540a4b - Switch usePlaintext to what is used in newer versions of grpc
GitHub
2020-01-16 21:24:28
https://github.com/grpc/grpc-java/issues/6613 *What version of gRPC-Java are you using?*
Latest from master: https://github.com/grpc/grpc-java/commit/b8474d61c966f60cc0bad4e5abaca351e90afc9d
*What is your environment?*
Linux 5.0.0-37-generic
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-0ubuntu1~18.04.1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
bazel version
Build label: 2.0.0
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Dec 19 12:30:18 2019 (1576758618)
Build timestamp: 1576758618
Build timestamp as int: 1576758618
*What did you expect to see?*
I expected gRPC to respect system properties:
socksProxyHost
socksProxyPort
and use socks to connect to remote hosts
*What did you see instead?*
gRPC appears to send HTTP proxy commands (rather than SOCKS) commands
*Steps to reproduce the bug*
java -DsocksProxyHost=localhost -DsocksProxyPort=9112
For a socks proxy, you can use tor or ssh -D for a simple setup.
Or in fact, nc -l -k 9112
Example log from nc:
CONNECT http://snow-a.1209k.com:2348 HTTP/1.1
host: http://snow-a.1209k.com:2348
CONNECT http://snow-de1.snowblossom.org:443 HTTP/1.1
host: http://snow-de1.snowblossom.org:443
CONNECT http://snow-a.1209k.com:2338 HTTP/1.1
host: http://snow-a.1209k.com:2338
CONNECT http://snow-tx1.snowblossom.org:2348 HTTP/1.1
host: http://snow-tx1.snowblossom.org:2348
CONNECT http://snow-tx1.snowblossom.org:2338 HTTP/1.1
host: http://snow-tx1.snowblossom.org:2338
CONNECT http://snow-tx1.snowblossom.org:80 HTTP/1.1
host: http://snow-tx1.snowblossom.org:80
Note: those ports and hosts are what I am trying to connect to with gRPC. Something that starts with the string "CONNECT" is an HTTP proxy command, not a SOCKS command. SOCKS uses a binary protocol and expects the first byte to be the SOCKS version.
If I use tor, it gives the following error:
Jan 16 13:05:06.000 [warn] Socks version 67 not recognized. (This port is not an HTTP proxy; did you want to use HTTPTunnelPort?)
67 = 'C', which is not surprising since gRPC is attempting to send "CONNECT".
When java is configured as above:
java -DsocksProxyHost=localhost -DsocksProxyPort=9112
(and pointed to a real SOCKS proxy rather than nc) parts of my program that just java.net.URL connection work properly (using the proxy).
This seems to be a repeat of https://github.com/grpc/grpc-java/issues/5600, but I am certain this isn't a proxy configuration problem.
Fireduck
2020-01-16 21:24:42
now we can do a few rounds them telling me I am dumb...
Fireduck
2020-01-16 22:36:12
*https://github.com/snowblossomcoin/channels/compare/814d9fdd15db...61ae6f40f8f4*
https://github.com/snowblossomcoin/channels/commit/61ae6f40f8f450be0836932a41bea1ff1df21a51 - Update to latest grpc, start building tor/onion support
GitHub