Jigsaw-Code / outline-apps

Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.
https://getoutline.org/
Apache License 2.0
8.4k stars 1.36k forks source link

Client for wireless routers #133

Closed ghost closed 6 years ago

ghost commented 6 years ago

I suggest creating a client for wireless routers that at least supports DD-WRT and OpenWRT, the most common custom router firmwares.

ghost commented 6 years ago

Use shadowsocks-libev, you may need use base64 decoder to decode ss url. Outline client is for device with GUI, a client for CLI is too hard ( if not impossible ) for Electron.

But a simple client use ncurse or some other thing is OK. Manage multiple server with configuration file is boring.

ghost commented 6 years ago

@studentmain I would like it to redirect all traffic, including UDP traffic generated by router using tun2socks, instead of using transparent proxying. This requires a tun2socks build with Outline modifications to allow UDP redirection. I think the client simply needs a LuCI frontend for OpenWRT for GUI. DD-WRT version doesn't need a GUI.

ghost commented 6 years ago

@studentmain It would be cool to also have a pfSense/FreeBSD client. It doesn't need a GUI. Shadowsocks works under FreeBSD but I don't think tun2socks does.

ghost commented 6 years ago

Just keep thing simple, a nix client with ncurse 'gui'. Web UI can be optional. But, ummmm... I think we must do it ourselves... This project is for device with GUI, not for device which only have terminal. If you need client for nix now, you still can use ss-libev and ss-qt5 (which have a GUI). You said that you want traffic from router itself go through shadowsocks, maybe you need iptables to do some redirect.

Yegor Ievlev notifications@github.com 于 2018年6月17日周日 20:34写道:

@studentmain https://github.com/studentmain Would be cool to have pfSense/FreeBSD client. It doesn't need a GUI.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/Jigsaw-Code/outline-client/issues/133#issuecomment-397875900, or mute the thread https://github.com/notifications/unsubscribe-auth/AQVHEoF5Y2YPH_m2ohiPH03YVsBxEyvXks5t9ky7gaJpZM4UqbEH .

ghost commented 6 years ago

@studentmain Only tun2socks allows to redirect UDP traffic originating from the router. Using UDP transparent proxying doesn't allow that.

trevj commented 6 years ago

@YegorIevlev Thanks for using Outline and for your suggestion! We are open to new platforms but as @studentmain rightly points out, Electron is not going to run very well on a device like a router. I do think a Shadowsocks-powered router is a neat idea, though.

Mygod commented 6 years ago

Just to mention this is already possible: https://github.com/shadowsocks/luci-app-shadowsocks

Also possible: sharing VPNs with a rooted Android phone.

ghost commented 6 years ago

@Mygod This solution doesn't handle UDP traffic. Thanks for the link. I wanted to get a travel router because I didn't knew that an Android phone is enough.

Mygod commented 6 years ago

Assuming you're talking about luci-app-shadowsocks, README says you need to have iptables-mod-tproxy, ip to use UDP traffic.

ghost commented 6 years ago

@Mygod Thanks! This closes the issue.