Coder Social home page Coder Social logo

gfw_whitelist's Introduction

GFW 白名单

概述

著名的 autoproxy.pac (GFW List) 是一个 GFW 黑名单,访问名单中网站需要通过代理,不在名单中的网站直接访问。有效使用黑名单,维护者和用户都需要时常更新此名单,否则可能不能访问最近被墙的网站。这些不便之处是推广科学上网的阻碍之一。

白名单的方法是白名单中的网站不走代理,其它网站全部通过代理访问。白名单的优点是对维护的要求非常低。第一次安装后,即使很长时间不更新,也不会出现网站打不开的问题。当然,用户会要付出稍多一些流量。

事实上 GFW 的变化速度相当快,屏蔽的网站也越来越多,国外稍微有点意思的网站大都已经被墙,或者随时可能被墙。因此作者认为有必要开始维护一份白名单的 pac 文件。

本项目包含域名白名单与IP白名单,而最终生成的实用版本列表proxy.pac同时使用黑白名单,以便于更精确更高速地科学上网。推荐直接使用proxy.pac。

本列表的国内域名部分会由作者编写的Spider自动更新,提取出常用的大部分网站。如果需要其它格式的列表请联系作者。

简单使用方法

方法一:

下载 whitelist.pac或whiteiplist.pac或proxy.pac 文件后,修改代理服务器的 ip 地址和代理类型。然后将浏览器的代理设置中指向 whitelist.pac或whiteiplist.pac。

var wall_proxy = 'PROXY www.abc.com:443;'; 
以上需要更换成有效的代理地址,代理类型还可以为'SOCKS5'或'HTTPS'
多个代理之间使用分号分隔,如'PROXY a.com:80;SOCKS5 a.com:1080;'

proxy 的代理类型为 HTTPS 时,此 pac 文件适合用于 Google Chrome 的安全代理

对于不需要翻墙,但也需要代理的网站,可自行修改nowall_proxy,方式与wall_proxy相同。

方法二:

设置你的动态代理地址为:http://proxy.breakwa11.ga/?proxy=SOCKS5_127.0.0.1:1080
如果你所在的地区使用IP匹配不合适,那么还可以使用这个地址:http://proxy.breakwa11.ga/?style=noip&proxy=SOCKS5_127.0.0.1:1080
注意proxy参数可修改为你自己本地的代理配置,这样即可下载一个适合你本地配置的pac文件。
参数除了proxy,还支持:nowall, auto, ip, direct,分别对应:非翻墙代理,自动代理(默认与proxy一致),ip代理(默认与nowall一致),直连代理(如果没有必要请不要修改)。参数之间需加入&分隔开。参数解释:
style: 列表类型。值为noip则不使用IP匹配,大多数情况下应该使用此值,除非你解决了DNS污染。
proxy: 翻墙代理,GFW黑名单使用的代理
nowall: 非翻墙代理,在白名单或国内IP中使用的代理
direct: 直连代理,内网地址段使用的代理
ip: ip代理,访问方式为使用IP而不使用域名的地址使用的代理(国内视频站多数为ip直连,所以默认与nowall一致)
auto: 自动代理,均不在以上黑白名单也不是IP直连的情况下使用的代理。与proxy一致即白名单制,与nowall一致即黑名单制。

本功能在测试中,地址随时可能发生变化,访问速度可能很慢或访问不正常,如不能访问请留意本项目的变更。

本地代理使用 PROXY 即http代理最佳,兼容性最好,可用于IE或iOS自动代理配置,s5代理可使用privoxy转换为http代理。不过如果是远程代理可能被偷窥连接内容。

代码生成使用方法

执行

main.py -o whitelist.pac -p "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1080;"

所有选项均可忽略(直接不带参数执行也可),以上为默认值。至于whiteiplist.pac使用mainip.py生成。对于mainproxy.py执行:
mainproxy.py -p "SOCKS5 127.0.0.1:1080;" -a "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080"

参数 -a 指定的是不匹配黑白名单的时候所使用的代理,一般使用与 -p 相同的代理即可。
最后使用生成出来的 whitelist.pac或whiteiplist.pac或proxy.pac 即可
自定义列表可把你的域名加入到lists/custom.py里,然后重新执行生成操作
严重建议你把你的加入列表项通过mmgac001[at]gmail.com或者issues或者pull request告知我们

