Potatso icon indicating copy to clipboard operation
Potatso copied to clipboard

Add ipv6 support

Open itskeKs opened this issue 8 years ago • 9 comments

Hey @haxpor,

would it be possible to add ipv6 support?

Ty for the swift3 version btw. :)

Best,

Chris

itskeKs avatar Feb 07 '17 18:02 itskeKs

Hey thank you so much Chris for chiming in!

I believe you already tried to connect with server in ipv6 and it didn't work? I didn't know 100% in/out of Potatso's features as I came late to the game. Just want to make sure first.

haxpor avatar Feb 08 '17 13:02 haxpor

yes i tried it but tun2socks must be updated. idk if you are able to do that :) it includes lwip which needs to be updated to version 2 at least.

also there is a problem within potatso with DNS settings. if your wifi connection drops then potatso still uses the system DNS settings which it got from wifi even when youprovide custom dns like the one from google.

itskeKs avatar Feb 08 '17 13:02 itskeKs

Thank you for lighting me up. I marked this down with feature request first.

For DNS stuff, feel free to submit a separate issue.

haxpor avatar Feb 08 '17 14:02 haxpor

Just tried it. IPv6 working on Shadowsocks go version.

x0r2d2 avatar Feb 09 '17 08:02 x0r2d2

@hybtoy potatso forwards ipv6 requests to ss-go? or what do you mean? since everything within potatso is based on ipv4 that actually cant wirk?!

itskeKs avatar Feb 09 '17 09:02 itskeKs

@foguio I have a server with ipv6 and go version of shadowsocks is installed on it. I just checked if ipv6 is working on latest Potatso (Swift 3) that has been built from this repository.

    

x0r2d2 avatar Feb 09 '17 09:02 x0r2d2

@hybtoy thats also the way your ip is checked. you need to follow the logs of SS to see if there is any ipv6 request. but they wont be because tun2socks uses or is started with ipv4.

itskeKs avatar Feb 09 '17 13:02 itskeKs

Currently I do a little test on ipv6, when running potatso from a ipv6-only network (with DNS64/NAT64 support), it fails to connect to a ipv4 server. I do a little debug, and found the NE crashed when ss-local try to bind to 127.0.0.1, the bind() return -1 because in ipv6-only network, I think the ipv4 address is invalid. Of course there are many things to do, just look at the code, case "6" is totally empty. I found some documents to see, just mark: Apple's document about support ipv6 RFC4038: Application Aspects of IPv6 Transition.

happyfire avatar Apr 05 '17 07:04 happyfire

Right now T-Mobile force all the app use ipv6 only network. Let's see what we can do to support this featue.

jiangyancong avatar Apr 25 '17 09:04 jiangyancong