Pages

Monday, 6 April 2020

Linux桌面系统上的全局proxy程序JellyAP

Create a WiFi AP with transparent proxy quickly。

The name

I love jellyfish.
And it is almost transparent. 

Usage

git clone https://github.com/7sDream/jellyap
cd jellyap
chmod 755 jellyap.sh
./jellyap.sh
will let you into a wizard:
Or if you already know what network interface should be used, run this:
./jellyap.sh eth0 wlan0 NAME PASSWORD no
The 5th argument no means don't enable shadowsocks relay, you can turn on it by value yes

Enable shadowsocks transparent proxy

With wizard:
With arguments:
Argument order:
WAN LAN AP_NAME AP_PASSWORD yes SS_ADDR SS_PORT SS_PASSWORD SS_METHOD SS_LOCAL_PORT

Connection test

You see, just connect the WiFi we create, without any configure or other apps, we already behind a transparent proxy.
Speed depends on your shadowsocks connection and local network quality, in my test, it can run out of all my WAN bandwidth
My test machines:
  • Shadowsocks server: 1 CPU, 500M RAM, 1000M Bandwidth, DightalOcean, SGP
  • Local shadowsocks client: i7-4500U, 8G RAM, 10M Bandwidth, TianJin, China
  • WiFi client: Oneplus 3, Android 7.1.1, OxygenOS
Result:

Dependencies

  • hostapd
  • dnsmasq
  • nmcli (network-manager)
  • rfkill (rfkill)
  • ip (iproute2)
  • iptables
  • shadowsocks-libev (if enable shadowsocks relay, AP as a transparent proxy)
  • run as root

Configure

just open jellyap.sh, find the [User configure] section(line 24).
read the comment and you know how to configure this script.