注:Safari浏览器不支持SOCKS5关键字,因此请再额外添加以"SOCKS"关键字开头的代理,IP与端口号不变

SSH/Goagent/http 代理设置

谈一点题外话,不少网友通过 SSH(Tunnelier/Entunnel) 等本地 socks5 代理或者 goagent 等本地 http 代理来翻墙。

假设 SSH 开的本地S5端口是 7070,goagent 的本地端口开在 8087,那么设置wall_proxy为:

'SOCKS5 127.0.0.1:7070; SOCKS 127.0.0.1:7070';

'PROXY 127.0.0.1:8087';

然后只需要将whitelist.pac文件所在地址,直接复制到填写自动代理配置的地方(见下文图),就可以用上这个白名单了。如果是本地文件,填写路径类似于"file:///d:/whitelist.pac"。

Firefox 代理

安装插件foxyproxy

使用 pac 文件

Google Chrome 代理

安装插件SwitchyOmega

新建pac配置

新建pac配置

更新的pac地址: https://raw.githubusercontent.com/breakwa11/gfw_whitelist/master/whiteiplist.pac

自动切换中将pac设置为default

Google Chrome 安全代理 (SSL Secure Proxy)

Google Chrome 已经支持基于 https 和 SPDY 的安全代理。其原理和效果与 SSH,shadowsocks 以及 goagent 类似:

  • 将普通流量封装在加密通道之中,这样 GFW 就看不见流量的内容;
  • 域名的解析在代理服务器这端完成,所以本地不用担心域名污染的问题。配合 pac 的使用,可以享受国内 CDN 的服务。达到一次设置完全免维护;
  • 本地不从服务器端取得 ip,只适合浏览器内的应用,不适合 VoIP,网络游戏等应用。

优点有:

  • 在 PC 和 Mac 上 Chrome 已经原生支持,不需要依赖额外的客户端;
  • 封装的协议是 https 或 SPDY,GFW 完全没有 DPI 识别的可能,这是翻墙终极方案的一部分;
  • 由 Google 支持,客户端和服务器端的软件成熟并且稳定,未来更新也可靠。

现有的缺点有:

  • 暂时只适用于 PC 和 Mac 上的 Chrome。 Android 的客户端有待开发。iOS 客户端的可行性暂时还不清楚。

有兴趣开发客户端的同学,可以考虑编译封装 @tatsuhiro-t 的 C 程序库 spdylay

shrpx --client-proxy [-b <HOST,PORT>] [-f <HOST,PORT>] 
				   [OPTIONS...] [<PRIVATE_KEY> <CERT>]

注意事项

使用whiteiplist.pac或proxy.pac时,你需要确认你已经解决DNS污染的问题。虽然代码中有对DNS污染做了一定的检测,但并不保证能解决所有运营商的DNS劫持。如果你的网络环境有较严重的DNS劫持影响到实际使用效果,那么建议使用whitelist.pac,或使用dnscrypt

其它节省流量的方法

由于白名单的流量消耗较黑名单要高一些,在浏览器中安装下面的扩展,在提高网页浏览速度的同时,也能节省不少流量。

屏蔽广告: Adblock Plus + Easylist + Chinalist

在 Firefox 或 Chrome 中安装 Adblock Plus (ABP) 扩展,并在 ABP 的控制面板中加入 Easylist 和 Chinalist。这样可以有效的过滤广告大部分网站和网页。

注意:下载扩展和 ChinaList 的时候可能需要打开全局翻墙的 VPN 。

屏蔽Flash: FlashControl 或 FlashBlock

在 Chrome 中安装 FlashControl 或在 Firefox 中安装 FlashBlock,可以达到屏蔽 Flash 的效果。需要打开 Flash,比如视频,只要在被屏蔽的 Flash 上点击一次。

Chrome 的扩展

PAC性能(100,000次重复执行)

firefox
whitelist.pac 62ms
whiteiplist.pac 77ms
proxy.pac 160ms

chrome
whitelist.pac 94ms
whiteiplist.pac 80ms
proxy.pac 308ms

