[listen]
;监听ip端口
ip = 127.0.0.1
port = 8086
;WEB界面用户名密码
;web_username = admin
;web_password = admin
;是否对本机访问WEB也要求认证
;web_authlocal = 0
;代理用户名密码（本地端共享给他人使用时防盗用）
;username = 
;password = 
;是否禁用socks4/socks5代理功能（无论是否禁用，使用GAE/PAAS服务端将无法作为真正的socks4/socks5代理工作）
;disable_socks4 = 0
;disable_socks5 = 0
;代理使用Basic认证还是Digest认证
;basic_auth = 1
;是否使用通配符证书（生成的证书文件更少）
;cert_wildcard = 1
;更新PAC时可能没联网，等待多少秒再更新
;tasks_delay = 0

[pac]
;是否启用自动代理功能（0禁用 1智能代理模式 2浏览器PAC模式 3智能代理+PAC）
enable = 3
file = proxy.pac
;智能代理模式https如何连接：
;0.全走直连，证书非伪造，但也不能让无法访问的https走代理
;1.全走fake_https，证书全伪造，能让无法访问的https走代理
;2.根据rulelist/iplist规则部分直连部分fake_https，证书部分伪造，部分无法访问且不在规则中的https可能无法走代理
https_mode = 2
;默认代理：不匹配任何规则时的代理|解析出的地址是IPv6时的代理|解析IP失败时的代理（后两种只在使用iplist时用到）
;不带py_的与PAC脚本中定义的proxy写法相同，例如直连：DIRECT，http代理：PROXY *:8087（*表示自适配监听ip/端口）
;带py_的表示wallproxy的插件，可选值有FORWARD|GAE|PAAS|FORBID|WEB|PAGE（如果设置多个PAAS，还可以PAAS1、PAAS2……）
;default = DIRECT|DIRECT|DIRECT
;py_default = FORWARD|FORWARD|FORWARD
;URL规则在线列表或本地文件（多个用|分隔）
rulelist = https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt|userlist.ini
;IP规则在线列表或本地文件（支持xx.xx.xx.xx/mask或xx.xx.xx.xx|count格式的ip范围表示）
iplist = 
;如果默认代理不是DIRECT，或者有三个或三个以上的代理，取消下行的注释来使能[rulelist]和[py_rulelist]
rulelist = !rulelist
;iplist = !iplist
[rulelist]
PROXY api.youku.com:80 = string:///^https?:\/\/.*?(?:youku|qiyi|iqiyi|letv|sohu|ku6|ku6cdn|pps)\.(?:com|tv)\/crossdomain\.xml$/
;PROXY *:8088;DIRECT = paaslist.ini
PROXY *:8087;DIRECT = https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt|userlist.ini
;PROXY *:8086 = https://adfiltering-rules.googlecode.com/svn/trunk/lastest/rules_for_wallproxy.ini

[py_rulelist]
YOUKU = string:///^https?:\/\/.*?(?:youku|qiyi|iqiyi|letv|sohu|ku6|ku6cdn|pps)\.(?:com|tv)\/crossdomain\.xml$/
;PAAS = paaslist.ini
GAE = https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt|userlist.ini
;PAGE = https://adfiltering-rules.googlecode.com/svn/trunk/lastest/rules_for_wallproxy.ini

[gae]
;是否启用GAE服务端
enable = 1
;服务端appid（多个用|分隔，个数不限）
appid = appid1|appid2
;防盗用key
password = 
;单独监听端口以便通过PAC或浏览器扩展调度
listen = 8087
;服务端路径
path = /fetch.py
;Google访问策略：对应下面[google_cn/hk/ipv6]
profile = google_hk
;分段下载时每个资源最大线程数（0按appid个数自动确定，最大10）
max_threads = 3
;8087端口是否也应用profile描述的Google访问策略（不应用8086可8087不可看直播，应用无法以美国ip访问google）
find_handler = 1
;0平滑缓冲，但无法确保稳定性；1或2可确保稳定性，但无法平滑缓冲；建议在网络稳定时设置0，不稳定时设置1
fetch_mode = 1
;是否通过代理连接GAE，默认使用[proxy]的设置
;proxy = http://user:pwd@111.111.111.111

