科学上网

GFW Blog | 我的科学上网技巧

科学上网技巧分享。来源:https://g2ex.github.io/2016/05/20/Tips-on-Chinternet/尽管也称互联网,但在国内,如若有以下一个或多个需求,你就不得不学习一下科学上网了:访问的网站或服务被(GFW)墙;网络提供商(ISP)劫持了网络流量;需要匿名(隐藏真实 IP)的情况,如渗透测试;躲避网络监控;其他情况。这里分享一下我的科学上网技巧,使用到的工具软件可能有 Shadowsocks、Lantern、Privoxy、Tor。根据不同的目的选择不同的工具。一、绕过 GFW 和 ISP 劫持最简单和不折腾的方法是购买 VPN,次之是购买一台海外 VPS,自己安装 VPN 或 Shadowsocks 服务端。VPN 的优点是可以全局翻墙,Shadowsocks 虽然可以设置全局模式,但是对于不支持代理的本地应用是没有办法的,当然这种情况下可以试试 ProxifierPE 强制所有连接通过代理上网。使用 Shadowsocks 可能遇到的另一个问题是,因为 Shadowsocks 使用的是 SOCKS5 类型的代理,当本地应用只支持 HTTP/HTTPS 类型代理时,就需要自己解决 HTTP 转换为 SOCKS5 的问题。当然,这个问题使用 Privoxy 就能很好地解决。本节主要介绍如何组合使用 Shadowsocks 和 Privoxy,并假设你已经安装并配置好了 Shadowsocks(Linux 中可以安装 shadowsocks-qt5 或 命令行版本的 Shadowsocks)。Shadowsocks 与 Privoxy 组合使用的示意图如下所示:Shadowsocks Privoxy 组合使用示意图假设你已经配置好了 Shadowsocks,接下来配置 Privoxy。Windows 系统中右键点击 Privoxy 托盘图标,依次点击 Edit – Main Configuration 打开配置文件;Linux 系统中 Privoxy 的配置文件位于/etc/privoxy/config。配置文件修改为:123456# 把 HTTP 流量转发到本机 127.0.0.1:1080 的 Shadowsocksforward-socks5 / 127.0.0.1:1080 .# 可选,默认只监听本地连接 127.0.0.1:8118# 可以允许局域网中的连接listen-address 0.0.0.0:8118启动 Shadowsocks 和 Privoxy 后,把本地应用的代理设置为 HTTP/HTTPS 类型的 127.0.0.1:8118,就可以绕过 GFW 和 ISP 了。如果局域网中的其他 PC 或手机也希望使用该电脑上网(假设该电脑 IP 地址为 192.168.1.10),把它们的代理设置为 19.168.1.10:8118 即可。Tips目前,有一个讨巧的的办法替代这两者的组合:使用 Lantern —— 一款开源的安全上网工具。它使用的是 HTTP 类型代理,本地端口为 8787,也就是说,把本地应用的代理设置为 127.0.0.1:8787 就可以使用 HTTP 类型的代理了。而且使用它,也无需自己购买 VPS。Lantern 默认非全局代理,可以在设置中改为全局模式。另一方面,Lantern 只监听本机 127.0.0.1:8787 的连接,如果局域网中的电脑或手机也想通过这台电脑翻墙(假设该电脑 IP 地址为 192.168.1.10),那么也需要配合 Privoxy 使用。这时,Privoxy 的配置应该如下:123# 监听局域网中连接到本地 8118 端口的连接,转发给 8787 端口的 Lanternforward / 127.0.0.1:8787listen-address 127.0.0.1:8118 # 可改为 0.0.0.0:8118 允许局域网的连接二、匿名上网网络中保持匿名的办法是使用 Tor,匿名的意思是隐藏你当前的 IP 地址。Internet 上有很多志愿者运行着 Tor 中继节点,Tor 能保证从出发点的流量至少经过三个不同的中继节点到达目的地址,而且这三个不同的中继不会每次都相同。形象地说,你想把一封匿名信交给小明,在大街上随便找了一陌生人 A 让 A 帮忙转交,A 走了一段路程后随便找了一个陌生人 B 让 B 帮忙转交,B 走了一段路程后随便找了一个陌生人 C 让 C 帮忙转交,最终 C 按照信封上的地址找到了小明并把信交给了他。小明只知道是 C 转交了这封信,至于是谁写的这封信,他就无从得知了。A、B、C 分别对应着 Tor 网络的中继节点,这种投递匿名信的方式就起到了隐藏 IP 地址的效果。如下图所示,使用 Tor 从本机经过三跳访问了 Google。Tor BrowserTor 浏览器为了方便使用 Tor,Tor 开发者把 Tor 集成到了定制版的 Firefox 中,简单设置一下就能正常使用。Tor 浏览器专为大陆等网络环境加入了流量混淆的选项。首次打开浏览器时会弹出 Tor 状态检查,点击设置配置 Tor 网桥,勾选互联网提供商(ISP)是否对 Tor 网络连接进行了封锁或审查中的是,把下一步中的网桥类型选择meek-amazon或meek-azure。这两者在大陆没被完全封锁,因此可以用来做跳板网桥。不过随着网络环境的恶化,Tor 提供的网桥类型都不可用时,就需要使用自己的 Shadowsocks 或 Lantern 代理了。首次打开 Tor 浏览器,在 Tor 设置中勾选互联网提供商(ISP)是否对 Tor 网络连接进行了封锁或审查中的否,在下一步是否需要本地代理访问互联网?中选择是,下一步中设置你的代理:使用 Shadowsocks 则设置为 SOCKS5 类型的 127.0.0.1:1080;使用 Lantern 则设置为 HTTP/HTTPS 类型的 127.0.0.1:8787;如果通过局域网中其他计算机的配置联网,把 127.0.0.1 改为那台计算机的 IP 地址。使用了代理的 Tor 浏览器原理示意图如下(以 Tor + Shadowsocks 组合为例):Tor 浏览器 + Shadowsocks 组合使用示意图Tor Expert BundleTor 浏览器适用于使用浏览器匿名上网的场景,如果打算让本地应用(如其他浏览器、Linux 中的 Terminal 等)也使用 Tor 隐藏 IP 地址,那么就需要自己手动配置 Tor 了。从 Tor 官网下载 操作系统对应的 Expert Bundle,它只包含 Tor 工具,不含浏览器。假设你已经配置好了 Shadowsocks,接下来,为 Tor 配置 Shadowsocks 代理。Windows 系统中,打开 %AppData%/tor 目录(如果不存在则创建该目录),新建 torrc 文件,内容如下:12345678## 通过 SOCKS5 代理SOCKS5Proxy 127.0.0.1:1080## 如果使用 HTTP/HTTPS 代理# HTTPSProxy 127.0.0.1:8118## 如果只允许特定端口的网络连接,如 80 和 443ReachableAddresses *:80,*:443ReachableAddresses reject *:*Linux 系统中,Tor 的配置文件位于 /etc/tor/torrc,配置内容同上。启动 Shadowsocks 和 Tor,因为 Tor 监听的是 SOCKS5 类型的本地 9050 端口,把需要匿名的本地应用代理设置为 SOCKS5 类型,代理地址设置为 127.0.0.1:9050,实现匿名上网。还是老问题,如果本地应用只支持 HTTP/HTTPS 代理类型,那么仍需要使用 Privoxy,修改其配置文件为:12forward-socks5 / 127.0.0.1:9050 .listen-address 127.0.0.1:8118 # 可改为 0.0.0.0:8118 允许局域网的连接这样一来,本地应用的代理设置为 HTTP/HTTPS 类型的 127.0.0.1:8118 就可以实现匿名上网了。Privoxy + Tor + Shadowsocks 组合使用示意图如下所示:Privoxy + Tor + Shadowsocks 组合使用示意图One More Tip使用 Tor 匿名访问网络除了应用于渗透测试,另一个应用场景是编写爬虫变换 IP 地址爬取站点,减小被网站屏蔽的可能性。在 Linux Terminal 中,使用 export 命令设置代理,可以只在当前 Terminal 中生效,12export http_proxy=http://127.0.0.1:8118export https_proxy=https://127.0.0.1:8118三、总结接下来简要归纳上述内容,给出每种组合的配置内容。Privoxy + Shadowsocks 组合 —— 翻墙配置 Privoxy,Linux 系统中位于 /etc/privoxy/config:12forward-socks5 / 127.0.0.1:1080 .listen-address 127.0.0.1:8118 # 可改为 0.0.0.0:8118 允许局域网的连接本地代理需设置为 HTTP/HTTPS 类型的 127.0.0.1:8118。如果不使用 Privoxy,本地代理需设置为 SOCKS5 类型的 127.0.0.1:1080。Privoxy + Tor + Shadowsocks 组合 —— 匿名上网配置 Privoxy,Linux 系统中位于 /etc/privoxy/config:12forward-socks5 / 127.0.0.1:9050 .listen-address 0.0.0.0:8118 # 可改为 0.0.0.0:8118 允许局域网的连接配置 Tor,Windows 系统中位于 %AppData%/tor/torrc,Linux 系统中位于 /etc/tor/torrc:123SOCKS5Proxy 127.0.0.1:1080 # Shadowsocks 代理地址ReachableAddresses *:80,*:443ReachableAddresses reject *:*本地代理需设置为 HTTP/HTTPS 类型的 127.0.0.1:8118。如果不使用 Privoxy,本地代理需设置为 SOCKS5 类型的 127.0.0.1:9050。Privoxy + Tor + Lantern 组合 —— 匿名上网配置 Privoxy,Linux 系统中位于 /etc/privoxy/config:12forward-socks5 / 127.0.0.1:9050 .listen-address 0.0.0.0:8118 # 可改为 0.0.0.0:8118 允许局域网的连接配置 Tor,Windows 系统中位于 %AppData%/tor/torrc,Linux 系统中位于 /etc/tor/torrc:123HTTPSProxy 127.0.0.1:8787 # Lantern 代理地址ReachableAddresses *:80,*:443ReachableAddresses reject *:*本地代理需设置为 HTTP/HTTPS 类型的 127.0.0.1:8118。如果不使用 Privoxy,本地代理需设置为 SOCKS5 类型的 127.0.0.1:9050。翻墙技术博客订阅地址及社交帐号

