shadowsocks / shadowsocks-iOS

Removed according to regulations.
8.18k stars 3.49k forks source link

Adopting iOS 9 network extension points #124

Open clowwindy opened 9 years ago

clowwindy commented 9 years ago

Network extension points: Use the Packet Tunnel Provider extension point to implement the client side of a custom VPN tunneling protocol. Use the App Proxy Provider extension point to implement the client side of a custom transparent network proxy protocol. Use the Filter Data Provider and the Filter Control Provider extension points to implement dynamic, on-device network content filtering. Each of the network extension points requires special permission from Apple.

chrisballinger commented 8 years ago

@clowwindy @linusyang @conradev

Are you saying rewrite tun2socks from scratch, or just rip out portions of it for a partial rewrite? Either way we will also be working on this problem for our iOS 9 Tor VPN effort, and would love to work together where possible.

tredds commented 8 years ago

@angelovAlex It worked. Thanks man!

clowwindy commented 8 years ago

@chrisballinger Actually tun2socks didn't do much work. It's lwip that's doing the magic. So I'm thinking about writing a tun2shadowsocks directly based on lwip and GCD, it would not only be easier but save a lot of sockets and RAM. (We can save 66.7% file descriptors).

BTW: As I tested to find out, the max open files limit is around 2549 in a PacketTunnelProvider extension.

chrisballinger commented 8 years ago

@clowwindy Awesome! Any chance of using BSD, MIT, or MPL 2.0 for that so we can ship it with the Tor VPN? ;)

clowwindy commented 8 years ago

@chrisballinger Oh, I meant I would build Shadowsocks directly on lwip. It will be an adapter from a tun device to a Shadowsocks protocol client, without implementing Socks5 protocol.

It turns out that lwip's API is very easy to use. tun2socks.c has demonstrated how to create a tcp listener on a virtual interface and how to operate on connections, etc. Apart from code that reads the command line arguments, it's only a few hundreds lines. We can just fit these code in Shadowsocks or Tor's event loop and bridge them together.

I'll update when I've made any progress.

chrisballinger commented 8 years ago

@clowwindy Ah ok, that's great news. Thank you for all of your amazing work on shadowsocks!

birajendunetskope commented 8 years ago

Installed Xcode 7 beta 4 in Yosomite, not getting NetworkExtension template in XCODE. /System/Library/Frameworks/NetworkExtension.framework/Versions/A/Resources/NEProviderTargetTemplates.pkg is not present in my system too!

clowwindy commented 8 years ago

*

*

I believe you guys will make great stuff with Network Extensions.

Cheers!

hankbao commented 8 years ago

Thanks so much for providing such great software.

jtraviss commented 8 years ago

I hope one day I'll live in a country where I have freedom to write any code I like without fearing.

ytf4425 commented 8 years ago

Love you

XinoAssassin commented 8 years ago

Thank you

ProgramCaiCai commented 8 years ago

Thank you

mthli commented 8 years ago

Thanks again.

Rand01ph commented 8 years ago

Thank you

RobertYim commented 8 years ago

take care

aisuika commented 8 years ago

Thank you

GhostFlying commented 8 years ago

Thank you and take care.

AnthraX1 commented 8 years ago

What do you mean you have no choice? Which law forbid you from writing software?

PeterCxy commented 8 years ago

@AnthraX1 the network safety law.

Incises commented 8 years ago

Thank you.

ghost commented 8 years ago

Thank You.

cnbeining commented 8 years ago

I hope one day I'll live in a country where I have freedom to write any code I like without fearing.

Thank you.

https://web.archive.org/web/20150822042959/https://github.com/shadowsocks/shadowsocks-iOS/issues/124

Lest We Forget.

yangyaofei commented 8 years ago

thank you

pinyin commented 8 years ago

Thank you.

tangentyh commented 8 years ago

Thank you.

billzbc commented 8 years ago

Thank you. 保重

hilen commented 8 years ago

Love you

betta-cyber commented 8 years ago

thank you

xiaokangwang commented 8 years ago

Thank you!

braveguywallce commented 8 years ago

Thank you!

jlsandri commented 8 years ago

Thank you.

jiyee commented 8 years ago

Thank you.

tvvocold commented 8 years ago

Thank you and take care.

qinix commented 8 years ago

Thank you.

nathanleclaire commented 8 years ago

Good luck @clowwindy :(

gzmask commented 8 years ago

理解你的感受。我选择了离开。虽然不舍得,但是有些事情实在无法忍受。

sidcool1234 commented 8 years ago

Let us know if we can do anything for you, @clowwindy

excelle08 commented 8 years ago

Long long live shadowsocks Thanks, and good luck

xxx7xxxx commented 8 years ago

take care of yourself

Anthonyeef commented 8 years ago

Thank you.

fangwangme commented 8 years ago

Thank you.

vicentory commented 8 years ago

take care

flaneur2020 commented 8 years ago

thank you

laserroger commented 8 years ago

thank you

On Aug 22, 2015, at 11:17, clowwindy notifications@github.com wrote:

Two days ago the police came to me and wanted me to stop working on this. Today they asked me to delete all the code from GitHub. I have no choice but to obey.

I hope one day I'll live in a country where I have freedom to write any code I like without fearing.

I believe you guys will make great stuff with Network Extensions.

Cheers!

— Reply to this email directly or view it on GitHub.

fanzeyi commented 8 years ago

Thank you.

Wingie commented 8 years ago

thank you

TingjieGuo commented 8 years ago

Thanks with all my heart. We all miss you.

Cee commented 8 years ago

Thank you!

fenjuly commented 8 years ago

Thank you!