/gfwlist2pac

Convert GFWList to Pac in O(1) time

Primary LanguageJavaScriptMIT LicenseMIT

GFWList2PAC

Generate fast PAC file from gfwlist. Examples: Fast Mode , Precise Mode

Originally created by clowwindy, currently maintained by mysqto

Fast mode: use O(1) domain lookup

Precise mode: use adblock plus engine

#Usage#

    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

#Performance#

The PAC generated by GFWList2PAC is 1900x faster than SwitchySharp.

    Testing fast mode pac generated by gfwlist2pac
    avg: 0.50us

    Testing precise mode pac generated by gfwlist2pac
    avg: 1.66us

    Testing pac generated by switchysharp
    avg: 952.99us