yggdrasil-android icon indicating copy to clipboard operation
yggdrasil-android copied to clipboard

Socks Mode

Open cwchristerw opened this issue 2 years ago • 7 comments

Similarly to Orbot, I would like to be able to keep my connection to VPN that provides Internet but at the same time, its important that I could connect to Yggdrasil with some apps that can use Socks proxy.

cwchristerw avatar Aug 13 '21 08:08 cwchristerw

I have slight experience in mobile app development and I'm interested in trying to implement this.

cwchristerw avatar Aug 13 '21 08:08 cwchristerw

The main problem is that, in order to do this in a way that allows you to actually talk to other regular Yggdrasil nodes, it requires basically implementing a full IP stack and TCP implementation so that you can create TCP sessions over Ygg for your SOCKS proxy requests. We definitely don’t want that amount of overhead or responsibility.

neilalexander avatar Aug 13 '21 18:08 neilalexander

The main problem is that, in order to do this in a way that allows you to actually talk to other regular Yggdrasil nodes, it requires basically implementing a full IP stack and TCP implementation so that you can create TCP sessions over Ygg for your SOCKS proxy requests. We definitely don’t want that amount of overhead or responsibility.

Does this mean their will be no proxy support at all for the android client?

flikites avatar Jan 12 '23 23:01 flikites

Does this mean there will be no proxy support at all for the android client?

It isn’t clear to me why you’d want proxy support when we already support tunnelling IP normally? What benefit does it provide?

neilalexander avatar Jan 12 '23 23:01 neilalexander

Hey thanks for the quick response. 

The only reason I would currently want it is to run my LetsDane Handshake proxy. 

I just confirmed through my experiments that yggdrasil is compatible with Handshake Domains (https://handshake.org) in order for us to get DANE authentication on Handshake names hosted on yggdrasil (or anywhere) the client needs to be able to use the LetsDane proxy. (HTTP PROXY - Not Socks)

https://github.com/buffrr/letsdane

Stateless DANE clients are still being discussed within the Handshake community, so for now proxy support is required, at least locally. 

https://github.com/handshake-org/HIPs/pull/54

If you would like to test out Handshake Domain resolution without SSL/DANE support you can visit this name (http://peers.wrex) while connected to yggdrasil along with one of these DNS servers. 

139.144.68.241

139.144.68.242

Source: https://hnsdns.com/

I will work on getting a Handshake enabled DNS server hosted on a Yggdrasil IP and add it to services page.

flikites avatar Jan 12 '23 23:01 flikites

@neilalexander setting the letsdane proxy at the network adapter level seems to work just fine in conjunction with the yggdrasil android app.

flikites avatar Jan 13 '23 18:01 flikites

Try Yggstack - for me it works nicely in Termux.

basilgello avatar Nov 28 '23 15:11 basilgello