[google_cn]
;走http还是https
mode = https
;映射sites描述的域名到hosts描述的ip（注意sites实际上与[hosts]实现相同）
hosts = 210.61.221.187|121.78.74.99|61.219.131.84|61.219.131.88|61.219.131.89|61.219.131.93|61.219.131.98|61.219.131.99|61.219.131.103|61.219.131.104|61.219.131.108|61.219.131.109|61.219.131.113|61.219.131.114|61.219.131.118|61.219.131.123
sites = .appspot.com|.googlecode.com|.googleusercontent.com|.googlegroups.com|ssl.google-analytics.com
;强制走https防止reset（支持URL RuleList写法）
forcehttps = .google.com|www.google.com.hk|.googlecode.com|.googleusercontent.com|developer.android.com
;部分满足forcehttps的网站强制https可能出现问题，例如重定向异常，通过noforcehttps排除（支持URL RuleList写法）
noforcehttps = books.google.com|translate.google.com|scholar.google.com|http://www.google.com*/imgres?|http://www.google.com*/translate_t?|http://www.google.com*/alerts?
;部分满足sites的网站走hosts会出现问题，例如404，强制走GAE来排除（支持URL RuleList写法）
withgae = plus.google.com|apis.google.com|c.docs.google.com|autoproxy-gfwlist.googlecode.com|translate.google.com
;对于满足truehttps不满足notruehttps的域名使用非伪造证书的https
truehttps = .google.com|.googlecode.com|.googleusercontent.com|.googlegroups.com|.google-analytics.com|.gstatic.com|.googleapis.com
notruehttps = .docs.google.com|translate.google.com|play.google.com|books.google.com

[google_hk]
mode = https
hosts = 2.2.2.2|www.google.com|www.google.com.hk|203.66.124.173|202.39.143.94|203.66.124.237|103.25.178.59|203.66.124.168|218.176.242.109|218.176.242.236|218.176.242.49|218.176.242.45|203.211.0.59|203.66.124.241|203.66.124.247|61.219.131.227|61.219.131.216|218.176.242.113|203.66.124.182|218.176.242.158|210.61.221.103|61.219.131.231|218.176.242.88|61.219.131.232|210.61.221.108|61.219.131.118|218.176.242.232|103.25.178.42|210.61.221.123|210.61.221.153|202.39.143.109|202.39.143.108|203.66.124.172|218.176.242.221|202.39.143.103|210.61.221.183|218.176.242.119|202.39.143.104|61.219.131.221|178.45.251.94|210.61.221.109|218.176.242.108|218.176.242.55|202.39.143.30|203.211.0.25|210.61.221.99|210.61.221.119|203.211.0.40|210.61.221.158|218.176.242.30|203.211.0.29|203.66.124.212|103.25.178.38|61.219.131.222|218.176.242.162|61.219.131.103
sites = .appspot.com|.google.com|.google.com.hk|.googlecode.com|.googleusercontent.com|.googlegroups.com|.google-analytics.com|.gstatic.com|.googleapis.com|.blogger.com|.ggpht.com|golang.org|goo.gl|googledrive.com|.googledrive.com
forcehttps = .appspot.com|.google.com|.google.com.hk|.googlecode.com|.googleusercontent.com|.blogger.com|www.youtube.com|goo.gl|googledrive.com|.googledrive.com
noforcehttps = books.google.com|translate.google.com|scholar.google.com|feedproxy.google.com|fusion.google.com|picasa.google.com|*pack.google.com|*android.clients.google.com|wenda.google.com.hk|http://www.google.com*/imgres?|http://www.google.com*/translate_t?|http://www.google.com/analytics/|http://wiki.*.googlecode.com/||http://website.*.googlecode.com/|http://www.google.com*/custom?|http://www.google.com/dl/|http://www.google.com/drive/|http://www.google.com*/alerts?
withgae = c.docs.google.com|translate.google.com|http*://books.google.com/books?id=|http*://*.googleusercontent.com/videoplayback?
truehttps = .appspot.com|.google.com|.google.com.hk|.googlecode.com|.googleusercontent.com|.googlegroups.com|.google-analytics.com|.gstatic.com|.googleapis.com|.blogger.com|.ggpht.com|goo.gl|googledrive.com|.googledrive.com
notruehttps = .docs.google.com|translate.google.com|books.google.com

