Generate fast PAC file from gfwlist.
Fast mode: use O(1) domain lookup
Precise mode: use adblock plus engine
pip install gfwlist2pac usage: gfwlist2pac [-h] [-i GFWLIST] -f PAC -p PROXY [--user-rule USER_RULE] [--precise] optional arguments: -h, --help show this help message and exit -i GFWLIST, --input GFWLIST path to gfwlist -f PAC, --file PAC path to output pac -p PROXY, --proxy PROXY the proxy parameter in the pac file, for example, "SOCKS5 127.0.0.1:1080;" --user-rule USER_RULE user rule file, which will be appended to gfwlist --precise use adblock plus algorithm instead of O(1) lookup
Examples of generated PAC file are here: fast mode / precise mode.
The PAC generated by GFWList2PAC is 1600x faster than SwitchySharp.
Testing fast mode pac generated by gfwlist2pac avg: 0.49ns Testing precise mode pac generated by gfwlist2pac avg: 1.53ns Testing pac generated by switchysharp avg: 784.60ns