阅读更多

【翻墙】040.走进科学上网

中文、视频介绍科学上午常识。来源:http://www.moilioncircle.com/release/040.science-fuck-net.html视频优酷地址:http://v.youku.com/v_show/id_XMTY2NDg2MzIyNA==.html040.走进科学上网不等不靠,有囧有料。攻城狮,建造世界。科学上网,攻城狮必备技能,加快打怪练级速度,让一部分人先会上网,最终实现共同上网。 这个月朋友圈挺乱的,拉黑了些才清净了。俗话说,抵制什么货,都不如抵制蠢货。@史荣久 / 2016-07-30 / CC-BY-SA-3.0观看视频腾讯视频(被转720P)优酷视频(被转720P)百度网盘(原始1080P)内容摘要全局型 VPN应用级类库型 proxychains连接级代理型 Shadowsocksssh -D跑题:爱国贼,道德绑架,知识性谣言。参考资料Shadowsocks 简介Shadowsocks ORGproxychains Github吐槽:请别在朋友圈侮辱我的智商(知乎)名词:爱国贼(知乎)电影:浪潮 Die Welle (2008)欢迎围观if (you.accept(MoilionCircle.SPIRIT)) if(you.haveADL())MoilionCircle we = you.search(MoilionCircle.SLOGAN);we.welcome(you);if(you.share(this))We.thank(you);We.mayFind7Moilion();}制作花絮攻城狮,是一种品质 :) @NEWARK本期的连接尽量使用了知乎的,因为,一物降一物,知乎克百度。囧 … …发现之前的百度分享都被取消了。暴力尝试,才知38期敏感字了。之后得单个视频分享,要不文件夹死一窝。题图:“Across the Great Wall we can reach every corner in the world.(越过长城,走向世界)”翻墙技术博客订阅地址及社交帐号