[google_ipv6]
mode = https
hosts = ipv6.google.com|ipv6.google.cn|ipv6.google.com.hk|2404:6800:8005::2f|2a00:1450:8006::30|2404:6800:8005::84|2404:6800:4005:c00::65|2404:6800:4005:c00::8a|2404:6800:4005:c00::67|2404:6800:4005:c00::69|2404:6800:4005:c00::8b|2404:6800:4005:c00::12|2404:6800:4005:c00::66|2404:6800:4005:c00::66|2404:6800:4005:c00::a0|2404:6800:4005:c00::63|2404:6800:4005:c00::93|2404:6800:4005:c00::64
sites = *.google*.c*|.appspot.com|.blogger.com|.doubleclick.net|.ggpht.com|.gmail.com|.gstatic.com|.gstatic.cn|goo.gl|.ytimg.com|youtu.be|gdata.youtube.com|upload.youtube.com|www.youtube.com
forcehttps = *.google*.co*|.appspot.com|.ggpht.com|.gstatic.com|developer.android.com|www.youtube.com
noforcehttps = books.google.com|scholar.google.com|feedproxy.google.com|fusion.google.com|picasa.google.com|*pack.google.com|*android.clients.google.com|wenda.google.com.hk|http://www.google.com*/imgres?|http://www.google.com*/translate_t?|http://www.google.com/analytics/|http://wiki.*.googlecode.com/||http://website.*.googlecode.com/|http://www.google.com*/custom?|http://www.google.com/dl/|http://www.google.com/drive/
withgae = drive.google.com|plus.google.com
truehttps = *.google*.co*|.appspot.com|.blogger.com|.doubleclick.net|.ggpht.com|.gmail.com|.gstatic.com|.gstatic.cn|goo.gl|youtu.be|.youtube.com|.ytimg.com|.akamaihd.net|.facebook.com|.fbcdn.net|.mozilla.org|*.wiki*.org|*shooter.cn
notruehttps = encrypted.google.com|drive.google.com|plus.google.com

[hosts]
;是否启用hosts规则（ipv6用户一般应该禁用）
enable = 1
;是否对满足crlf_rules的请求使用crlf功能
crlf = 1
crlf_rules = /^https?:\/\/[^\/]+\.c\.youtube\.com\/liveplay\?/ \n /^https?:\/\/upload\.youtube\.com\// \n /^https?:\/\/www\.youtube\.com\/upload\//
;如果遇到“上传者已禁止在您的国家/地区播放此视频”的问题，请尝试在crlf_rules中添加或删除 \n /^https?:\/\/www\.youtube\.com\/watch\?/
;是否使用远程dns解析[google_xx]hosts或[hosts]中的域名
dns = 168.95.1.1
;dns = '8.8.8.8|8.8.4.4', timeout=3, tcp=1, local=0, ipv6=2, port=53, blacklist='1.1.1.1|2.2.2.2'
;需要由远程dns解析的域名（支持泛域名，优先级低于hosts，泛域名优先级低于完整域名）
resolve = talk.google.com|talkx.l.google.com|.youtube.com|.facebook.com|.googlevideo.com|.dropbox.com|.dropboxusercontent.com|ocsp.digicert.com
;hosts映射，支持多个映射到多个（空格分隔）
;如果YouTube直播无法观看，可尝试将crlf_rules的规则移到rules，并取消下面两行的注释
;.youtube.com@80  = [google_cn]hosts
;.youtube.com@443 = [google_hk]hosts
www.youtube.com upload.youtube.com = [google_hk]hosts
;请求可能会转给GAE/PAAS插件处理，从而导致hosts设置无效（观看直播只能走hosts，不能走GAE），设置rules指定哪些情况走hosts（URL RuleList规则）
rules = 
;在proxy.ini中是将多个规则用 \n 隔开，多了以后影响可读性，可通过以下方式指定从文件获取
;rules = !hostsrules.ini