IE9
whitelist.pac 96ms
whiteiplist.pac 160ms
proxy.pac 349ms

safari
whitelist.pac 196ms
whiteiplist.pac 155ms
proxy.pac 552ms

base on
n0wa11 gfw_whitelist
clowwindy gfwlist2pac
Leask Flora_Pac

任何意见或建议,请联系 mmgac001[at]gmail.com ,或提交issue到项目页面 ლ(╹◡╹ლ)

gfw_whitelist's People

Contributors

breakwa11 avatar bryant1410 avatar delightrun avatar fefz avatar myly10 avatar shoaly avatar tankywoo avatar youfou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gfw_whitelist's Issues

可否出wiki自助添加一些白名单

自助添加

自己对于pac不太了解,希望可以有些指导,方便添加自己认为需要的白名单。查看wiki没有内容。所以不知道可否简单介绍如何操作?

目前已经做得很好了,对于白名单我是使用自己上传到github然后用raw方式去下载,主要是用于xx-net,这样处理基本没有什么问题,非常感谢。再配合ss一些常用的软件用于更新,查一些资料和看一些tutorial都非常方便。

这样实现的检测ip是否在chnroute更快速?

可以发现 chnroute 中最小也是一个C段,也就是mask是/24
把chnroute所有类别转换成n个/24,譬如1.1.4.0/22可以转换成1.1.4.0/24, 1.1.5.0/24, 1.1.6.0/24, 1.1.7.0/24,并取前三段
这样就可以用host解析的ip前三段进行匹配, 也算O(1)复杂度的匹配吧 :)

【请教】请问PAC中如何写才能判断要访问的域名或IP是否属于大陆

【请教】
你好,鉴于现在被封的网站太多,有些网站即使未被封也速度很慢,所以希望能够在PAC中自动判断访问的域名或者IP是否属于大陆,如果不是,则走代理。
这种方式跟白名单方式的区别是,大陆的网站新建速度也很快,而白名单的更新速度肯定是远慢于大陆新网站或域名的产生的。通过判断域名归属,可以比白名单模式减少误判。

SpechtLite项目中,可以通过配置文件来判断访问地址所属国家是否是大陆

` # Reject requests based on the IP address of the host.
file: ~/.SpechtLite/rejectiprange
adapter: reject

  • type: country
    # When the location is unknown. Usually this means this is resolved an Intranet IP.
    country: CN
    match: true
    adapter: direct
  • type: country
    # When the location is unknown. Usually this means this is resolved an Intranet IP.
    country: --
    match: true
    adapter: direct`

不知在PAC文件中是否能够实现同样的功能?

关于他服暴雪游戏客户端的问题

如今暴雪的游戏客户端已经不叫战网,改名暴雪游戏平台。访问国服没有压力,当访问欧服美服亚服时会强制走代理,若代理服务器所在网络不匹配则完全无法访问,烦请白名单加入各他服以能不走代理访问,谢谢。

感谢作者的长期开发投入和对GFW的贡献

默默关注作者很久,也默默的在其他地方维护作者的名誉。
·首先不管SSR如何以及有任何利益,ssr的确是第一个让我看youtube 1080P不卡的工具,而且目前分给朋友用,让我想起很久以前我立志转向电脑时的信仰:让更多不用那么麻烦也能自由上网。

·关于早期的GPL问题,我就想说一点:赌博没有平等规则。当你知道GFW的攻击手段和当初实验性DDOS的数据量,你就会知道像breakwa11等人所面对的并不是一个公平合理的敌人,而是一门古斯塔夫巨炮。比如双向污染和当初恶意修改CDN攻击等。

·早上刚起床看到GBFqq群有人发breakwa11删除了ssr开发,原因居然是人肉。直接不理智扔了一句:真几把有病 就会欺负人 好了 你国贱民就不适合自由上网。
因为不久之前就因为他们不懂ssr和并不了解相关技术喷过,自以为是看了知乎的内容就开始对作者个人进行攻击,不过数据面前他们还是闭上了嘴。“我youtube 1080P不卡 你去给我找个vpn比我快的 我费用只比正常高一点 你就不适合看国外网站” 感觉知乎,qq群等对作者恶意抹黑十分之多,大部分是不懂技术之人。

