Zerowall is a project mainly written in Shell, it's free.
gfw list
auto conver gfwlist to pac file from autoproxy project
Usage: % stuff/zerowall.sh > zerowall.pac
then config pac setting in web browser.