[autorange]
;是否启用自动加Range功能
enable = 1
;域名匹配hosts时自动加Range
hosts = .c.youtube.com|.atm.youku.com|.googlevideo.com|av.vimeo.com|smile-*.nicovideo.jp|video.*.fbcdn.net|s*.last.fm|x*.last.fm|.x.xvideos.com|.edgecastcdn.net|.d.rncdn3.com|cdn*.public.tube8.com|videos.flv*.redtubefiles.com|cdn*.public.extremetube.phncdn.com|cdn*.video.pornhub.phncdn.com|.mms.vlog.xuite.net|vs*.thisav.com|archive.rthk.hk|video*.modimovie.com|v*.cache*.c.docs.google.com
;URL满足rules时自动加Range（写法同[hosts]rules）
rules = /^https?:\/\/[^\/]+\/[^?]+\.(?:cab|f4v|flv|hlv|m4v|mp4|mp3|ogg|avi|msi|exe|zip|iso|ipa|rar|bz2|gz|xz|deb|dmg|3gp)(?:$|\?)/ \n http*://*.googleusercontent.com/videoplayback? \n @@/^https?:\/\/manifest\.googlevideo\.com\/api\//
;分段下载每段最大长度/首次读取长度/后续每次读写长度
maxsize = 1000000
waitsize = 500000
bufsize = 65536

[proxy]
;是否需要通过其他代理上网
enable = 0
;代理地址
host = 10.0.0.100
port = 8080
;代理帐号（如果是ntlm等没有直接支持的认证方式，用cntlm转为支持的，或尝试username留空）
username = username
password = 123456

[paas]
;是否启用PAAS服务端
enable = 0
;防盗用key
password = 123456
;单独监听端口以便通过PAC或浏览器扩展调度
listen = 8088
;服务端地址
fetchserver = http://demo1.app.com/|http://demo2.app.com/
;是否通过代理连接PAAS，默认使用[proxy]的设置（可指定为GAE监听地址从而利用GAE加速PAAS访问并弥补GAE不足）
;proxy = http://127.0.0.1:8087

[socks5]
;含义基本同[paas]，但为另一种服务端，几乎没有支持平台，未测
enable = 0
password = 123456
listen = 8089
fetchserver = http://demo.app.com/socks5
;proxy = http://127.0.0.1:8087

[urlfetch]
;转发失败时会自动改走GAE，通过nofallback指定不需要改走的网址（写法同[hosts]rules）
nofallback = /^https?:\/\/(?:[\w-]+|127(?:\.\d+){3}|10(?:\.\d+){3}|192\.168(?:\.\d+){2}|172\.(?:1[6-9]|2\d|3[01])(?:\.\d+){2}|\[.+?\])(?::\d+)?\//
;重定向
redirects = !redirects.ini
;是否使用Keep-alive连接资源
;keep_alive = 1
;默认超时（单位秒，0表示不超时，-1使用默认值）
;timeout = -1
;转发超时
;fwd_timeout = -1
;服务端超时
;gae_timeout = -1
;是否添加\r\n连接服务端
;gae_crlf = 0
;是否显示额外信息
debug = 0

[useragent]
;是否启用useragent改写
enable = 1
;原useragent满足match指定的正则式且网址满足rules指定的URL规则才改写
match = (?i)mobile
rules = ||twitter.com
;改写为以下useragent
string = Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4

[fetchmax]
;本地重试次数
;local = 
;服务端重试次数
;server = 

[third]
;位于misc目录下的第三方python程序
;appp = "appp.py", "-a", wait=5

;[gaeproxy]/[forold]/[goagent]/[simple]/[simple2]
;wallproxy旧版支持，参数意思与旧版相同，未使用旧版GAE/PHP者请无视
;如果url未设置，则通过appid生成GAE的url，多个用|分隔
;appid = appid1|appid2
;url = http://demo1.app.com/|http://demo2.app.com/
;加密模式及密码，多个用|分隔，写法与旧版相同
;crypto = AES-CBC-32
;password = password
;代理，多个用|分隔，[proxy]中的设置为default，无代理为none，留空与上一个相同
;proxy = http://127.0.0.1:8087
;单独监听端口以便通过PAC或浏览器扩展调度，不支持多个
;listen = 8088
;以下三个参数意思与旧版相同，不支持多个
;max_threads = 
;range0 = 
;range = 

[forward]
;在PAC中添加第三方代理只需要[pac][rulelist]节设置“PROXY ip:port=urllist.ini”的格式
;本节的目的是使智能代理也能仅修改proxy.ini即可支持第三方代理，无需手工修改config.py
;在本节以“变量名=http://ip:port”格式定义代理，例如“SSH=socks4://127.0.0.1:9000”
;在[pac][py_rulelist]以“变量名=urllist.ini”格式指定规则文件，例如“SSH=sshlist.ini”
;SSH = socks5://127.0.0.1:7070
;SOGOU = http://127.0.0.1:1998
YOUKU = hosts://api.youku.com:80