·十分感谢作者多年来承受着来自网上一知半解的小白攻击,感谢这么多年来对gfw的贡献。

真的好希望自己足够成熟去做后续开发,组一个隐秘的交流频道进行集体维护更新。准备今年去大学问教授如何写算法,貌似我学校的电脑chair还是个华裔。

1984并不恐怖,乌托邦之梦也不让人沉沦,更没有温水煮青蛙的谎言,可怕的是被**腐蚀的语言和被语言腐蚀的**。

by 喷子路人甲

OS X 兼容问题?

main.py中这句:
parser.add_argument('-i', '--input', dest='input', default='data\\whitelist.pac', help='path to gfwlist')
在OS X 中应该是这样才行……
parser.add_argument('-i', '--input', dest='input', default='data/whitelist.pac', help='path to gfwlist')

姐姐呀!你readme怎么写成了这样!

main.py -o whitelist.pac -p "SOCKS5 127.0.0.1:1080; SOCKS 127.0,0,1080;"

我手懒直接复制了,然后……………………没有然后了。
SOCKS 127.0,0,1080SOCKS 127.0.0.1:1080

raw format white list create.

Hi, I use privoxy+ whitelist to listen to a http_proxy in a port.

In this case, my all kind of browser and other pc in localhost can use this proxy.

basically, those config files is like following:

{+forward-override{forward .}}
# if the host pattern starts or ends with a dot, it becomes unanchored at that end. 
.baidu.com
.ip138.com

 . . .

Could you please add a raw format whitelist file export function?

Add those site to whitelist

bbc.co.uk
*.akamaized.net
*.llnwd.net

BBC iPlayer

*.wikiwand.com
*.vimeo.com
read01.com
kknews.cc
visualping.io

Welcome to test.

ssr ios

Hello

I need ssr source for ios.
Can you help me?

Regards

如何彻底删除Mac版SSR?

以前SSR-NG issue页面的FAQ里有写,但现在看不到了。
我记得要删除四个:

  1. Application\ShadowsocksX-NG-R8
  2. Library\Application Support\ShadowsocksX-NG-R8
  3. user\Library\Application Support\ShadowsocksX-NG-R8
  4. ????
    就是第四个不记得了,好像跟ss-local或者启动项有关

有没有朋友知道的?

关于noip的说明似乎有歧义

style: 列表类型。值为noip则不使用IP匹配,大多数情况下应该使用此值,除非你解决了DNS污染。

普通情况到底应该用还是不用此值?似乎应是用,那么建议上文举例顺序把noip的放在前面

设置你的动态代理地址为:http://proxy.breakwa11.ga/?proxy=SOCKS5_127.0.0.1:1080
如果你所在的地区使用IP匹配不合适,那么还可以使用这个地址:http://proxy.breakwa11.ga/?style=noip&proxy=SOCKS5_127.0.0.1:1080

为何v2ex.com会在名单里面

发现v2ex.com在默认的代理名单里面,这个在大陆是可以正常访问的,走代理的话访问很慢,是否可以移除?

Please add these to whitelist

  • xueqiu.com
    ping result: 118.178.213.*
    京ICP备10040543号

  • ipip.net
    ping result: 112.253.14.*
    京ICP备13047193号

提交了一个Pull request

我提交了一个 Pull request,尝试在pac里实现负载均衡,使用了简单粗暴的随机数方法,目前自用感觉没有发现什么问题,你看看加进去?

PAC网址访问不了

最近访问README中给出的在线地址proxy.breakwa11.ga,总是有问题,是我自己的问题还是肿么滴……需要换成本地的PAC么?

请将本地地址加入whitelist

今天发现应用 white list 后127.0.0.1下的站点无法访问,希望及时加上。谢谢。
访问192.168.1.1同样有问题。

建议将 Steam 商店/社区加入白名单

当前版本的 gfw_whitelist 会通过代理访问 Steam 网站。将 Steam 相关域名加入白名单,可以避免用户使用 gfw_whitelist 时无意间产生的跨区购买,并且通过国内的CDN加快访问速度,可减少无谓的流量消耗。