阅读更多

翻墙|SNI Proxy用于科学上网

SNI是一个扩展的TLS计算机联网协议,这允许在握手过程开始时通过客户端告诉它正在连接的服务器的主机名称。来源:https://haiwx.github.io/2016/07/01/gsxd/相关链接:利用sni proxy做国内的出墙服务,使用什么方式连接到境外服务器比较好? 部署 SNI Proxy 加速网页访问 反代 无需证书VPS 教程系列:Dnsmasq + DNSCrypt + SNI Proxy 顺畅访问 Google 配置教程HTTP/HTTPS自动加密上网方案这里介绍SNI Proxy科学上网的应用。优点:客户端不需要安装任何客户端,也不用做什么帐号认证之类的东西。 自己的SNI Proxy服务器配置好 只要哪个网站需要用到代理只要把域名解析到自己的SNI Proxy上即可进行代理 方便各种手机不能Root之类的直接使用。缺点:没有认证机制,只要知道IP的人都可以用来作为自己的代理使用,让自己的VPS损失流量在这里就不说具体原理了,直接用就行。因为中国移动香港已经为大家建立好了SNI服务器 我们就不需要再自己花钱买VPS来建立,我们只需要HOST路由器的Dnsmasq或者自己搞一个DNS都行,把需要域名执行SNI服务器即可完成.最简单的使用的时候方法直接加入Hosts就好,指哪打哪,不用导入额外证书(防止中间人攻击)。我本人整理了一份SNI替换版Host,常用的都已包括在内,以后会不定时更新(不过想来中国移动香港的IP失效的机会应该很小吧 →_→ ),我是萌哒哒的传送门→链接: pan.baidu.com/s/1i5EtqCl 提取密码:wn6g 解压密码:Firefox翻墙技术博客订阅地址及社交帐号

阅读更多

月光博客|知名主机商Linode被关键字屏蔽

知名海外主机供应商Linode被中国屏蔽,目前已经无法访问,屏蔽的方法是域名关键字屏蔽(被屏蔽的关键字是.linode.com)和IP地址屏蔽。

Linode是国外非常著名的VPS商之一,成立于2003年,办公地点在新泽西。所提供的VPS主机服务颇多好评,在国内站长圈中颇受推崇。

Linode的VPS在业界有着较高的信誉评价,在国外和国内用户中的口碑不错,价格适中。Linode提供很多了原生的系统,装好基本的系统之后,可以根据自己的需求随便安装什么软件。对于中国用户来说,其机房访问速度相当快,用其做VPN可以带来很好的上网体验。

阅读更多