HTTP proxy server designed to circumvent the Great Firewall (GFW).
Python Other
Latest commit 90fbc0c Dec 28, 2016 @v3aqb v4.16
Permalink
Failed to load latest commit information.
Python27 bug fix Dec 28, 2016
fgfw-lite v4.16 Dec 28, 2016
.gitignore python3 compatible Dec 24, 2016
FWLite.exe change some filename Dec 21, 2015
FWLite.pyw update translate Oct 14, 2016
LICENSE.txt update license info Aug 3, 2013
README.md v4.16 Dec 28, 2016
_pre_release.py update Dec 3, 2016
release_note.txt v4.16 Dec 28, 2016
userconf.sample.ini remove adblock Dec 1, 2016
version.ini v4.16 Dec 28, 2016

README.md

FWLite

A anti-censorship HTTP proxy with builtin shadowsocks support.

Current Version: 4.16

Tested on Windows 7 and Windows 10.

Download

Quick Start

Set parent proxy

Add your own parent proxy in the parents section of main configuration file userconf.ini.

It looks like this:

[parents]
shadowsocks = ss://aes-256-cfb:password@127.0.0.1:8388
shadowsocks_with_OTA = ss://aes-256-cfb-auth:password@127.0.0.1:8388
shadowsocks_with_header_obfs = ss://aes-256-cfb:password@127.0.0.1:8388/?obfs=http&hostname=www.baidu.com

or this:

[parents]
proxy1 = http://user:pass@127.0.0.1:8087
proxy2 = socks5://127.0.0.1:1080

# connect to 'http://127.0.0.1:8087' via 'socks5://127.0.0.1:1080'
proxy3 = http://127.0.0.1:8087|socks5://127.0.0.1:1080

Set browser

Set your browser's proxy setting to http://127.0.0.1:8118.

On Windows, this should be done automatically.

Start

For Windows, run FWLite.exe

For Linux and Mac, run python2 /path_to/fwlite/FWLite.pyw

Run in command-line:

python2.7 /path_to/fwlite/fgfw-lite/fgfw-lite.py

Instruction under openSUSE

sudo zypper install python-virtualenv

# create virtualenv
virtualenv env

# install requirements
sudo zypper install gcc python-devel libffi-devel
./env/bin/python -m pip install repoze.lru ipaddr dnslib chardet geoip2 future
./env/bin/python -m pip install gevent cryptography

# install requirements for GUI. It's gonna take a while.
sudo zypper in libqt4-devel
./env/bin/python -m pip install pyside

# run fwlite GUI
./env/bin/python path_to/FWLite.pyw

Features

  • Set IE proxy automatically (windows)
  • Detect blocked sites automatically
    • autoproxy-gfwlist
    • user-defined rules
    • connect timeout
    • read timeout
    • connection reset
  • Multiple work profile
  • Support Network which require a Proxy (issue #39)
  • Support FTP LIST/RETR (Anonymous Only)
  • Support websocket protocol
  • Supported parent proxy
    • HTTP Proxy
    • Socks5 Proxy
    • Shadowsocks by @clowwindy (with OTA support)
  • Prioritize parent proxies by response time
  • Prioritize parent proxies by location
  • Redirector
  • Support PAC for WPAD

Not all features are listed here, and only few of them are covered in GUI.

User Defined Rules(./fgfw-lite/local.txt)

FW-Lite uses autoproxy rules, the differences are:

URL end with keyword:

.exe|
.apk|

Redirect

http://www.baidu.com http://www.google.com

Redirect with Regular Expression

/^http://www.baidu.com/.*wd=([^&]*).*$/ /https://www.google.com/search?q=\1&ie=gb2312/

Not applying rules for certain sites. For false positives in gfwlist.

||twimg.com auto

forcehttps

|http://zh.wikipedia.com/ forcehttps

Block certain sites

||360.cn 403

Bad 302 Redirect, counteract ISP conducted MITM hijack(GWBN):

|http://some.isp.server/ bad302

Assign a parent proxy for certain sites

||bbc.co.uk shadowsocks-uk
||googlevideo.com shadowsocks-us1 shaodwsocks-us2

License

GPLv2

Thanks

翻墙路由器的原理与实现

COW

GoAgent

Shadowsocks

pybuild

gfwlist