以下是与 Steam 相关的域名列表,可能仍有遗漏:

steampowered.com
steamstatic.com
steamcommunity.com
steamcommunity-a.akamaihd.net

store.steampowered.com
store.akamai.steamstatic.com

cdn.steamstatic.com.8686c.com
cdn.akamai.steamstatic.com
cdn.steamcommunity.com
cdn.steampowered.com
cdn.store.steampowered.com

media.steampowered.com
cloud.steampowered.com
storefront.steampowered.com

导致Adobe Creative Cloud (离线激活)失效

Adobe 系列离线激活采用了Hosts屏蔽方法,亲测全局代理模式下导致了Hosts失效,白名单也导致这个问题,请问能怎样解决?

127.0.0.1 activate.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 ereg.adobe.com
127.0.0.1 wip3.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 3dns-3.adobe.com
127.0.0.1 3dns-2.adobe.com
127.0.0.1 adobe-dns.adobe.com
127.0.0.1 adobe-dns-2.adobe.com
127.0.0.1 adobe-dns-3.adobe.com
127.0.0.1 ereg.wip3.adobe.com
127.0.0.1 activate-sea.adobe.com
127.0.0.1 wwis-dubc1-vip60.adobe.com
127.0.0.1 activate-sjc0.adobe.com
127.0.0.1 hl2rcv.adobe.com
127.0.0.1 lmlicenses.wip4.adobe.com
127.0.0.1 lm.licenses.adobe.com
127.0.0.1 na2m-pr.licenses.adobe.com
127.0.0.1 ims-na1-prprod.adobelogin.com
127.0.0.1 na4r.services.adobe.com
127.0.0.1 na1r.services.adobe.com
127.0.0.1 hlrcv.stage.adobe.com

Please add 'ngacn.cc' into whitelist.

% dig bbs.ngacn.cc

; <<>> DiG 9.8.3-P1 <<>> bbs.ngacn.cc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: *
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;bbs.ngacn.cc.          IN  A

;; ANSWER SECTION:
bbs.ngacn.cc.       3600    IN  A   118.144.73.137

;; AUTHORITY SECTION:
ngacn.cc.       4350    IN  NS  dns1.ngacn.cc.
ngacn.cc.       4350    IN  NS  dns2.ngacn.cc.

;; ADDITIONAL SECTION:
dns1.ngacn.cc.      39900   IN  A   118.144.73.145
dns2.ngacn.cc.      51135   IN  A   118.144.73.141

;; Query time: 12 msec
;; SERVER: *
;; WHEN: Fri Oct 16 13:23:33 2015
;; MSG SIZE  rcvd: 116

对于有国内服务器海外华人可以提供反向编写的whitelist

很多在外华人访问国内服务其实也很不方便,部分是墙的原因,大部分都是版权限制什么的,比如AB站的番剧。会通过访问的源IP来判断访问者所处的国别信息。

我在国内家里有自己的服务器,原来是自己架了IPSec,但是运营商上行带宽太慢,全局IPSec效率其实不高。后来也架设了SS配合BBR流控加速其实差不多。后来把出国后无用的SS PAC脚本加工了下,把gfwlist的内容删除,把我需要访问的国内网址加进去就好了。比如访问国内AB站番剧和网易云音乐的时候请求是从国内的服务器发出的,但最终还是由电脑通过本地直接向服务器拉取视频或音频,类似于unblockyouku之类的插件。

gfw_whitelist的规则如果反过来写,可以变成海外访问国内版的gfwlist。

这个估计不难,我只是刚有这个想法,不知道需要用的人多不多。毕竟在国外还在国内有服务器的人不多,国内云服务也非常昂贵,所以我才自组了服务器。

PAC 默认代理地址问题

PAC 默认代理地址为 var wall_proxy = "SOCKS5 127.0.0.1:1080;";
此处可否在生成的时候加一句,变成这样:
var wall_proxy = "SOCKS5 127.0.0.1:1080;SOCKS 127.0.0.1:1080";
——————
理由:
Safari 不支持 Socks5,第一次用的时候忘记了这茬捣鼓了好久……加上这句以提高(默认)兼容性?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.