Skip to content
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

Networking Enhancements (Proxy and IPv4/6 switches) #100

Open
SirHumphreyAppleby opened this issue Dec 13, 2014 · 2 comments
Open

Networking Enhancements (Proxy and IPv4/6 switches) #100

SirHumphreyAppleby opened this issue Dec 13, 2014 · 2 comments

Comments

@SirHumphreyAppleby
Copy link

I would like to see some enhancements made to Cyphertite to support proxies, SOCKS in particular, and to force the selection of IPv4/IPv6.

I have managed to get Cyphertite uploading from New Zealand at a (almost) usable speed by forcing Cyphertite through a US-based SOCKS proxy. I have observed this behaviour on Linux using tun2socks, and on Windows using ProxyCap. Adding a SOCKS option would simplify the setup.

Currently I am seeing >700K/s for uploads, which is significantly better than the 200K/s I was getting without using SOCKS on a 200Mb/s symmetric connection. My VPS is in California, and I am contemplating trying one in Chicago to see if I can squeeze a little more speed out of the service.

Adding a switch for IPv4/IPv6 would also be beneficial. Currently I do not have native IPv6, so all IPv6 data goes through a much slower tunneling service and I would like Cyphertite to use IPv4 exclusively. Previously I was on a limited IPv4 connection, with unmetered IPv6, so the ability to specify either would offer the most flexibility for those who need it.

@SirHumphreyAppleby SirHumphreyAppleby changed the title Networing Enhancements (Proxy and IPv4/6 switches) Networking Enhancements (Proxy and IPv4/6 switches) Dec 13, 2014
@csmiken
Copy link

csmiken commented Dec 16, 2014

Noted, we will review this for future releases.

@SirHumphreyAppleby
Copy link
Author

A quick update. Using a SOCKS proxy in Chicago appears to have further improved seed.

Adding an IPv4/IPv6 switch requires changes to libassl which is hard coded to use AF_UNSPEC. In case anyone else is searching for a solution, edit assl/assl.c, and in assl_connect_opts change...

hints.ai_family = AF_UNSPEC;

to...

hints.ai_family = AF_INET;

Or AF_INET6 to force IPv6.

Recompile and install using ct_install.sh. This change causes libassl to only request IPv4 addresses when resolving hostnames.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants