Open happyfire opened 7 years ago
Yes, TCP fast open supported. Anyway, I didn't look into it yet whether Potatso originally has code ready to support this. I think it's interesting to look into.
I tested by setting profile.fast_open = 1 and define TCP_FASTOPEN. After connected, the send will fail, the error no is 57, that is ENOTCONN. And from the ss server log, I can see:
got local error
[Errno 104] Connection reset by peer
edit: @haxpor I found the reason is the version of ss-libev in potatso is too low, the bug is already fixed in newer ss-libev, please update the ss-libev.
I agree. the shadowsocks-libev version is too low.
Upgrade the shadowsocks-libev version will help you support follow protocols. auth_sha1_v4 auth_aes128_md5 auth_aes128_sha1 you can see https://github.com/Potatso/ssr_obfs ,I don't know how to fix it.
@Jasoncoool and @happyfire Hey thank you for you both!. Big 👍, I will find time to do this.
i am trying to do this, but the version of ss-libev of potatso has large difference between the lastest version.... because i am new to ios, i am doing hard on it.
I have successful upgrade the SSR library to Commit 2670ab2 (https://github.com/shadowsocksr/shadowsocksr-libev/tree/2670ab26ddd63dd790ba6c35f57d4dd040dec194) which add support for new protocols and some new features.
I haven't test a lot yet, but I can tell you the fast-open is working fine with iPhone 7.
The code is still under testing now, and I will open a pull request after I finish the test. I think it might be very soon.
BTW, recently SSR people merge the cipher_env branch to the master, which causes a lot of problem during the code compiling process. I might upgrade that part later.
EDIT: I have upload code to my fork repo. (https://github.com/so898/Potatso/tree/Upgrade_SSR_Library) I think I have change too much part of the project. So I will spend more time to finish the job, then make a pull request.
@so898 Thanks. Does this also apply to SS as well for new protocols?
@haxpor I just check the code, the follow methods are not supported by the SSR-Lib in my branch: aes-128-gcm, aes-192-gcm, aes-256-gcm, chacha20-poly1305, chacha20-ietf-poly1305
I think the AEAD Ciphers is the Mygod way to do SSR feature in SS-Lib.
SIP004 was proposed by @Mygod with design inspirations from @wongsyrone, @Noisyfox and @breakwa11.
I think the SSR-Lib might not support these new SS protocols in the feature. Which means there will be a lot of coding and testing if we want to build all these SSR and SS protocols in Potatso. I do like the OBFS feature in SSR, so I would like to finish SSR features first, then I might spend some time try to find a way to deal with the new SS protocol.
Also need the new protrol auth_sha1_v4
of SSR.
SS Local in potatso seems support tcp fast open on mac osx, from ios9, tcp fast open is supported by apple, so can ss local support tcp fast open? Maybe need some change in code.