无界火狐扩展测试版0.2c (2016年8月25日)

更新内容:
修复了更换服务器·时可能出现的SSL超长警告 (请测试)。

请将旧版卸载再安装新版以免有冲突。

自带破网功能,无需运行其他破网软件,支持Windows, Mac, Linux, 32/64 (不需要再运行wine).

安装: 可以用火狐直接下载安装,点击“允许”。如火狐禁止下载,可用其他浏览器下载后用鼠标拉到火狐浏览器,点击“安装”。

使用:点击火狐右上角的无界图标,点击开关即可开启或关闭。 连接成功后,无界图标变成彩色。

http://wujieliulan.com/download/uf002c.xpi
SHA1: cc7a4581e2c039b51836a82b96215bd7b8528b02
MD5: b3b8a96bda281b5a8f0566000c8b69ee

原文:http://forums.internetfreedom.org/index.php?topic=21637.0

无界英文手机测试版 1.0.2 (2016年8月24日)

封锁严重时,主要是针对中文版,英文版可能不是封锁重点,所以把英文安卓手机版提供給大家,以便在封锁严重时备用。正常情况下,可以继续使用无界一点通或动态手机版。

http://wujieliulan.com/download/ua102.apk
SHA1: ce4ef2badf9f637d810fbe9bd76c2de6f2e76213
MD5: 3a1b54ac7301a36c25f21bac3d602b53

如能连上谷歌应用商店,可以搜索“ultrasurf vpn”, 或用以下链接:
play.google.com/store/apps/details?id=us.ultrasurf.mobile.ultrasurf

安装与无界一点通类似:

1。需要首先对手机进行设置: 按“菜单”键 –> settings(设置)–> Applications(应用程序), 钩选”Unknown sources”(未知源)。
注: 有的版本是: 按“菜单”键 –> settings(设置)–> security (安全) 里面, 钩选”Unknown sources”(未知源)。

2。将下载的ua102.apk文件拷贝到手机SD卡(或内置SD卡)上。在安卓手机上点击ua102.apk文件便可安装.

功能与使用:

1. 只支持安卓4.0以上。
2. 只支持整机VPN模式, 不支持代理模式。
3. 开启后,轻触或滑动开关,显示“Connecting …”,同时时上面会出现一个小钥匙和闪动的无界图标,表示正在连接。
4. 连接成功后无界图标停止闪动,显示“Connected”(连接成功)。此时您可以使用任何浏览器或app,都在无界加密保护下。
5. 使用时,只要无界图标和小钥匙都在,就在在无界加密保护下。
6. 如果要停止使用,轻触或滑动开关即可。关闭后,无界图标和小钥匙会消失,这时手机直接联网,不在无界加密保护下。
7. 在某些安卓版本的主机上,升级或重新安装后需要重启手机,这时会显示“Android Bug!” ,请要重启手机再运行无界。
8. 在3G/4G下使用,系统会显示无界耗电量比较大,这是因为在无界VPN下所有应用程序(app)都用过无界加密并驱动无线信号,整机耗电量不会增加很多。

注意事项:
1. 建议使用浏览器的“隐私模式”浏览敏感网站,这样不会留下历史纪录。
2. 如果浏览器不支持“隐私模式”,请手动清除所有历史纪录,或使用清除所有历史纪录的工具。
3. 为安全起见,建议关闭所有浏览器和其他app,再关闭无界,以免直连敏感网站。也可以直接重启手机, 这样最安全。

请大家测试并反馈, 谢谢

原文:http://forums.internetfreedom.org/index.php?topic=21633.0

无界浏览 Linux VPN 测试版 16.04c (2016年8月24日)

更新内容:
1. 修复了http不设置代理无法联网的问题 (还是建议设置代理以避免退出无界后直连)
2. 修复了SSL警告
3. 加速https连接
4. VPN模式下显示监听地址。

请大家测试并反馈:
http://wujieliulan.com/download/u1604c
SHA1: 0e47c835ad40d4dde484926abc94462b4eba8c6d
MD5: e11f030c449df106a8c3be7ee7056dad

使用方法:
下载后在下载的文件夹右键打开一个终端,在终端执行:chmod +x u1604c,然后执行:./u1604c, 终端出现以下信息:
LISTENING 127.0.0.1:9666 (监听 127.0.0.1:9666 )
Connecting … (正在连接)
CONNECTED (连接成功)
需要手动设置浏览器代理。

如需要监听 0.0.0.0,在终端执行: ./u1604c-L :9666
如需要通过代理, 执行: ./u1604c -P 1.2.3.4:8080 或 ./u1604c -P socks://1.2.3.4:1080

运行VPN模式,需要root或sudo, 执行:sudo ./u1604c -M vpn, 输入密码, 终端出现以下信息:
Connecting … (正在连接)
CONNECTED (连接成功)
LISTENING 127.0.0.1:9666 (监听 127.0.0.1:9666 )
VPN MODE (VPN模式)

如需要在VPN下分享:sudo ./u1604c -M vpn -L :9666
Connecting … (正在连接)
CONNECTED (连接成功)
LISTENING 0.0.0.0:9666 (监听 0.0.0.0:9666 )
VPN MODE (VPN模式)

在VPN模式下不需要设置代理,整机都通过无界加密翻墙,不会出现直连。我们还是建议设置代理以避免退出无界后直连,这样更安全。建议使用浏览器的“隐私模式”,这样不会留下历史纪录。退出无界前,最好关闭所有浏览器,以免退出后直连敏感网站。

原文:http://forums.internetfreedom.org/index.php?topic=21634.0

使用ShadowSocks科学上网及突破公司内网

什么是ShadowSocks

ShadowSocks是基于Socks5协议,使用类似SSH隧道的方式收发网络请求的一款开源软件,该软件由 @clowwindy 开发,最初只有Python版本,随后出现C++、C#、Go等多语言版本。ShadowSocks最大的特点是可以保护网络流量、加密数据传输,可有效防止GFW(Great Firewall of China)封杀网络请求。

用ShadowSocks科学上网的概念

在以前,我们访问互联网的资源都是简单而直接的,用户的请求发送到资源服务方,比如Google、Facebook等,然后资源服务方直接将内容响应给用户,世界多么美好。

但是,在1998年时候,中国创建了互联网边界审查系统,称之为中国国家防火墙(GFW),这堵墙横在了用户和互联网资源服务方之间,用于监控和过滤互联网国际出口上的内容,监控国际网关的通讯,对认为不匹配国家官方要求的传输内容,进行干扰、阻断、屏蔽。

从此之后好多有价值的网站就被堵在了墙后。

但是由于对知识的渴望,人们想到了绕过GFW的办法,那就是在境外搭建一个国内用户的代理,国内用户与代理之间建立加密的通道,由境外代理请求被墙的网络资源,再通过加密通道返回给国内用户。代理的类型也有多种,像HTTP、Socks、VPN、SSH等。以SSH隧道为例:

因为SSH本身基于RSA加密技术,所以GFW就无法对数据传输过程加密的数据进行分析,从而避免被重置链接、阻断、屏蔽等问题。

但是GFW也不会懵B一世,人家也会学习,由于在创建SSH隧道的过程中有较为明显的特性,所以GFW还是可以通过分析连接的特性进行干扰。此时ShadowSocks横空出世,先看看图示:

简单来说,ShadowSocks分为客户端和服务端,用户发出的请求基于Socks5协议与ShadowSocks客户端进行通信,一般情况下SS客户端都在本机,通过ShadowSocksX、GoAgentX等应用启动,所以这一步是不会经过GFW的,然后ShadowSocks提供了多种加密方式供客户端和服务端之间进行通信,并且在经过GFW时是普通的TCP协议数据包,没有明显的特征,而且GFW也无法解密分析,从而实现绕墙访问资源。

搭建ShadowSocks服务器

根据上文描述的ShadowSocks的实现原理,我们首先需要搭建一个境外的ShadowSocks服务器,这部分也是唯一需要我们花点小钱的地方。

以下文章内容均在MacOS下实践。

购买VPS

我使用的是Vultr的VPS,他家的VPS可选的地域较为丰富,而且有日本东京,这对于家里是联通网络的比较亲和,速度较好:


在系统和应用方面Vultr提供的种类也比较丰富:


 

Application


在价格方面,Vultr提供的最低价格为每月5美元,对应的性能足够满足ShadowSocks服务端的需求:


注册Vultr账号,绑定信用卡,选择自己中意的系统和价格后立即就会为你部署好VPS:

当VPS的状态为Running后,就表示VPS已经启动了,然后为该VPS配置我们的SSH公钥:

大家可以看看北京联通ping东京VPS的速度,还是很给力的:

使用该链接注册可获得20美元的优惠卷。

安装ShadowSocks

我们使用Python版的ShadowSocks进行安装,首先需要下载pip-8.1.2.tar.gz,然后使用工具将其上传至VPS,我使用的是Commander One,通过SFTP连接VPS:

使用Terminal连接VPS,一步一步输入以下命令解压安装pip:

tar -xzvf pip-8.1.2.tar.gz
cd pip-8.1.2
python setup.py install

然后通过pip安装ShadowSocks:

pip install shadowsocks

成功后可以看到如下信息:

Collecting shadowsocks
  Downloading shadowsocks-2.8.2.tar.gz
Installing collected packages: shadowsocks
  Running setup.py install for shadowsocks ... done
Successfully installed shadowsocks-2.8.2

配置ShadowSocks

进入到etc目录下,创建shadowsocks.json文件,并添加如下内容:

{
    "server":"你的VPS的IP",
    "server_port":8388,
    "local_port":1080,
    "password":"设置一个连接密码",
    "timeout":600,
    "method":"aes-256-cfb",
    "auth": true
}

该文件就是ShadowSocks的配置文件。
然后输入如下命令启动ShadowSocks服务:

ssserver -c /etc/shadowsocks.json -d start

最后清空防火墙规则:

iptables -F

至此ShadowSocks服务端就配置完成并可以使用了。

ShadowSocks客户端

Mac上ShadowSocks客户端的选择无非就是ShadowSocksX、GoAgentX、Surge这三个,前两者配置起来都大同小异,ShadowSocksX本身就是专门开启SS客户端服务的应用:

GoAgentX提供的服务类型更多,包括SS服务:

配置项都是一样的,把ShadowSocks服务端的配置信息一一对应就可以了。

Surge启SS服务的方式有点不同,因为应用在界面操作上没有提供创建SS服务的选项,但其实它是支持SS服务的,可能因为怕被请喝茶吧。所以需要在Surge的配置文件里添加SS服务相关的信息,如何配置网上有很多,这里就不再累赘了。

至此就打通了ShadowSocks客户端与服务端的通道,可以畅游墙外的世界了。

突破公司内网

一般情况在家我们在本机启着ShadowSocks客户端就可以了,但是如果在公司上外网需要走HTTP代理的话就不行了,因为ShadowSocks客户端需要走公司提供的代理才能连接到服务端,而上文中的客户端应用统统不支持额外代理功能,所以此时就需要用到另外一个工具Proxifier,该工具的作用就是接管运行中的所有应用发出的所有请求,然后通过代理进行转发,这样就可以让不支持代理的应用也可以走代理了。

打开Proxifier,选择Proxies选项卡设置公司的HTTP代理以及本地Socks5代理:


然后启动ShadowSocks客户端,比如启动GoAgentX,此时选择Proxifier的Rules选项卡,就会发现Proxifier自动捕获到了名为ss-local的应用,就是由GoAgentX开启的SS客户端,将其的代理规则设置为之前创建好的公司代理:

然后将Default的代理规则设置为之前创建好的本地Socks5代理:

这样就可以让ShadowSocks客户端通过公司代理连接服务端了:

你还可以设置其他的规则,让特定的应用走特定的代理,比如我让Git还是走了公司代理,这样Git服务就会从Default规则里剔除掉,相当于加了走SS服务的例外。

原文:http://www.devtalking.com/articles/shadowsocks-guide/

Hyper:无预付 免费20美元(用邀请链接为30美元)的类Docker 可搭建 shadowsocks | vps博士

注册

www.hyper.sh

直接到官网注册送20$。

使用邀请链接注册送30$

邀请链接: https://console.hyper.sh/register/invite/RnwKL02PKeF87ebQ4Y3nsaP2wrzKKgTa

注册成功后,请到:https://console.hyper.sh/billing 查看赠送的美元。

22

价格

容器价格:

Size CPU Core Mem Disk Network Per Second Per Hour Monthly
S1 1 64MB 10GB FREE $0.0000004 $0.00144 $1.03
S2 1 128MB 10GB FREE $0.0000006 $0.00216 $1.55
S3 1 256MB 10GB FREE $0.000001 $0.0036 $2.59
S4 1 512MB 10GB FREE $0.000002 $0.0072 $5.18
M1 1 1GB 10GB FREE $0.000004 $0.0144 $10.36
M2 2 2GB 10GB FREE $0.000008 $0.0288 $20.73
M3 2 4GB 10GB FREE $0.000015 $0.054 $38.88
L1 4 4GB 10GB FREE $0.00003 $0.108 $77.76
L2 4 8GB 10GB FREE $0.00006 $0.216 $155.52
L3 8 16GB 10GB FREE $0.00012 $0.432 $311.04

外网IP价格:

$1/IP/month

自己算一下 那30美刀 能用多久!!!

详细说明: https://hyper.sh/pricing.html

必备

  1. 有一个Linux系统。可以是VPS, 也可以是自己电脑安装虚拟机装一个Linux。如果你有MAC,那就更OK了。
  2. 注册账号,见上面。

PS: 没有Linux系统,也没有mac怎么办?

谢谢朋友提醒使用WebIDE  :

IDE地址: https://ide.coding.net/ws/?ownerName=duwan&projectName=WordPress&isTry=true

该IDE使用可参考历史文章:http://www.vpsdr.com/2016/08/14/using-shadowsocks-getcarina-set-free/

配置步骤和下面的是一样的。大家快去撸吧!!!

static-res.ruyo.net/wp-content/uploads/2016/08/998-300×208.png 300w, static-res.ruyo.net/wp-content/uploads/2016/08/998-768×533.png 768w” alt=”998″ width=”787″ height=”546″ class=”” style=””>

步骤

激活密钥

首先,登录账号。将自己的Key和密钥 激活!

https://console.hyper.sh/account/credential

33 44

安装环境

目前只支持Linux 和 MAC OS。

本次演示使用的是Linux Centos6 系统。

安装CLI环境

Linux

国外VPS可用下面的命令。

 

wget https://hyper-install.s3.amazonaws.com/hyper-linux-x86_64.tar.gz

tar xzf hyperlinuxx86_64.tar.gz

chmod +x hyper

./hyper

原文:http://www.chinagfw.org/2016/08/hyper-2030-docker-shadowsocks.html

V2Ray 一周年记 & V2Ray 完全使用教程

V2Ray 用户手册

欢迎使用 V2Ray 来连接世界的另一端。
  • 语言: Chinese English
  • 下载: GitHub release BT Sync
  • 聊天: Telegram Twitter Gitter Google+
  • 联系: Email PGP 公钥



来源:https://www.v2ray.com/blog/2016/one-year.html
官网:
https://www.v2ray.com/
GitHub:https://github.com/v2ray/v2ray-core
V2Ray 完全使用教程来源:https://yuan.ga/v2ray-complete-tutorial/

V2Ray 是在 Shadowsocks 被删之后开始的一个项目,到今天差不多一年了。
为什么要做这个项目?尽管我已经身在国外,享受着高速流畅的网络,但总有一天是要回国的。无论长期还是短期,目睹着国内日益恶劣网络环境,我并不想一回去就与世隔绝了。未雨绸缪,这是先辈们总结出来的教训。
一年来 V2Ray 基本是按照最初的构想在逐步完善中,尽管进度比最初的计划要慢了许多。一些关键问题一直没有解决,导致部分计划迟迟不能实施。面对强大的国家机器,谨慎一些没什么坏处,先把能做的都做了。
这一年中,最突出的变化就是翻墙工具越来越多,不同的开发者尝试着不同的方式来解除封锁。这其中有成功的,也有失败的。
V2Ray 并不是这些工具的直接竞争者。V2Ray 是一个平台,它支持各种各样的通讯协议,灵活的组合搭配。现在有 Shadowsocks、VMess、mKCP,以后会有更多。对于开发者而言,V2Ray 是一个实验场,你可以在其之上快速开发和实验新的功能,而不需要把时间浪费在重复的代码上。对于用户而言,每一个基于 V2Ray 的翻墙工具,都具有着同样强大的功能和稳定性。
下一年的计划,简单来说,V2Ray 会支持更多协议和伪装功能,提供编程接口,使二次开发变得轻而易举。
在此感谢这一年来对 V2Ray 项目做出贡献的朋友们,有你们的支持,V2Ray 项目才会变得更好。
Darien Raymond, Founder of V2Ray

================================================

V2Ray 完全使用教程


这是一个较新的上网工具,主要目的就是上谷歌、推特等网站。由于在今天推出的新版本支持shadowsocks协议,暂时弥补了目前没有手机端的缺陷。这个工具目前还比较小众,所以不会成为研究对象,也正因为比较小众,目前还没有比较多而详细的教程供参考,所以就提高了初学者使用门槛。这里写下我的搭建过程供后人参考。

需要工具:

  • vps一台
  • 加油+努力+勇气

一、服务端搭建过程

1-1自动安装脚本(推荐)

curl -L -s https://raw.githubusercontent.com/v2ray/v2ray-core/master/release/install-release.sh |bash  
运行以上命令需要root权限,所以需要切换到root账户下,如果是ubuntu系统,也可以使用sudo 命令,如下:
sudo curl -L -s https://raw.githubusercontent.com/v2ray/v2ray-core/master/release/install-release.sh |sudo bash  
该脚本会自动安装unzip和deamon,并自动安装以下两个文件:
  • /usr/bin/v2ray/v2ray:V2Ray 程序;
  • /etc/v2ray/config.json:配置文件;
官方说明:此脚本会配置自动运行脚本。自动运行脚本目前仅适用于 SysV 模式,不支持 Debian 7 的 systemd。
脚本安装完成无误后,可以进行如下操作:
  1. 编辑 /etc/v2ray/config.json 文件来配置你需要的代理方式;
  2. 运行 service v2ray start 来启动 V2Ray 进程;
  3. 之后可以使用 service v2ray start|stop|status|reload|restart|force-reload 控制 V2Ray 的运行。
以上命令均需要root权限。至于第一步编辑配置文件,也可以偷懒不进行改动,不过最好改动一下端口以及id,改动id是为了安全不被蹿用,改动端口为三位数或更少,对速度有所改善(这一点不是很确定,但我本人认为如此)。如果需要shadowscoks代理,则需要进一步配置,可以参考下面章节 1-2手动安装 中的部分。

1-2手动安装

如果你从按照以上方法安装失败,那么可以尝试手动安装。这里列出主要过程,下面是详细解说:
wget 下载链接
unzip v2ray*.zip
cd v2ray*
chmod +x v2ray
./v2ray -config vpoint_vmess_freedom.json
首先ssh连接上自己的vps,然后到这里找到适合自己vps的版本,直接在下载链接上右键复制链接。然后切回ssh窗口,输入命令 wget 粘贴之前复制的链接进行下载,下载完成后使用 unzip xxx.zip以解压文件。使用cd命令进入解压出的文件夹。
首先使用vim vpoint_vmess_freedom.json命令编辑配置文件,其实id和端口如果图省事可以不换,如果想要换掉id可以通过Online UUID Generator这给网站生成。注:服务端的id需要和客户端保持一致。
不过想要需要支持shadownsocks,还需要再进行配置。顺便一提,shadowsocks的端口配置支持1000-1010这种形式的多端口配置。可以参考官方文档shadoowsocks配置样例
  "inboundDetour": [
    {
      "protocol": "shadowsocks",   // 开启 Shadowsocks
      "port": 30001, // 监听 30001 端口
      "settings": {
        "method": "aes-256-cfb", // 加密方式,支持 aes-256-cfb 和 aes-128-cfb
        "password": "v2ray",     // 密码,必须和客户端相同
        "udp": false             // 是否开启 UDP 转发
      }
    }
  ],
注意需要删掉注释,然后把这段配置粘贴进配置文件中,端口、密码可以适当修改。修改好后保存,使用chmod +x v2ray给它加上执行权限,这样就完成了。之后可以通过./v2ray -h查看使用方法,或者直接通过 sudo ./v2ray -config vpoint_vmess_freedom.json执行就成了。不过这样在关闭ssh窗口时,v2ray也就关闭了,所以需要让它维持后台运行。这里的官方教程讲的非常详细,
sudo vim /etc/init.d/v2ray #创建配置文件并粘贴下列内容  
#!/bin/sh
### BEGIN INIT INFO
# Provides:          v2ray
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: socksv5 based proxy written by go.
# Description:       v2ray is a socksv5 proxy written by go. Connection can be crypto by aes or
#            des. this might help for people in China to corss GFW.
### END INIT INFO

# Author: Shell Xu <shell909090@gmail.com>
# Modify: Isulew Li <netcookies@gmail.com>

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin  
DESC=v2ray             # Introduce a short description here  
NAME=v2ray             # Introduce the short server's name here  
DAEMON=/usr/bin/v2ray  #这里改成v2ray程序的完整位置  
PIDFILE=/var/run/$NAME.pid  
LOGFILE=/var/log/$NAME.log  
SCRIPTNAME=/etc/init.d/$NAME

DAEMON_OPTS="-config /etc/v2ray/config.json" #这里改成配置文件完整位置

# Exit if the package is not installed
[ -x $DAEMON ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()  
{
    # Return
    #   0 if daemon has been started
    #   1 if daemon was already running
    #   2 if daemon could not be started
    #   3 if configuration file not ready for daemon
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null 
        || return 1
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background 
         --no-close -m -- $DAEMON_OPTS >> $LOGFILE 2>&1 
        || return 2
    chmod -f 600 $LOGFILE
    # Add code here, if necessary, that waits for the process to be ready
    # to handle requests from services started subsequently which depend
    # on this one.  As a last resort, sleep for some time.
}

#
# Function that stops the daemon/service
#
do_stop()  
{
    # Return
    #   0 if daemon has been stopped
    #   1 if daemon was already stopped
    #   2 if daemon could not be stopped
    #   other if a failure occurred
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
    RETVAL="$?"
    [ "$RETVAL" = 2 ] && return 2
    # Wait for children to finish too if this is a daemon that forks
    # and if the daemon is only ever run from this initscript.
    # If the above conditions are not satisfied then add some other code
    # that waits for the process to drop all resources that could be
    # needed by services started subsequently.  A last resort is to
    # sleep for some time.
    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
    [ "$?" = 2 ] && return 2
    # Many daemons don't delete their pidfiles when they exit.
    rm -f $PIDFILE
    return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {  
    #
    # If the daemon can reload its configuration without
    # restarting (for example, when it is sent a SIGHUP),
    # then implement that here.
    #
    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE
    return 0
}

case "$1" in  
  start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
    do_start
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
  ;;
  stop)
    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
    do_stop
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
    ;;
  status)
       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
       ;;
  reload|force-reload)
    #
    # If do_reload() is not implemented then leave this commented out
    # and leave 'force-reload' as an alias for 'restart'.
    #
    log_daemon_msg "Reloading $DESC" "$NAME"
    do_reload
    log_end_msg $?
    ;;
  restart|force-reload)
    #
    # If the "reload" option is implemented then remove the
    # 'force-reload' alias
    #
    log_daemon_msg "Restarting $DESC" "$NAME"
    do_stop
    case "$?" in
      0|1)
        do_start
        case "$?" in
            0) log_end_msg 0 ;;
            1) log_end_msg 1 ;; # Old process is still running
            *) log_end_msg 1 ;; # Failed to start
        esac
        ;;
      *)
        # Failed to stop
        log_end_msg 1
        ;;
    esac
    ;;
  *)
    #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
    echo "Usage: $SCRIPTNAME {start|stop|status|reload|restart|force-reload}" >&2
    exit 3
    ;;
esac
在配置的/etc/init.d/v2ray中只需要修改两个地方就可以了,一个是主程序位置,一个是配置文件位置,都需要使用绝对位置。DAEMON=/usr/bin/v2ray这里填入主程序位置,假如自己的程序在/home/xxx/v2ray/v2ray中,需要 完整填入,这里的前一个v2ray为文件夹名,后一个v2ray为程序名。然后在DAEMON_OPTS="-config /etc/v2ray/config.json"这行后面的位置改成自己的配置文件位置,就变成了DAEMON_OPTS="-config /home/xxx/v2ray/vpoint_vmess_freedom.json
配置好保存后需要:
sudo chmod +x /etc/init.d/v2ray #更改权限  
sudo update-rc.d v2ray defaults #设置开机启动  
官方的示例配置还告诉了如何使用shadowsocks协议以及各种其他协议使用方法。可以选择性的配置。

二、客户端的使用

这里主要就是从之前的下载v2ray服务端的网站,下载windows抑或是其他适合自己目前系统的客户端(客户端和服务端是一体的)。在配置中如果没其他变动,配置文件中也就改个ip就能用了,原本Id也需要相同,但是如果服务端没有修改是默认的,那么客户端也无需修改。之后在浏览器也需要个扩展插件配合,chrome的扩展omega或者firefox的autoproxy,其中配置成socks 127.0.0.1:1080就好了。
如果在服务端配置中还加上了shadowsocks的支持,那么也可以直接使用shadowsocks的客户端。

三、遇到什么问题?

1)vps硬盘被v2ray的日志占满了。
/var/log/v2ray/error.log的日志文件过大,这个不确定是否是普遍性的问题,但是我确实遇到过,可以通过修改/etc/v2ray/config.json 中的
   "log" : {
     "access": "/var/log/v2ray/access.log",
     "error": "/var/log/v2ray/error.log",
删除error,成为下列内容:
   "log" : {
     "access": "/var/log/v2ray/access.log",
     "": "/var/log/v2ray/error.log",
修改保存后可以取消输出日志。我知道,这并不是一个好办法,不过可以暂时解决问题。

Just Proxy VPN 安全、快速免費連線工具,可用美國、英國等國家 IP 位址

有時候上網需要繞過被封鎖的網路,或者瀏覽一些限定國家來源網站、網路服務,我們可以利用最簡單的 VPN(Virtual Private Network,虛擬私人網路)技術來達成,沒有複雜難懂的設定方法,只要在瀏覽器安裝與 VPN 相關擴充功能就能一鍵開關,非常方便!之前我也介紹過一些附屬於 Google Chrome 或 Firefox 下的免費 VPN 功能,例如:TunnelBearBetternetTunlr VPN,如有需要相關工具的話都能到這些文章找找是不是符合自己需求。
本文要再來介紹一個最近新推出的「Just Proxy VPN」免費工具,讓你能夠更安全、快速、簡單瀏覽任何網路,用這項服務只要下載、安裝 Google Chrome 擴充功能,即可一鍵開啟 VPN 加密連線,讓你直接隱藏真實 IP 位址,或從其他國家節點來進行連線。
Just Proxy VPN 目前支援 19 個節點,遍及美國、英國、新加坡、加拿大、德國、法國、荷蘭、澳洲、印度和日本,不過免費方案僅能使用紐約、倫敦及新加坡三個節點,但用來應急的話倒是個可以考慮的選擇,只是缺點是速度不快,如太多人使用的話延遲會非常明顯。
網站名稱:Just Proxy VPN
網站鏈結:
https://www.justproxy.io/
免費下載:
從 Chrome 線上應用程式商店下載

使用教學

STEP 1
開啟 Just Proxy VPN 網站可以找到 Chrome 擴充功能下載頁面,或是直接從本文上方提供的擴充功能頁面鏈結點擊進入,安裝後右上角會出現一個 Just Proxy VPN 按鈕,點選後就能開啟相關連線功能。
Just Proxy VPN
STEP 2
點選按鈕開啟 Just Proxy 後,預設為關閉(Off)狀態,將開關切換至開啟(On)就會自動連線到預設的 VPN 美國紐約節點。
Just Proxy VPN
當開啟 Just Proxy 的 VPN 連線功能後,才能從下方來選擇連線節點,文章前面有提到,免費版只能連結紐約、倫敦和新加坡,如果要使用其他節點必須付費升級為 Premium 帳號。
每個節點後方的顏色圈圈代表該節點目前的使用率,如果是綠色代表使用者較少,紅色的話則代表目前用戶較多,可能會影響速度。
Just Proxy VPN
STEP 3
試著以 Just Proxy VPN 連線到新加坡後,當出現如下圖的畫面時,所有瀏覽網頁的動作都會自動走你所指定的節點。
Just Proxy VPN
當我連線到其他網站時,對方也會看到我來自新加坡的 IP 位址,而非我的真實 IP,一來可以隱藏你的來源身分,二來 VPN 本身就是一個加密通訊協定,能確保資料在傳輸過程中是全程以加密狀態傳送,避免中途被劫取而洩漏資料。
Just Proxy VPN
STEP 4
如果你想付費升級為 Just Proxy VPN 的 Premium 帳號,可以使用超過 16 個 Premium 付費專用節點,以及更快速度和低延遲,並且有 14 天的不滿意全額退費保證!價格為每月 $5 USD 或者年費 $50 USD,其實價格上還不算太高,適合少量使用者選用,只是我沒使用過付費節點不太確定速度如何,若不滿意也可以隨時取消要求退款。
Just Proxy VPN
若你覺得 Just Proxy VPN 無法滿足你的需求,無論在連線國家、速度或操作上,那麼也可以考慮選擇 Opera 提供的免費服務,我在「Opera 免費無限流量 VPN 一鍵翻牆隱藏 IP 教學」一文有詳細深入介紹,不妨參考看看。

值得一試的三個理由:

  1. 使用方便簡單,下載安裝 Chrome 擴充功能即可開啟 VPN 連線
  2. 免費帳號可使用三個節點:美國、英國及新加坡
  3. 無流量限制,但僅限於瀏覽網頁時使用

维基百科免翻墙插件

1.需要的软件:

  1. 狐火浏览器,在这里可以下载最新版:https://www.mozilla.org/zh-CN/firefox/new/
  2. 免翻墙浏览维基百科插件:https://raw.githubusercontent.com/p3rcya/Wikipedia_zh/master/Wikipedia.xpi
 
2.安装步骤:
  1. 安装好并启动火狐浏览器;
  2. 下载免翻墙浏览维基百科插件,可以下载到桌面方便查找;
  3. 把插件用鼠标拖动到浏览器页面任何位置,见下图:

  4. 然后会显示要求确认安装的窗口,点击 安装

  5. 不一会就会显示安装完成,显示如下信息窗口:

  6. 然后也会在浏览器上方右侧的工具条显示维基百科的图标,如下红圈中:

  7. 点击这个图标就可以在免翻墙状态下启动维基百科,显示如下:


3.维基百科图标的高级玩法 
 
  1. 你可以把工具条中的维基百科图标移动到菜单中,只要把鼠标放到工具条维基百科的图标的上面,点击右键,然后点 移动到菜单 就可以,如下图:

  2. 这样,维基百科的图标就会被移动到右侧三横杆的菜单工具里面,如下图:

  3. 从这个位置,可以把图标移动到工具栏,或者删除,如果删除以后,会转到菜单工具栏的定制里面。点击菜单下面的 定制 ,会出现包括维基百科的图标的 “更多工具和功能”,并通过这里可以把图标再添加到工具栏或菜单两个地方,如下图所示:

  4. 总之就是:一个工具图标可以在浏览器的 工具栏菜单图标库(更多工具或功能)三个地方轮流循环。

原文:http://www.chinagfw.org/2016/08/blog-post_23.html

用 ASUS Merlin 路由器 VPN 科学上网

作者:左耳朵 http://coolshell.cn 更新时间:2016-08-10

这篇文章及其脚本可以写的更好,欢迎到 https://github.com/haoel/haoel.github.io 更新

准备

首先,你应该对英文读写没什么问题

为什么这么说?逻辑是这样的,如果你上了Google还是在用中文关键词,那么你科学上网有什么意义呢? 换言之,科学上网的目的是为了进入广阔的世界范围与全世界的人交流,所以,英文是必备的,如果你英文有问题,VPN过去也的用处也不大。

所以,我把这个前提条件放在第一的位置,就是说—— 真正的墙不是GFW,而是人的大脑

然后,你需要一个VPN

这里我用的是PPTP,可以上AWS日本申请个免费试用一年的EC2 VPS,或是Linode买个一月USD10刀的VPS,然后自建一个PPTP的VPN。

我在北京,感觉日本的VPS是比较快,其本上ping值可以在100ms以内,linode的似乎可以在50ms左右。Anyway,现在你买一台VPS也不贵了,也就是一个月10美金左右(60-70元),千万别告诉我,一个月你花60-70元钱对你是件很奢侈的事

关于PPTP服务器的设置,请参看 《How To Setup Your Own VPN With PPTP

最后,你需要一台ASUS的路由器

用这台路由器的目的是为了用路由器科学上网,这样全家或全公司就科学上网了。

朋友安利我的是 华硕(ASUS) RT-AC68U 1900M AC 双频智能无线路由路,可能这个路由器对你来说有点贵,你也可以看看别的,比如:RT-AC66U,大约600元。

当然,不用这样的路由器也没有什么问题,在所有的客户端设备上设置VPN也没有问题。

路由器设置

给路由器刷 merlin 固件

首先Asuswrt是华硕公司为他的路由器所开发的固件。Asuswrt-merlin是一个对Asuswrt固件二次开发进行各种改进和修正的项目。源代码在这里:https://github.com/RMerl/asuswrt-merlin

Merlin固件拥有更多的功能,由于第三方不断维护代码,各种新功能也在不断增加。Merlin固件的升级并不需要反复的操作过程,方法与官方固件的升级相同,有很好的硬件软件兼容性。继承了Asuswrt官方固件优秀的交互界面。

另外,不必担心把路由器刷废了,华硕的路由器可以让你一键重置回来

1)下载固件。先到 https://asuswrt.lostrealm.ca/download 下载相应的固件,并解压。(我下载的是 RT-AC68U_380.61_0.zip 

2)升级固件。登录到你的路由器后台 http://192.168.1.1/ ,在 系统管理 -> 固件升级中上传固件文件(我上传的是:RT-AC68U_380.61_0.trx

3)打开 JFFS 分区系统管理 -> 系统设置 -> Persistent JFFS2 partition

  • Format JFFS partition at next boot  
  • Enable JFFS custom scripts and configs  

4)打开 ssh 登录 系统管理 -> 系统设置 -> SSH Daemon

  • Allow SSH password login  

连接 VPN

1)到 VPN -> PPTP/L2TP Client 中 添加设置文件。

注:最好使用PPTP,设置起来比较简单。L2TP不支持PEK的共享密码。

2)保存配置后,点 Active, 如果一切正确,可以看到连接成功。

设置路由

此时,你的路由器就VPN了,但是,包括访问中国的网站也被代理了。所以,还要设置一下路由表。

ssh admin@192.168.1.1

输入你设置的路由器后台的登录口令,你就可以进入路由器的操作系统了。

下载路由表

为什么要设置路由表?

路由器VPN后,你所有的网络访问都得多国外绕一圈了。所以,需要把国内的IP给过滤出来,所以,需要设置静态路由表。

cd /jffs/scripts
wget https://haoel.github.io/downloads/route.sh
echo -e "#!/bin/sh\n\n/jffs/scripts/route.sh delete\n/jffs/scripts/route.sh add" > /jffs/scripts/wan-start
chmod a+rx /jffs/scripts/*

wan-start 是什么?

注:wan-start 是一个事件脚本,在wan口连上后会运行,这里的运行指令是,先删除路由,再加入(因为WAN口的IP可能会换了)

route.sh 怎么来的?

下载动态DNS配置

为什么要设置动态DNS?

因为很多网站都会使用CDN,使用CDN的通常都会用DNS的CNAME做解析,所以,你的路由器VPN后,你的DNS服务器也会变了,我们这里默认使用的是Google的8.8.8.8,当然,这台服务器在国外,所以,用这台服务器解析域名的时候,就会解析到国外。所以,我们还需要一个动态的DNS配置,对于国内的站点,使用国内的DNS,对于国外的站点,使用8.8.8.8

cd /jffs/configs
wget https://haoel.github.io/downloads/dnsmasq.conf.add

dnsmasq.conf.add怎么来的?

注:文件里用到的是 114.114.114.114 作为国内的DNS解析服务。经网友指出这个不靠谱http://bobao.360.cn/news/detail/1793.html

你可以在路由器上通过 nvram get wan0_dns 查看你自己的DNS,然后替换掉,如:

sed -i "s/114.114.114.114/$(nvram get wan0_dns|awk '{print $1}')/" dnsmasq.conf.add

运行命令生效

/jffs/scripts/route.sh add 
service restart_dnsmasq

接下来,你需要让你的设备重新连接一下WiFi路由器。

检查

你可以使用一些命令在检查,相应的域名是否被CNAME到了正确的地方。

如:

nslookup itunes.apple.com
ping www.google.com
traceroute weibo.com

然后查一查相关的IP是的位置在哪个国家。

已知问题

QUIC 的问题

使用上述配置,在使用Chrome访问Googlet系统的网站时,比如:www.google.com、www.youtube.com 会出现打不开页面的问题。我做了一些调查,发现,这个问题是和Google的 QUIC 协议相关,因为Safari和FireFox是没有这个问题的,因为Safari和Firefox用的是HTTPS而不是QUIC。

Workaround的方式是 Disable Chrome的试验型的QUIC协议,在Chrome里访问chrome://flags/#enable-quic 可以关闭QUIC。

目前,我在ASUS Merlin的官方论坛发了个贴:http://www.snbforums.com/threads/quic-issue.34105/

(全文完)

原文https://haoel.github.io/

HostsHelper一键替换hosts来实现科学上网

首先贴上下载地址吧。压缩包 Jar包

我一直是采用的替换hosts的方法来上谷歌之类的墙外网站,今天早上在替换hosts的时候,突然觉得每次手动替换hosts真的挺麻烦的。因为文件的目录层级比较深找起来比较困难,于是萌生了自己写一个软件来实现的想法。虽然自己基本不会写桌面端的应用,但是觉得这个小玩意儿实现难度应该也并不是很大。由于不熟悉桌面应用的开发,所以也不知道使用什么库来做这个。在Java的SWing和Python的Tkinter之间纠结了很久,最后选择了我稍微接触过一点的SWing。(事实上,这真是一个错误的选择。这个选择注定了我不得不把一个百来行代码的小工具做得体积如此之巨大。)一边学一边做花了小半天终于做出来这个玩意儿。

先说一下这个软件大概是怎么回事吧。由于可以通过替换hosts文件来实现科学上网,我是一直使用这个方法来进行科学上网的,并且我知道一个长期更新稳定hosts的网站,所以今天觉得可以做一个软件来实现一键科学上网。关于替换hosts文件科学上网的原理请看这里 修改hosts文件的原理是什么

先说一下使用吧,我把ipv4和ipv6的hosts都放在了自己博客上,然后客户端会把我放好的hosts的文件信息下载到本地然后写到系统的hosts文件里面去。替换hosts文件需要谨慎,我所放的hosts文件都是我自己用的,并且我已经检查过文件里的内容,但是我不敢保证百分之百的安全,所以如果有需要用到的,可以下载我给的hosts文件信息进行检查。下载地址是:IPV4IPV6
如果有校园网,那么应该是支持IPV6的,建议使用IPV6的hosts,能够获得更好的使用体验。由于替换hosts文件是危险操作,所以这个软件的运行会被360等安全软件警告或者阻止。所以如果需要使用那么请给此软件放行或者暂时关掉360等安全软件。

使用此软件替换hosts成功后,就可以科学上网。如果hosts失效请尝试再次获取hosts并替换文件。如果有hosts更新我会及时更新远程的hosts以保证客户端请求的hosts是有效的。

关于软件的体积,实际上这只是一个很小的工具,代码量也非常少,所以体积应该很小。但是怎奈我选了Java这个天坑,我算是终于明白为什么说Java不适合开发桌面应用了。由于Java开发的应用的运行需要JRE(Java Runtime Environment),但是很多用户电脑都不会安装这个。所以为了能让没有安装JRE的朋友也可以用到并且不需要去安装JRE,我将运行文件做成了exe(这里又是一段悲伤的故事)文件,并且将JRE和exe打包在了一起,从而保证解压就可以使用,但是由于集成了JRE,所以压缩包的体积还是达到了将近40m。另外我也提供了不集成JRE的Jar文件,在安装了JRE的电脑可以直接运行,体积非常小。

这个软件纯粹就是自己突发奇想为了方便自己和练练手而写着玩的。UI很丑,代码很烂,功能很少,可能还会有未知的bug。但是写完以后觉得说不定对于一些讨厌折腾又想要科学上网的人来说,可能会有一点用呢,所以决定将它分享出来,若是这个东西真的能够帮助到需要的人,那也不枉费半天的努力。

原文http://shiguangyin.xyz/2016/07/26/HostsHelper/

挑战网络审查?Firefox扩展程序“No More 404s”将帮你打开消失网页

Firefox可能会用网页缓存代替404。Firefox 开展新项目,将用网页快照代替消失的网页。网页截图

由于网络审查等多种原因,总有一些网页会在发布一段时间后离奇消失,内地网民将这种现象戏谑为“手慢无”。尽管各大搜索引擎都提供网页快照(Web Cache),以便用户查询失效网页内容,但这种方法并不直接,而且能否找到快照取决于搜索关键词的准确度。

为解决用户这一困扰,Mozilla 公司的开源网页浏览器 Firefox 近日在其测试平台 Test Pilot 上启动了名为“No More 404s”的新项目,计划推出一个浏览器扩展程序,让已无法访问网页的快照内容直接替代其失效链接,方便 Firefox 浏览器用户查看。

对上网时遇到死胡同感到厌烦?当某个网页消失时,我们会尝试给你一份快照。

Firefox 测试项目“No More 404s”导语

RFC 2616 规范定义用以表示网页伺服器 HTTP(超文本传输协议)响应状态的 HTTP 状态码由3位数字组成,最常见的包括“403 Forbidden”、“404 Not Found”等错误讯息。

其中,“404 Not Found”代表客户端在浏览网页时,伺服器无法正常提供讯息或无法回应且不知原因,404 错误讯息通常是在目标页面被更改或移除之后出现。

Firefox 正在测试的“No More 404s”扩展功能可以让其用户访问已经快照的内容,这些内容由非营利组织互联网档案馆(Internet Archive)的存有近5000亿网页的 Wayback Machine 提供。不过,该扩展程序不适用于在 Wayback Machine 上没有快照的页面,也不适用于自动跳转至其他页面的链接以及其他 HTTP 错误讯息代码。

3根据 Net Market Share 今年7月的统计数据,Firefox 在全球浏览器市场占有率排在第3位,仅次于 Chrome 和 IE。

互联网档案馆

互联网档案馆(Internet Archive)是一个非牟利性的数码图书馆。成立于1996年,由 Alexa 创始人布鲁斯特·卡利(Brewster Kahle)创办。提供数字数据如网站、音乐、动态图像、和数百万书籍的永久性免费储存及获取。迄至2012年10月,其资讯储量达到10PB。除此之外,该档案馆也是网络开放与自由化的倡议者之一。其数据是由自带的网络爬虫自动搜集的,其网站典藏档案馆网站时光机,抓取了超过1500亿的网页。其年度预算约100万美元,来源则是其网页爬虫服务、合作关系、赞助以及卡利-奥斯丁基金会(Kahle-Austin Foundation)。总部位于美国旧金山里奇蒙德区,此地雇员只有数十人,大部分雇员工作于书籍扫描中心,在雷德伍德城(Redwood City)也有数据中心。该数据库是国际互联网储存联盟成员,2007年被加利福尼亚州选为官方指定图书馆。(资料来自维基百科)

来源:GhacksThe Verge

原文:https://theinitium.com/article/20160808-dailynews-no-404/

Shadowsocks for视窗版客户端(v3.2)

  • Add AES-CTR, blowfish and camellia ciphers support, including aes-256-ctr, aes-192-ctr, aes-128-ctr, bf-cfb, camellia-128-cfb, camellia-192-cfb and camellia-256-cfb.
  • Support one-time authentication in ss urls for sharing by @Mygod
  • Support traffic chart and traffic icon by @celeron533
  • Add proxy support by @Noisyfox
  • Add verbose logging
  • Improve LogForm
  • Delete log file when clicking “Clean Logs” in the LogForm
  • Bug fixes and improvements

Attention: Please clear %TEMP% dir and reconfigure your settings from scratch. If you are using portable mode, just delete temp/ folder.

注意: 请清除临时文件夹 %TEMP% 并且重新配置。如果正在使用便携模式 (portable mode),只需删除和 Shadowsocks.exe 位于同目录的 temp/ 文件夹。

If you encounter any issue, please refer to https://github.com/shadowsocks/shadowsocks-windows/wiki/Troubleshooting.

如果遇到任何问题,请首先参考https://github.com/shadowsocks/shadowsocks-windows/wiki/Troubleshooting


Info of Shadowsocks.exe

  • Size: 786944 Bytes
  • MD5: B143E87A8F846F4C423F99DEC9C74802
  • SHA1: EAC201E12E12C93F158434342FC4649BECE76CF5

Downloads

原文:https://github.com/shadowsocks/shadowsocks-windows/releases/tag/3.2

安卓版: 无界一点通3.8正式版(2016年8月9日)

无界一点通3.8a测试版升级为正式版。

http://wujieliulan.com/download/um3.8.apk

sha1:5b36e88b4d66e9044695956aba8a984ee6d18392
md5:919f46ad721287f2f251472c898daf23

谢谢!

—————–

“无界一点通”是安卓版的翻墙软件, 让您看到没有被过滤的真实讯息。适用于安卓手机/安卓机顶盒等安卓平台。

安装”无界一点通”:

1。需要首先对手机进行设置: 按“菜单”键 –> settings(设置)–> Applications(应用程序), 钩选”Unknown sources”(未知源)。
注: 有的版本是: 按“菜单”键 –> settings(设置)–> security (安全) 里面, 钩选”Unknown sources”(未知源)。

2。将下载的um.apk文件拷贝到手机SD卡(或内置SD卡)上。如果下载的为压缩文件, 无须解压, 直接将文件扩展名 .zip 更改为 .apk 。
在安卓手机上点击um.apk文件便可安装。如与已经安装的无界一点通旧版有冲突,请先卸载旧版, 再安装新版。

3。详细说明见网址: 《网址》m.wujieliulan.com/userguide.html 《网址》

原文:http://forums.internetfreedom.org/index.php?topic=21611.0

开源翻墙工具萤火虫新版 (0.4.0) 和安卓手机应用

支持黑名单/白名单(自动更新),墙内直通,墙外自动翻墙,浏览器建议使用FireFox或Chrome,无需安装翻墙插件。

支持Windows和Mac系统,操作说明和设置界面为中文,自动解压缩到桌面并生成快捷方式,纯绿色,删除文件即卸载。

项目页:https://github.com/yinghuocho/firefly-proxy

FireFly 0.4.0 版下载 (Windows版,OSX版, Ubuntu版,Android 4.0.3及以上):

B6AQnCVCIAErNAs.jpg-large

附:(China Digital Times)发布免翻墙浏览器扩展

一键穿墙,任性阅读中国数字时代。

下载: github

安装: 直接用 Firefox 浏览器打开安装文件

方法1:墙外请直接访问 Chrome Store 地址 安装;

方法2:
2.1 点击 
github 下载 china_digital_times-v0.0.5.crx
2.2 在谷歌地址栏输入 chrome://extensions/ 打开扩展程序管理界面,
2.3 将安装文件拖拽入浏览器窗口.

gongfuwang

更多安装使用细节请看:

中国数字时代免翻墙浏览器扩展安装使用方法

gfw2

安卓版: 无界一点通3.8a测试版(2016年8月8日)

无界一点通3.8a测试版, 加强联通能力,请帮忙测试并反馈:

http://wujieliulan.com/download/um3.8a.apk

sha1:5b36e88b4d66e9044695956aba8a984ee6d18392
md5:919f46ad721287f2f251472c898daf23

谢谢!

—————–

“无界一点通”是安卓版的翻墙软件, 让您看到没有被过滤的真实讯息。适用于安卓手机/安卓机顶盒等安卓平台。

安装”无界一点通”测试版:

1.需要首先对手机进行设置: 按“菜单”键 –> settings(设置)–> Applications(应用程序), 钩选”Unknown sources”(未知源)。

注: 有的版本是: 按“菜单”键 –> settings(设置)–> security (安全) 里面, 钩选”Unknown sources”(未知源)。

2.将下载的um.apk文件拷贝到手机SD卡(或内置SD卡)上。如果下载的为压缩文件, 无须解压, 直接将文件扩展名 .zip 更改为 .apk 。

在安卓手机上点击um.apk文件便可安装。如与已经安装的无界一点通旧版有冲突,请先卸载旧版, 再安装新版。

3.详细说明见网址: 《网址》m.wujieliulan.com/userguide.html 《网址》

原文:http://forums.internetfreedom.org/index.php?topic=21608.0

无界火狐测试版0.2a (2016年8月8日)

谢谢大家测试反馈,这一版修复了有时需要重启无界火狐扩展才能重新连接的问题。

请将旧版卸载再安装新版以免有冲突。

自带破网功能,无需运行其他破网软件,支持Windows, Mac, Linux, 32/64 (不需要再运行wine).

安装: 可以用火狐直接下载安装,点击“允许”。如火狐禁止下载,可用其他浏览器下载后用鼠标拉到火狐浏览器,点击“安装”。

使用:点击火狐右上角的无界图标,点击开关即可开启或关闭。 连接成功后,无界图标变成彩色。

http://wujieliulan.com/download/uf002a.xpi
SHA1: 1ba8f1fba63d4d100d8e9739a2326df370175694
MD5: b86bf52bca00dbb8b740c534946ccd7c

原文:http://forums.internetfreedom.org/index.php?topic=21607.0

行動者們,別以為Telegram比較安全

今年七一遊行,不少團體大力推薦即時通訊軟件Telegram,但背後的原因大錯特錯。我們在港島遊行,耳邊傳來咪高峰的呼籲:「下載Telegram,因為它比WhatsApp安全。」沿途經過不同政黨和公民團體的街站,他們叫我們將「機械人平台」(bots)加為朋友,其中一個平台計算遊行人數,另一個則統計立法會選舉的投票意向。這些新興的草根組織工具令人振奮,但同時忽略了一個重要的訊息:Telegram並不比WhatsApp安全,在很多情況下甚至更差。
来源:http://www.inmediahk.net/node/1043826

文:Jason Li、Lokman Tsui

Telegram在2013年推出時,主打「快速、免費及安全」,數據保安及加密功能是它的賣點之一。

(Telegram網站2016年7月18日截圖)

然而,加密有幾個層次:

  1. 沒有加密:第三方截取訊息後,可以讀取完整文字內容。
  2. 一般加密:訊息加密後,第三方不能讀取,但網上平台(Google、Facebook等)仍有權限讀取,不少更會應法庭或政府要求,將訊息交予執法機關。
  3. 端對端加密(end-to-end encrypted):只有傳送者及接收者能讀取訊息,網上平台也不能讀取。即使執法機關要求,網絡服務供應商也無法提交訊息。

雖然Telegram以安全聞名,但事實上大部份通話都沒有進行端對端加密。

  1. 只有「私密聊天」是端對端加密。根據原始設定,Telegram對話沒有進行端對端加密,你需要選擇私密聊天,才會啟動端對端加密。然而我們發現很多人不知道此分別,他們以為所有Telegram通訊都「自動地」安全。
  2. Telegram的端對端加密協定不是開源(open source,開放原始程式碼)。正如這個Stack Overflow的討論指出,「密碼學的第一守則,是不要建立自己的密碼」,但這正是Telegram所做的事。行內最佳做法是採用開源加密協定,讓其他程式員及研究員進行獨立測試。(Telegram同時違反了其他加密最佳做法。)
  3. 群組對話沒有端對端加密。超過1人參與的對話沒有「私密聊天」選項。
  4. 與機械人的對話也沒有端對端加密。沒有跡象顯示,任何與機械人的對話和互動有經過端對端加密。

TelegramScreenshot

(Google Play Store 2016年7月18日截圖)

諷刺的是,在遊行中被批評的WhatsApp自動將所有對話作端對端加密,包括群組對話。(這個功能在今年4月才推出,所以你可能沒有聽過。)WhatsApp除了將所有對話加密,更使用由Open Whisper Systems開發的開源Signal Protocol。不過,WhatsApp本身並非開源,所以不能保證協定在實行時沒有被改動。但至目前為止沒有犯規證據,Open Whisper Systems團隊也公開說明它們的合作和實行過程。無論如何,WhatsApp不比沒有開源、採用非開源加密協定的Telegram差。

如果你追求更高、更可靠的保安,我們建議使用Open Whisper Systems自家的Signal Private Messenger。Signal是開源程式,同時使用開源加密協定,不過它是非牟利的開源計劃,軟件特色及用戶數量都不及商業營運的Telegram和WhatsApp。如果Signal不吸引你,我們會推薦WhatsApp——它是唯一對所有對話進行端對端加密、使用開源加密協定,而又被廣泛使用的通訊軟件。

Telegram在2013年推銷其保安功能並沒有錯,當時手機應用程式很少使用端對端加密。但時至今日,其他通訊軟件的保安設定已追上甚至超越Telegram。這不是說Telegram沒有優點,WhatsApp和Signal都不支援頻道(channels)和機械人功能,Telegram也有類似Snapchat、方便的閱後即焚功能。然而,向示威者和行動者毫無保留地推薦Telegram,是不負責任的行為。行動者們,請不要再宣稱Telegram比較安全;繼續使用WhatsApp,或呼籲大家使用Telegram的私密聊天吧。

感謝Citizen Lab和Professor Jeddiah Crandall協助,為本文提供背景資料。

(原文為英文,中文版由獨媒翻譯。)

原文:http://www.chinagfw.org/2016/08/telegram.html

Tor Browser 6.5a2-hardened is released

A new hardened Tor Browser release is available. It can be found in the 6.5a2-hardened distribution directory and on the download page for hardened builds.

This release features important security updates to Firefox.

In addition to the changes from Tor Browser 6.5a2, this releases integrates Selfrando. For more details about Selfrando integration in Tor Browser, see the Q and A with Georg Koppen and the Selfrando git repository.

Here is the full changelog since 6.5a1-hardened:

  • All Platforms
    • Update Firefox to 45.3.0esr
    • Update Tor to tor-0.2.8.5-rc
    • Update Torbutton to 1.9.6.1
      • Bug 19689: Use proper parent window for plugin prompt
      • Bug 19206: Avoid SOCKS auth and NEWNYM collisions when sharing a tor client
      • Bug 19417: Disable asm.js (but add code to clear on New Identity if enabled)
      • Bug 19273: Improve external app launch handling and associated warnings
      • Bug 8725: Block addon resource and url fingerprinting with nsIContentPolicy
    • Update HTTPS-Everywhere to 5.2.1
    • Update NoScript to 2.9.0.12
    • Bug 17406: Include Selfrando into our hardened builds
    • Bug 19417: Disable asmjs for now
    • Bug 19715: Disable the meek-google pluggable transport option
    • Bug 19714: Remove mercurius4 obfs4 bridge
    • Bug 19585: Fix regression test for keyboard layout fingerprinting
    • Bug 19515: Tor Browser is crashing in graphics code
    • Bug 18513: Favicon requests can bypass New Identity
    • Bug 19273: Write C++ patch for external app launch handling
    • Bug 16998: Isolate preconnect requests to URL bar domain
    • Bug 18923: Add script to run all Tor Browser regression tests
    • Bug 19478: Prevent millisecond resolution leaks in File API
    • Bug 19401: Fix broken PDF download button
    • Bug 19411: Don’t show update icon if a partial update failed
    • Bug 19400: Back out GCC bug workaround to avoid asmjs crash
    • Bug 19735: Switch default search engine to DuckDuckGo
    • Bug 19276: Disable Xrender due to possible performance regressions
    • Bug 19725: Remove old updater files left on disk after upgrade to 6.x
  • Build System
    • All Platforms

原文:https://blog.torproject.org/blog/tor-browser-65a2-hardened-released

Tor Browser 6.5a2 is released

Tor Browser 6.5a2 is now available from the Tor Browser Project page and also from ourdistribution directory.

This release features important security updates to Firefox.

This release updates firefox to 45.3.0esr and contains the improvements that went intoTor Browser 6.0.3. Additionally, Tor is updated to 0.2.8.5-rc, the default search engine has been switched to DuckDuckGo, resource URLs are blocked to avoid fingerprinting.

Note: Due to bug 19410, on OSX the incremental update will not be working for users who installed the previous version using the .dmg file. The internal updater should still work, though, doing a complete update.

Here is the full changelog since 6.5a1:

  • All Platforms
    • Update Firefox to 45.3.0esr
    • Update Tor to tor-0.2.8.5-rc
    • Update Torbutton to 1.9.6.1
      • Bug 19689: Use proper parent window for plugin prompt
      • Bug 19206: Avoid SOCKS auth and NEWNYM collisions when sharing a tor client
      • Bug 19417: Disable asm.js (but add code to clear on New Identity if enabled)
      • Bug 19273: Improve external app launch handling and associated warnings
      • Bug 8725: Block addon resource and url fingerprinting with nsIContentPolicy
    • Update HTTPS-Everywhere to 5.2.1
    • Update NoScript to 2.9.0.12
    • Bug 19417: Disable asmjs for now
    • Bug 19715: Disable the meek-google pluggable transport option
    • Bug 19714: Remove mercurius4 obfs4 bridge
    • Bug 19585: Fix regression test for keyboard layout fingerprinting
    • Bug 19515: Tor Browser is crashing in graphics code
    • Bug 18513: Favicon requests can bypass New Identity
    • Bug 19273: Write C++ patch for external app launch handling
    • Bug 16998: Isolate preconnect requests to URL bar domain
    • Bug 18923: Add script to run all Tor Browser regression tests
    • Bug 19478: Prevent millisecond resolution leaks in File API
    • Bug 19401: Fix broken PDF download button
    • Bug 19411: Don’t show update icon if a partial update failed
    • Bug 19400: Back out GCC bug workaround to avoid asmjs crash
    • Bug 19735: Switch default search engine to DuckDuckGo
  • Windows
    • Bug 19348: Adapt to more than one build target on Windows (fixes updates)
    • Bug 19725: Remove old updater files left on disk after upgrade to 6.x
  • Linux
    • Bug 19276: Disable Xrender due to possible performance regressions
    • Bug 19725: Remove old updater files left on disk after upgrade to 6.x
  • OS X
    • Bug 19269: Icon doesn’t appear in Applications folder or Dock
  • Android
    • Bug 19484: Avoid compilation error when MOZ_UPDATER is not defined
  • Build System
    • All Platforms

原文:https://blog.torproject.org/blog/tor-browser-65a2-released

Tor Browser 6.0.3 is released

Tor Browser 6.0.3 is now available from the Tor Browser Project page and also from ourdistribution directory.

This release features important security updates to Firefox.

This release updates firefox to 45.3.0esr. Additionally, it bumps NoScript to 2.9.0.12, HTTPS-Everywhere to 5.2.1, disables asmjs, removes meek-google and contains a few other bug fixes.

Note: Due to bug 19410, on OSX the incremental update will not be working for users who installed the previous version using the .dmg file. The internal updater should still work, though, doing a complete update.

Here is the full changelog since 6.0.2:

  • All Platforms
    • Update Firefox to 45.3.0esr
    • Update Torbutton to 1.9.5.6
    • Update HTTPS-Everywhere to 5.2.1
    • Update NoScript to 2.9.0.12
    • Bug 19715: Disable the meek-google pluggable transport option
    • Bug 19714: Remove mercurius4 obfs4 bridge
    • Bug 19585: Fix regression test for keyboard layout fingerprinting
    • Bug 19515: Tor Browser is crashing in graphics code
    • Bug 18513: Favicon requests can bypass New Identity
  • OS X
    • Bug 19269: Icon doesn’t appear in Applications folder or Dock
  • Android
    • Bug 19484: Avoid compilation error when MOZ_UPDATER is not defined

原文:https://blog.torproject.org/blog/tor-browser-603-released

Tor 0.2.8.6 is released!

Tor 0.2.8.6 has been released! You can download the source from the Tor website. Packages should be available over the next week or so.

Tor 0.2.8.6 is the first stable version of the Tor 0.2.8 series.

The Tor 0.2.8 series improves client bootstrapping performance, completes the authority-side implementation of improved identity keys for relays, and includes numerous bugfixes and performance improvements throughout the program. This release continues to improve the coverage of Tor’s test suite.

Below is a list of the changes since Tor 0.2.7. For a list of only the changes that are new since 0.2.8.5-rc, please see the ChangeLog file.

Changes in version 0.2.8.6 – 2016-08-02

  • New system requirements:
    • Tor no longer attempts to support platforms where the “time_t” type is unsigned. (To the best of our knowledge, only OpenVMS does this, and Tor has never actually built on OpenVMS.) Closes ticket 18184.
    • Tor no longer supports versions of OpenSSL with a broken implementation of counter mode. (This bug was present in OpenSSL 1.0.0, and was fixed in OpenSSL 1.0.0a.) Tor still detects, but no longer runs with, these versions.
    • Tor now uses Autoconf version 2.63 or later, and Automake 1.11 or later (released in 2008 and 2009 respectively). If you are building Tor from the git repository instead of from the source distribution, and your tools are older than this, you will need to upgrade. Closes ticket 17732.
  • Directory authority changes:
    • Update the V3 identity key for the dannenberg directory authority: it was changed on 18 November 2015. Closes task 17906. Patch by teor.
    • Urras is no longer a directory authority. Closes ticket 19271.
  • Major features (directory system):
    • Include a trial list of default fallback directories, based on an opt-in survey of suitable relays. Doing this should make clients bootstrap more quickly and reliably, and reduce the load on the directory authorities. Closes ticket 15775. Patch by teor. Candidates identified using an OnionOO script by weasel, teor, gsathya, and karsten.
    • Previously only relays that explicitly opened a directory port (DirPort) accepted directory requests from clients. Now all relays, with and without a DirPort, accept and serve tunneled directory requests that they receive through their ORPort. You can disable this behavior using the new DirCache option. Closes ticket 12538.
    • When bootstrapping multiple consensus downloads at a time, use the first one that starts downloading, and close the rest. This reduces failures when authorities or fallback directories are slow or down. Together with the code for feature 15775, this feature should reduces failures due to fallback churn. Implements ticket 4483. Patch by teor. Implements IPv4 portions of proposal 210 by mikeperry and teor.
  • Major features (security, Linux):
    • When Tor starts as root on Linux and is told to switch user ID, it can now retain the capability to bind to low ports. By default, Tor will do this only when it’s switching user ID and some low ports have been configured. You can change this behavior with the new option KeepBindCapabilities. Closes ticket 8195.
  • Major bugfixes (client, bootstrapping):
    • Check if bootstrap consensus downloads are still needed when the linked connection attaches. This prevents tor making unnecessary begindir-style connections, which are the only directory connections tor clients make since the fix for 18483 was merged.
    • Fix some edge cases where consensus download connections may not have been closed, even though they were not needed. Related to fix for 18809.
    • Make relays retry consensus downloads the correct number of times, rather than the more aggressive client retry count. Fixes part of ticket 18809.
  • Major bugfixes (dns proxy mode, crash):
    • Avoid crashing when running as a DNS proxy. Fixes bug 16248; bugfix on 0.2.0.1-alpha. Patch from “cypherpunks”.
  • Major bugfixes (ed25519, voting):
    • Actually enable support for authorities to match routers by their Ed25519 identities. Previously, the code had been written, but some debugging code that had accidentally been left in the codebase made it stay turned off. Fixes bug 17702; bugfix on 0.2.7.2-alpha.
    • When collating votes by Ed25519 identities, authorities now include a “NoEdConsensus” flag if the ed25519 value (or lack thereof) for a server does not reflect the majority consensus. Related to bug 17668; bugfix on 0.2.7.2-alpha.
    • When generating a vote with keypinning disabled, never include two entries for the same ed25519 identity. This bug was causing authorities to generate votes that they could not parse when a router violated key pinning by changing its RSA identity but keeping its Ed25519 identity. Fixes bug 17668; fixes part of bug 18318. Bugfix on 0.2.7.2-alpha.
  • Major bugfixes (key management):
    • If OpenSSL fails to generate an RSA key, do not retain a dangling pointer to the previous (uninitialized) key value. The impact here should be limited to a difficult-to-trigger crash, if OpenSSL is running an engine that makes key generation failures possible, or if OpenSSL runs out of memory. Fixes bug 19152; bugfix on 0.2.1.10-alpha. Found by Yuan Jochen Kang, Suman Jana, and Baishakhi Ray.
  • Major bugfixes (security, client, DNS proxy):
    • Stop a crash that could occur when a client running with DNSPort received a query with multiple address types, and the first address type was not supported. Found and fixed by Scott Dial. Fixes bug 18710; bugfix on 0.2.5.4-alpha.
  • Major bugfixes (security, compilation):
    • Correctly detect compiler flags on systems where _FORTIFY_SOURCE is predefined. Previously, our use of -D_FORTIFY_SOURCE would cause a compiler warning, thereby making other checks fail, and needlessly disabling compiler-hardening support. Fixes one case of bug 18841; bugfix on 0.2.3.17-beta. Patch from “trudokal”.
    • Repair hardened builds under the clang compiler. Previously, our use of _FORTIFY_SOURCE would conflict with clang’s address sanitizer. Fixes bug 14821; bugfix on 0.2.5.4-alpha.
  • Major bugfixes (security, pointers):
    • Avoid a difficult-to-trigger heap corruption attack when extending a smartlist to contain over 16GB of pointers. Fixes bug 18162; bugfix on 0.1.1.11-alpha, which fixed a related bug incompletely. Reported by Guido Vranken.
  • Major bugfixes (testing):
    • Fix a bug that would block ‘make test-network-all’ on systems where IPv6 packets were lost. Fixes bug 19008; bugfix on 0.2.7.3-rc.
  • Major bugfixes (user interface):
    • Correctly give a warning in the cases where a relay is specified by nickname, and one such relay is found, but it is not officially Named. Fixes bug 19203; bugfix on 0.2.3.1-alpha.
  • Minor features (accounting):
    • Added two modes to the AccountingRule option: One for limiting only the number of bytes sent (“AccountingRule out”), and one for limiting only the number of bytes received (“AccountingRule in”). Closes ticket 15989; patch from “unixninja92”.
  • Minor features (bug-resistance):
    • Make Tor survive errors involving connections without a corresponding event object. Previously we’d fail with an assertion; now we produce a log message. Related to bug16248.
    • Use tor_snprintf() and tor_vsnprintf() even in external and low- level code, to harden against accidental failures to NUL- terminate. Part of ticket 17852. Patch from jsturgix. Found with Flawfinder.
  • Minor features (build):
    • Detect systems with FreeBSD-derived kernels (such as GNU/kFreeBSD) as having possible IPFW support. Closes ticket 18448. Patch from Steven Chamberlain.
    • Since our build process now uses “make distcheck”, we no longer force “make dist” to depend on “make check”. Closes ticket 17893; patch from “cypherpunks”.
    • Tor now builds once again with the recent OpenSSL 1.1 development branch (tested against 1.1.0-pre5 and 1.1.0-pre6-dev). We have been tracking OpenSSL 1.1 development as it has progressed, and fixing numerous compatibility issues as they arose. See tickets 17549, 17921, 17984, 19499, and 18286.
    • When building manual pages, set the timezone to “UTC”, so that the output is reproducible. Fixes bug 19558; bugfix on 0.2.2.9-alpha. Patch from intrigeri.
  • Minor features (clients):
    • Make clients, onion services, and bridge relays always use an encrypted begindir connection for directory requests. Resolves ticket 18483. Patch by teor.
  • Minor features (controller):
    • Add ‘GETINFO exit-policy/reject-private/[default,relay]’, so controllers can examine the the reject rules added by ExitPolicyRejectPrivate. This makes it easier for stem to display exit policies.
    • Adds the FallbackDir entries to ‘GETINFO config/defaults’. Closes tickets 16774 and 17817. Patch by George Tankersley.
    • New ‘GETINFO hs/service/desc/id/’ command to retrieve a hidden service descriptor from a service’s local hidden service descriptor cache. Closes ticket 14846.
  • Minor features (crypto):
    • Add SHA3 and SHAKE support to crypto.c. Closes ticket 17783.
    • Add SHA512 support to crypto.c. Closes ticket 17663; patch from George Tankersley.
    • Improve performance when hashing non-multiple of 8 sized buffers, based on Andrew Moon’s public domain SipHash-2-4 implementation. Fixes bug 17544; bugfix on 0.2.5.3-alpha.
    • Validate the hard-coded Diffie-Hellman parameters and ensure that p is a safe prime, and g is a suitable generator. Closes ticket 18221.
    • When allocating a digest state object, allocate no more space than we actually need. Previously, we would allocate as much space as the state for the largest algorithm would need. This change saves up to 672 bytes per circuit. Closes ticket 17796.
  • Minor features (directory downloads):
    • Add UseDefaultFallbackDirs, which enables any hard-coded fallback directory mirrors. The default is 1; set it to 0 to disable fallbacks. Implements ticket 17576. Patch by teor.
    • Wait for busy authorities and fallback directories to become non- busy when bootstrapping. (A similar change was made in 6c443e987d for directory caches chosen from the consensus.) Closes ticket 17864; patch by teor.
  • Minor features (geoip):
    • Update geoip and geoip6 to the July 6 2016 Maxmind GeoLite2 Country database.
  • Minor features (hidden service directory):
    • Streamline relay-side hsdir handling: when relays consider whether to accept an uploaded hidden service descriptor, they no longer check whether they are one of the relays in the network that is “supposed” to handle that descriptor. Implements ticket18332.
  • Minor features (IPv6):
    • Add ClientPreferIPv6DirPort, which is set to 0 by default. If set to 1, tor prefers IPv6 directory addresses.
    • Add ClientUseIPv4, which is set to 1 by default. If set to 0, tor avoids using IPv4 for client OR and directory connections.
    • Add address policy assume_action support for IPv6 addresses.
    • Add an argument ‘ipv6=address:orport’ to the DirAuthority and FallbackDir torrc options, to specify an IPv6 address for an authority or fallback directory. Add hard-coded ipv6 addresses for directory authorities that have them. Closes ticket 17327; patch from Nick Mathewson and teor.
    • Allow users to configure directory authorities and fallback directory servers with IPv6 addresses and ORPorts. Resolves ticket 6027.
    • Limit IPv6 mask bits to 128.
    • Make tor_ersatz_socketpair work on IPv6-only systems. Fixes bug 17638; bugfix on 0.0.2pre8. Patch by teor.
    • Try harder to obey the IP version restrictions “ClientUseIPv4 0”, “ClientUseIPv6 0”, “ClientPreferIPv6ORPort”, and “ClientPreferIPv6DirPort”. Closes ticket 17840; patch by teor.
    • Warn when comparing against an AF_UNSPEC address in a policy, it’s almost always a bug. Closes ticket 17863; patch by teor.
    • routerset_parse now accepts IPv6 literal addresses. Fixes bug 17060; bugfix on 0.2.1.3-alpha. Patch by teor.
  • Minor features (Linux seccomp2 sandbox):
    • Reject attempts to change our Address with “Sandbox 1” enabled. Changing Address with Sandbox turned on would never actually work, but previously it would fail in strange and confusing ways. Found while fixing 18548.
  • Minor features (logging):
    • When logging to syslog, allow a tag to be added to the syslog identity (the string prepended to every log message). The tag can be configured with SyslogIdentityTag and defaults to none. Setting it to “foo” will cause logs to be tagged as “Tor-foo”. Closes ticket 17194.
  • Minor features (portability):
    • Use timingsafe_memcmp() where available. Closes ticket 17944; patch from <logan@hackers.mu>.
  • Minor features (relay, address discovery):
    • Add a family argument to get_interface_addresses_raw() and subfunctions to make network interface address interogation more efficient. Now Tor can specifically ask for IPv4, IPv6 or both types of interfaces from the operating system. Resolves ticket17950.
    • When get_interface_address6_list(.,AF_UNSPEC,.) is called and fails to enumerate interface addresses using the platform-specific API, have it rely on the UDP socket fallback technique to try and find out what IP addresses (both IPv4 and IPv6) our machine has. Resolves ticket 17951.
  • Minor features (replay cache):
    • The replay cache now uses SHA256 instead of SHA1. Implements feature 8961. Patch by teor, issue reported by rransom.
  • Minor features (robustness):
    • Exit immediately with an error message if the code attempts to use Libevent without having initialized it. This should resolve some frequently-made mistakes in our unit tests. Closes ticket 18241.
  • Minor features (security, clock):
    • Warn when the system clock appears to move back in time (when the state file was last written in the future). Tor doesn’t know that consensuses have expired if the clock is in the past. Patch by teor. Implements ticket 17188.
  • Minor features (security, exit policies):
    • ExitPolicyRejectPrivate now rejects more private addresses by default. Specifically, it now rejects the relay’s outbound bind addresses (if configured), and the relay’s configured port addresses (such as ORPort and DirPort). Fixes bug 17027; bugfix on 0.2.0.11-alpha. Patch by teor.
  • Minor features (security, memory erasure):
    • Make memwipe() do nothing when passed a NULL pointer or buffer of zero size. Check size argument to memwipe() for underflow. Fixes bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha. Reported by “gk”, patch by teor.
    • Set the unused entries in a smartlist to NULL. This helped catch a (harmless) bug, and shouldn’t affect performance too much. Implements ticket 17026.
    • Use SecureMemoryWipe() function to securely clean memory on Windows. Previously we’d use OpenSSL’s OPENSSL_cleanse() function. Implements feature 17986.
    • Use explicit_bzero or memset_s when present. Previously, we’d use OpenSSL’s OPENSSL_cleanse() function. Closes ticket 7419; patches from <logan@hackers.mu> and <selven@hackers.mu>.
  • Minor features (security, RNG):
    • Adjust Tor’s use of OpenSSL’s RNG APIs so that they absolutely, positively are not allowed to fail. Previously we depended on internal details of OpenSSL’s behavior. Closes ticket 17686.
    • Never use the system entropy output directly for anything besides seeding the PRNG. When we want to generate important keys, instead of using system entropy directly, we now hash it with the PRNG stream. This may help resist certain attacks based on broken OS entropy implementations. Closes part of ticket 17694.
    • Use modern system calls (like getentropy() or getrandom()) to generate strong entropy on platforms that have them. Closes ticket 13696.
  • Minor features (security, win32):
    • Set SO_EXCLUSIVEADDRUSE on Win32 to avoid a local port-stealing attack. Fixes bug 18123; bugfix on all tor versions. Patch by teor.
  • Minor features (unix domain sockets):
    • Add a new per-socket option, RelaxDirModeCheck, to allow creating Unix domain sockets without checking the permissions on the parent directory. (Tor checks permissions by default because some operating systems only check permissions on the parent directory. However, some operating systems do look at permissions on the socket, and tor’s default check is unneeded.) Closes ticket 18458. Patch by weasel.
  • Minor features (unix file permissions):
    • Defer creation of Unix sockets until after setuid. This avoids needing CAP_CHOWN and CAP_FOWNER when using systemd’s CapabilityBoundingSet, or chown and fowner when using SELinux. Implements part of ticket 17562. Patch from Jamie Nguyen.
    • If any directory created by Tor is marked as group readable, the filesystem group is allowed to be either the default GID or the root user. Allowing root to read the DataDirectory prevents the need for CAP_READ_SEARCH when using systemd’s CapabilityBoundingSet, or dac_read_search when using SELinux. Implements part of ticket 17562. Patch from Jamie Nguyen.
    • Introduce a new DataDirectoryGroupReadable option. If it is set to 1, the DataDirectory will be made readable by the default GID. Implements part of ticket17562. Patch from Jamie Nguyen.
  • Minor bugfixes (accounting):
    • The max bandwidth when using ‘AccountRule sum’ is now correctly logged. Fixes bug18024; bugfix on 0.2.6.1-alpha. Patch from “unixninja92”.
  • Minor bugfixes (assert, portability):
    • Fix an assertion failure in memarea.c on systems where “long” is shorter than the size of a pointer. Fixes bug 18716; bugfix on 0.2.1.1-alpha.
  • Minor bugfixes (bootstrap):
    • Consistently use the consensus download schedule for authority certificates. Fixes bug 18816; bugfix on 0.2.4.13-alpha.
  • Minor bugfixes (build):
    • Avoid spurious failures from configure files related to calling exit(0) in TOR_SEARCH_LIBRARY. Fixes bug 18625; bugfix on 0.2.0.1-alpha. Patch from “cypherpunks”.
    • Do not link the unit tests against both the testing and non- testing versions of the static libraries. Fixes bug 18490; bugfix on 0.2.7.1-alpha.
    • Resolve warnings when building on systems that are concerned with signed char. Fixes bug 18728; bugfix on 0.2.7.2-alpha and 0.2.6.1-alpha.
    • Silence spurious clang-scan warnings in the ed25519_donna code by explicitly initializing some objects. Fixes bug 18384; bugfix on 0.2.7.2-alpha. Patch by teor.
    • When libscrypt.h is found, but no libscrypt library can be linked, treat libscrypt as absent. Fixes bug 19161; bugfix on 0.2.6.1-alpha.
    • Cause the unit tests to compile correctly on mingw64 versions that lack sscanf. Fixes bug 19213; bugfix on 0.2.7.1-alpha.
    • Don’t try to use the pthread_condattr_setclock() function unless it actually exists. Fixes compilation on NetBSD-6.x. Fixes bug 17819; bugfix on 0.2.6.3-alpha.
    • Fix backtrace compilation on FreeBSD. Fixes bug 17827; bugfix on 0.2.5.2-alpha.
    • Fix search for libevent libraries on OpenBSD (and other systems that install libevent 1 and libevent 2 in parallel). Fixes bug 16651; bugfix on 0.1.0.7-rc. Patch from “rubiate”.
    • Isolate environment variables meant for tests from the rest of the build system. Fixes bug 17818; bugfix on 0.2.7.3-rc.
    • Mark all object files that include micro-revision.i as depending on it, so as to make parallel builds more reliable. Fixes bug 17826; bugfix on 0.2.5.1-alpha.
    • Remove config.log only from make distclean, not from make clean. Fixes bug 17924; bugfix on 0.2.4.1-alpha.
    • Replace usage of ‘INLINE’ with ‘inline’. Fixes bug 17804; bugfix on 0.0.2pre8.
    • Remove an #endif from configure.ac so that we correctly detect the presence of in6_addr.s6_addr32. Fixes bug 17923; bugfix on 0.2.0.13-alpha.
  • Minor bugfixes (client, bootstrap):
    • Count receipt of new microdescriptors as progress towards bootstrapping. Previously, with EntryNodes set, Tor might not successfully repopulate the guard set on bootstrapping. Fixes bug 16825; bugfix on 0.2.3.1-alpha.
  • Minor bugfixes (code correctness):
    • Fix a bad memory handling bug that would occur if we had queued a cell on a channel’s incoming queue. Fortunately, we can’t actually queue a cell like that as our code is constructed today, but it’s best to avoid this kind of error, even if there isn’t any code that triggers it today. Fixes bug 18570; bugfix on 0.2.4.4-alpha.
    • Assert that allocated memory held by the reputation code is freed according to its internal counters. Fixes bug 17753; bugfix on 0.1.1.1-alpha.
    • Assert when the TLS contexts fail to initialize. Fixes bug 17683; bugfix on 0.0.6.
    • Update to the latest version of Trunnel, which tries harder to avoid generating code that can invoke memcpy(p,NULL,0). Bug found by clang address sanitizer. Fixes bug18373; bugfix on 0.2.7.2-alpha.
    • When closing an entry connection, generate a warning if we should have sent an end cell for it but we haven’t. Fixes bug 17876; bugfix on 0.2.3.2-alpha.
  • Minor bugfixes (configuration):
    • Fix a tiny memory leak when parsing a port configuration ending in “:auto”. Fixes bug18374; bugfix on 0.2.3.3-alpha.
  • Minor bugfixes (containers):
    • If we somehow attempt to construct a heap with more than 1073741822 elements, avoid an integer overflow when maintaining the heap property. Fixes bug 18296; bugfix on 0.1.2.1-alpha.
  • Minor bugfixes (controller, microdescriptors):
    • Make GETINFO dir/status-vote/current/consensus conform to the control specification by returning “551 Could not open cached consensus…” when not caching consensuses. Fixes bug 18920; bugfix on 0.2.2.6-alpha.
  • Minor bugfixes (crypto):
    • Check the return value of HMAC() and assert on failure. Fixes bug 17658; bugfix on 0.2.3.6-alpha. Patch by teor.
  • Minor bugfixes (directories):
    • When fetching extrainfo documents, compare their SHA256 digests and Ed25519 signing key certificates with the routerinfo that led us to fetch them, rather than with the most recent routerinfo. Otherwise we generate many spurious warnings about mismatches. Fixes bug 17150; bugfix on 0.2.7.2-alpha.
    • When generating a URL for a directory server on an IPv6 address, wrap the IPv6 address in square brackets. Fixes bug 18051; bugfix on 0.2.3.9-alpha. Patch from Malek.
  • Minor bugfixes (downloading):
    • Predict more correctly whether we’ll be downloading over HTTP when we determine the maximum length of a URL. This should avoid a “BUG” warning about the Squid HTTP proxy and its URL limits. Fixes bug 19191.
  • Minor bugfixes (exit policies, security):
    • Refresh an exit relay’s exit policy when interface addresses change. Previously, tor only refreshed the exit policy when the configured external address changed. Fixes bug 18208; bugfix on 0.2.7.3-rc. Patch by teor.
  • Minor bugfixes (fallback directories):
    • Mark fallbacks as “too busy” when they return a 503 response, rather than just marking authorities. Fixes bug 17572; bugfix on 0.2.4.7-alpha. Patch by teor.
    • When requesting extrainfo descriptors from a trusted directory server, check whether it is an authority or a fallback directory which supports extrainfo descriptors. Fixes bug18489; bugfix on 0.2.4.7-alpha. Reported by atagar, patch by teor.
  • Minor bugfixes (hidden service, client):
    • Handle the case where the user makes several fast consecutive requests to the same .onion address. Previously, the first six requests would each trigger a descriptor fetch, each picking a directory (there are 6 overall) and the seventh one would fail because no directories were left, thereby triggering a close on all current directory connections asking for the hidden service. The solution here is to not close the connections if we have pending directory fetches. Fixes bug 15937; bugfix on 0.2.7.1-alpha.
  • Minor bugfixes (hidden service, control port):
    • Add the onion address to the HS_DESC event for the UPLOADED action both on success or failure. It was previously hardcoded with UNKNOWN. Fixes bug 16023; bugfix on 0.2.7.2-alpha.
  • Minor bugfixes (hidden service, directory):
    • Bridges now refuse “rendezvous2” (hidden service descriptor) publish attempts. Suggested by ticket 18332.
  • Minor bugfixes (IPv6):
    • Update the limits in max_dl_per_request for IPv6 address length. Fixes bug 17573; bugfix on 0.2.1.5-alpha.
  • Minor bugfixes (Linux seccomp2 sandbox):
    • Allow more syscalls when running with “Sandbox 1” enabled: sysinfo, getsockopt(SO_SNDBUF), and setsockopt(SO_SNDBUFFORCE). On some systems, these are required for Tor to start. Fixes bug 18397; bugfix on 0.2.5.1-alpha. Patch from Daniel Pinto.
    • Allow IPPROTO_UDP datagram sockets when running with “Sandbox 1”, so that get_interface_address6_via_udp_socket_hack() can work. Fixes bug 19660; bugfix on 0.2.5.1-alpha.
    • Allow the setrlimit syscall, and the prlimit and prlimit64 syscalls, which some libc implementations use under the hood. Fixes bug 15221; bugfix on 0.2.5.1-alpha.
    • Avoid a 10-second delay when starting as a client with “Sandbox 1” enabled and no DNS resolvers configured. This should help TAILS start up faster. Fixes bug 18548; bugfix on 0.2.5.1-alpha.
    • Fix a crash when using offline master ed25519 keys with the Linux seccomp2 sandbox enabled. Fixes bug 17675; bugfix on 0.2.7.3-rc.
    • Allow statistics to be written to disk when “Sandbox 1” is enabled. Fixes bugs 19556 and 19957; bugfix on 0.2.5.1-alpha and 0.2.6.1-alpha respectively.
  • Minor bugfixes (logging):
    • In log messages that include a function name, use __FUNCTION__ instead of __PRETTY_FUNCTION__. In GCC, these are synonymous, but with clang __PRETTY_FUNCTION__ has extra information we don’t need. Fixes bug 16563; bugfix on 0.0.2pre8. Fix by Tom van der Woerdt.
    • Remove needless quotes from a log message about unparseable addresses. Fixes bug 17843; bugfix on 0.2.3.3-alpha.
    • Scrub service name in “unrecognized service ID” log messages. Fixes bug 18600; bugfix on 0.2.4.11-alpha.
    • When logging information about an unparsable networkstatus vote or consensus, do not say “vote” when we mean consensus. Fixes bug 18368; bugfix on 0.2.0.8-alpha.
    • When we can’t generate a signing key because OfflineMasterKey is set, do not imply that we should have been able to load it. Fixes bug 18133; bugfix on 0.2.7.2-alpha.
    • When logging a malformed hostname received through socks4, scrub it if SafeLogging says we should. Fixes bug 17419; bugfix on 0.1.1.16-rc.
  • Minor bugfixes (memory safety):
    • Avoid freeing an uninitialized pointer when opening a socket fails in get_interface_addresses_ioctl(). Fixes bug 18454; bugfix on 0.2.3.11-alpha. Reported by toralf and “cypherpunks”, patch by teor.
    • Fix a memory leak in “tor –list-fingerprint”. Fixes part of bug 18672; bugfix on 0.2.5.1-alpha.
    • Fix a memory leak in tor-gencert. Fixes part of bug 18672; bugfix on 0.2.0.1-alpha.
  • Minor bugfixes (pluggable transports):
    • Avoid reporting a spurious error when we decide that we don’t need to terminate a pluggable transport because it has already exited. Fixes bug 18686; bugfix on 0.2.5.5-alpha.
  • Minor bugfixes (pointer arithmetic):
    • Fix a bug in memarea_alloc() that could have resulted in remote heap write access, if Tor had ever passed an unchecked size to memarea_alloc(). Fortunately, all the sizes we pass to memarea_alloc() are pre-checked to be less than 128 kilobytes. Fixes bug19150; bugfix on 0.2.1.1-alpha. Bug found by Guido Vranken.
  • Minor bugfixes (private directory):
    • Prevent a race condition when creating private directories. Fixes part of bug 17852; bugfix on 0.0.2pre13. Part of ticket 17852. Patch from jsturgix. Found with Flawfinder.
  • Minor bugfixes (relays):
    • Check that both the ORPort and DirPort (if present) are reachable before publishing a relay descriptor. Otherwise, relays publish a descriptor with DirPort 0 when the DirPort reachability test takes longer than the ORPort reachability test. Fixes bug 18050; bugfix on 0.1.0.1-rc. Reported by “starlight”, patch by teor.
    • Resolve some edge cases where we might launch an ORPort reachability check even when DisableNetwork is set. Noticed while fixing bug 18616; bugfix on 0.2.3.9-alpha.
  • Minor bugfixes (relays, hidden services):
    • Refuse connection requests to private OR addresses unless ExtendAllowPrivateAddresses is set. Previously, tor would connect, then refuse to send any cells to a private address. Fixes bugs 17674 and 8976; bugfix on 0.2.3.21-rc. Patch by teor.
  • Minor bugfixes (security, hidden services):
    • Prevent hidden services connecting to client-supplied rendezvous addresses that are reserved as internal or multicast. Fixes bug 8976; bugfix on 0.2.3.21-rc. Patch by dgoulet and teor.
  • Minor bugfixes (statistics):
    • Consistently check for overflow in round_*_to_next_multiple_of functions, and add unit tests with additional and maximal values. Fixes part of bug 13192; bugfix on 0.2.2.1-alpha.
    • Handle edge cases in the laplace functions: avoid division by zero, avoid taking the log of zero, and silence clang type conversion warnings using round and trunc. Add unit tests for edge cases with maximal values. Fixes part of bug 13192; bugfix on 0.2.6.2-alpha.
    • We now include consensus downloads via IPv6 in our directory- request statistics. Fixes bug 18460; bugfix on 0.2.3.14-alpha.
  • Minor bugfixes (test networks, IPv6):
    • Allow internal IPv6 addresses in descriptors in test networks. Fixes bug 17153; bugfix on 0.2.3.16-alpha. Patch by teor, reported by karsten.
  • Minor bugfixes (testing):
    • Check the full results of SHA256 and SHA512 digests in the unit tests. Bugfix on 0.2.2.4-alpha. Patch by teor.
    • Fix a memory leak in the ntor test. Fixes bug 17778; bugfix on 0.2.4.8-alpha.
    • Fix a small memory leak that would occur when the TestingEnableCellStatsEvent option was turned on. Fixes bug 18673; bugfix on 0.2.5.2-alpha.
    • Make unit tests pass on IPv6-only systems, and systems without localhost addresses (like some FreeBSD jails). Fixes bug 17632; bugfix on 0.2.7.3-rc. Patch by teor.
    • The test for log_heartbeat was incorrectly failing in timezones with non-integer offsets. Instead of comparing the end of the time string against a constant, compare it to the output of format_local_iso_time when given the correct input. Fixes bug 18039; bugfix on 0.2.5.4-alpha.
    • We no longer disable assertions in the unit tests when coverage is enabled. Instead, we require you to say –disable-asserts-in-tests to the configure script if you need assertions disabled in the unit tests (for example, if you want to perform branch coverage). Fixes bug 18242; bugfix on 0.2.7.1-alpha.
  • Minor bugfixes (time handling):
    • When correcting a corrupt ‘struct tm’ value, fill in the tm_wday field. Otherwise, our unit tests crash on Windows. Fixes bug 18977; bugfix on 0.2.2.25-alpha.
    • Avoid overflow in tor_timegm when parsing dates in and after 2038 on platforms with 32-bit time_t. Fixes bug 18479; bugfix on 0.0.2pre14. Patch by teor.
  • Minor bugfixes (tor-gencert):
    • Correctly handle the case where an authority operator enters a passphrase but sends an EOF before sending a newline. Fixes bug 17443; bugfix on 0.2.0.20-rc. Found by junglefowl.
  • Code simplification and refactoring:
    • Clean up a little duplicated code in crypto_expand_key_material_TAP(). Closes ticket17587; patch from “pfrankw”.
    • Decouple the list of streams waiting to be attached to circuits from the overall connection list. This change makes it possible to attach streams quickly while simplifying Tor’s callgraph and avoiding O(N) scans of the entire connection list. Closes ticket 17590.
    • Extract the more complicated parts of circuit_mark_for_close() into a new function that we run periodically before circuits are freed. This change removes more than half of the functions currently in the “blob”. Closes ticket 17218.
    • Move logging of redundant policy entries in policies_parse_exit_policy_internal into its own function. Closes ticket 17608; patch from “juce”.
    • Quote all the string interpolations in configure.ac — even those which we are pretty sure can’t contain spaces. Closes ticket 17744. Patch from zerosion.
    • Remove code for configuring OpenSSL dynamic locks; OpenSSL doesn’t use them. Closes ticket 17926.
    • Remove specialized code for non-inplace AES_CTR. 99% of our AES is inplace, so there’s no need to have a separate implementation for the non-inplace code. Closes ticket 18258. Patch from Malek.
    • Simplify return types for some crypto functions that can’t actually fail. Patch from Hassan Alsibyani. Closes ticket 18259.
    • When a direct directory request fails immediately on launch, instead of relaunching that request from inside the code that launches it, instead mark the connection for teardown. This change simplifies Tor’s callback and prevents the directory-request launching code from invoking itself recursively. Closes ticket 17589.
  • Documentation:
    • Add a description of the correct use of the ‘–keygen’ command- line option. Closes ticket 17583; based on text by ‘s7r’.
    • Change build messages to refer to “Fedora” instead of “Fedora Core”, and “dnf” instead of “yum”. Closes tickets 18459 and 18426. Patches from “icanhasaccount” and “cypherpunks”.
    • Document the contents of the ‘datadir/keys’ subdirectory in the manual page. Closes ticket 17621.
    • Document the minimum HeartbeatPeriod value. Closes ticket 15638.
    • Explain actual minima for BandwidthRate. Closes ticket 16382.
    • Fix a minor formatting typo in the manpage. Closes ticket 17791.
    • Mention torspec URL in the manpage and point the reader to it whenever we mention a document that belongs in torspce. Fixes issue 17392.
    • Stop recommending use of nicknames to identify relays in our MapAddress documentation. Closes ticket 18312.
  • Removed features:
    • Remove client-side support for connecting to Tor relays running versions of Tor before 0.2.3.6-alpha. These relays didn’t support the v3 TLS handshake protocol, and are no longer allowed on the Tor network. Implements the client side of ticket 11150. Based on patches by Tom van der Woerdt.
    • We no longer maintain an internal freelist in memarea.c. Allocators should be good enough to make this code unnecessary, and it’s doubtful that it ever had any performance benefit.
  • Testing:
    • Add unit tests to check for common RNG failure modes, such as returning all zeroes, identical values, or incrementing values (OpenSSL’s rand_predictable feature). Patch by teor.
    • Always test both ed25519 backends, so that we can be sure that our batch-open replacement code works. Part of ticket 16794.
    • Cover dns_resolve_impl() in dns.c with unit tests. Implements a portion of ticket16831.
    • Fix several warnings from clang’s address sanitizer produced in the unit tests.
    • Log more information when the backtrace tests fail. Closes ticket 17892. Patch from “cypherpunks.”
    • More unit tests for compat_libevent.c, procmon.c, tortls.c, util_format.c, directory.c, and options_validate.c. Closes tickets 17075, 17082, 17084, 17003, and 17076 respectively. Patches from Ola Bini.
    • Treat backtrace test failures as expected on FreeBSD until we solve bug 17808. Closes ticket 18204.
    • Unit tests for directory_handle_command_get. Closes ticket 17004. Patch from Reinaldo de Souza Jr.

原文:https://blog.torproject.org/blog/tor-0286-released

翻墙问答:Telegram保安机制有问题?(视频)

视频地址:http://www.rfa.org/cantonese/video?v=1_wbbb5lop

问:近年兴起的点对点加密即时信息软件,再配合二步认证,被认为相当安全。只不过,近日伊朗政府成功攻破Telegram的保安机制,令伊朗政府可以透过黑客监控异见人士通讯。中国会否出现同样情况?在中国的Telegram用户应如何自处?

李建军:现时Telegram要加一个新设备使用户口,都要向你的手机发出一个SMS认证,而伊朗政府控制的电讯公司就拦截了认证SMS,然后加入黑客的设备,这样黑客就可以源源不绝收到监控人士的信息。

由于现时中国和伊朗情况类似,电讯公司都是由政府拥有,因此,只要即时信息软件的认证机制涉及手机号码,都有机会被当局拦截并监控。而对于中国用户而言,暂时最有效的避免监控方案,就是设定使用二步认证,并且改用香港中移动和中联通以外电话号码作为接收Telegram验证码的号码。因为现时香港法律仍然不容许电讯公司与政府合作,拦截手机的认证短信作监控用途。而加入二步认证后,黑客由于并无二步认证用的附加密码,因此当局就算在电讯公司成功拦截认证短信,都不可能成功加入监控用装置。

在这次翻墙问答,我准备了视频,示范Telegram二步认证在手机上的设定方法,欢迎各位浏览本站网站留意收看。

问:如果用香港的储值卡,用作收取Telegram、Whatsapp之类认证短信之用,有什么需要注意,才能确保真正安全?

李建军:首先,你不能用中国国有电讯公司的一卡两号卡,因为他们在中国都会服从中国当局的指令行事。你必须使用具漫游功能的香港储值卡,而正常情况下,漫游期间都会收到Telegram一类的认证短信。

如果你使用Telegram,有可能在可见将来添改或更改设备的话,那你必须保持你的香港储值卡正常运作,除了要保留一定储值额,用作每月支付两元港币到十二元港币不等的牌费和行政费外,如果长期不打入或打出电话,电讯公司有可能冻结你的号码,届时会很麻烦。因此,有可能需要定时打出一两个简短电话,以保留你的号码。为了充值方便,选用可以网上用信用咭充值的电讯公司较好。如果你没有信用咭,就最好在香港买储值咭时,一并买入若干增值券。但亦不要买太多增值券,因为增值券有限期的,在限期前未能使用的增值券,电讯公司就会作废。一般而言,在储值咭户口保留五十元港币,可以保留号码几个月。

原文:http://www.rfa.org/cantonese/firewall_features/telegram1-08052016090638.html?encoding=simplified

翻墙问答:介绍加密信息软件Signal Private Messenger

问:除了Telegram和Whatsapp,还有什么免费而又好用的点对点加密信息软件可以使用?

李建军:其实Open Whisper Systems的Signal Private Messenger是相当好的Telegram替代品,因为Signal Private Messenger是开放源码软件,保安透明度会比Telegram和Whatsapp两只软件来得好。事实上,Open Whisper Systems的技术,亦是Whatsapp达致点对点加密的技术基础。只不过,就算Signal Private Messenger本身,都需要用短信做户口认证。一旦中国当局仿效伊朗当局的做法,利用电讯公司来拦截认证用的短信,一样会有户口可能被监控或盗取的问题。

现时众多具备加密功能即时信息软件中,Skype和iMessage并不需要任何电讯公司的短信认证,如果你对电讯公司的短信认证机制有疑虑,并未能在短时间取得香港的手机号码的话,使用Skype和iMessage是不错的选择,但使用Skype几乎肯定需要翻墙,因Skype已经是中国当局的重点对付付象,而iMessage现时只能在苹果的设备间使用,要等稍后时间才会开放Android设备使用,在设备兼容性上未够广泛。

原文:http://www.rfa.org/cantonese/firewall_features/telegram2-08052016092031.html?encoding=simplified

040.走进科学上网


中文、视频介绍科学上午常识。


来源:http://www.moilioncircle.com/release/040.science-fuck-net.html

视频优酷地址:
http://v.youku.com/v_show/id_XMTY2NDg2MzIyNA==.html


040.走进科学上网

不等不靠,有囧有料。攻城狮,建造世界。
科学上网,攻城狮必备技能,加快打怪练级速度,让一部分人先会上网,最终实现共同上网。 这个月朋友圈挺乱的,拉黑了些才清净了。俗话说,抵制什么货,都不如抵制蠢货。
@史荣久 / 2016-07-30 / CC-BY-SA-3.0

观看视频

内容摘要

  • 全局型 VPN
  • 应用级类库型 proxychains
  • 连接级代理型 Shadowsocks
  • ssh -D
  • 跑题:爱国贼,道德绑架,知识性谣言。

参考资料

欢迎围观

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期敏感字了。
之后得单个视频分享,要不文件夹死一窝。


《040.走进科学上网》 科学上网,攻城狮必备技能,加快打怪练级速度,让一部分人先会上网,最终实现共同上网。

题图:“Across the Great Wall we can reach every corner in the world.(越过长城,走向世界)”
 

用 ShadowSocks 和 DigitalOcean 科学上网

最近尝试着使用VPS自行搭建SS服务器(shadowsocks),自行解决科学上网方案。结果发现,有如下好处:

  • 设置过程并没有想象中那样复杂;
  • 科学上网之后,速度极快;
  • 费用非常便宜;

以下说一下过程。



来源:http://ibombr.com/2016/07/28/ss-config/

PART1:依赖工具

主要有4个东西:

  • VPS平台:Digital Ocean;需注册帐号;
  • SS服务器软件;可用SSH命令在服务端自行下载(后详);
  • SS客户端软件: [百度网盘]SS-GUI;提取密码: wb5h;
  • SSH客户端软件:PUTTY;点击可下载;

其中Digital Ocean的注册流程,可参考以下文章:百度经验: DigitalOcean免费VPS申请试用教程

PART2:VPS创建

拥有Digital Ocean的帐号以后,我们来搭建一个VPS服务器;
此时,我们就拥有一个VPS主机了。
你会收到一封邮件,说明以下信息:

  • 该VPS服务器的固定IP(IP Address);
  • 该VPS服务器的用户名(Username),目前总是root;
  • 该VPS服务器的密码,(Password);

如下图所示:
然后,我们就可以进行下一步了。

PART3:连接服务器

使用PUTTY连接服务器;如下图所示位置输入服务器的固定IP(IP Adress):

然后点击OPEN,使用用户名(Username)root和对应密码(Password)来登录,成功后如下图:
连接成功后,进入下一步;

PART4:配置SS服务器

在连接窗口,依次输入以下命令:
更新:
apt-get update
安装:
apt-get install python-pip
pip install shadowsocks
这样,Shadowsocks的服务器就搭建好了。
以下是配置流程;
新建配置文件:
vim /etc/shadowsocks.json
注:linux的vim命令用于编辑文件,详细说明见:
按快捷键 i 编辑该文件,并粘贴以下内容:
{
"server":"你的服务器ip地址",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"你设置的密码",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
检查无误后,按快捷键 ESC,并输入
:wp!
后回车,保存文件;
启用Shadowsocks服务器:
ssserver -c /etc/shadowsocks.json
至此SS服务器已经配置完成。

PART5:开机启动

我们将配置Shadowsocks服务器开机启动。
编辑 /etc/rc.local 文件:
sudo vi /etc/rc.local
在 exit 0 这一行的上边加入如下
/usr/local/bin/ssserver -c /etc/shadowsocks.json
保存后退出。
此后,Shadowsocks服务就会跟随服务器自动启用了。

PART6:开关服务器

为什么要开关服务器?
因为Digital Ocean极为良心,按每小时来扣费的;当我们的shadowsocks服务器关闭时,Digital Ocean是不会进行扣费的。所以我们完全可以在不用的时候将服务器关闭,以节省支出。
登录至Digital Ocean之后,点击上图1位置,可以找到你所创建的VPS主机。
然后点击进入VPS设置,在上图2位置,点击至OFF即会关闭当前服务器。
再次点击即可重新开启服务器。不赘述了哦!

PART7:客户端配置

Shadowsocks的客户端配置非常简单,见下图所示:
服务器IP、服务器端口和密码就是你在PART4里面配置的内容;填上即可;
然后确定,并在右下角小飞机处右键、弹出菜单启用Shadowsocks;

PART8:参考资料

本文参考了以下资料,排名不分先后:

原文:http://www.chinagfw.org/2016/08/shadowsocks-digitalocean.html

无界浏览 Linux VPN 测试版 16.04b (2016年8月4日)

谢谢大家的测试并反馈,请测试16.04b.

http://wujieliulan.com/download/u1604b
SHA1: 71e7457857e34b2c6aa92293d04c55c0091e5fbb
MD5: 467145c52fd7305f8ec38accbfdfa828

使用方法:
下载后打开一个终端,chmod +x u1604b,然后执行:./u1604b, 默认监听地址:127.0.0.1:9666。需要手动设置浏览器代理。
如需要监听 0.0.0.0:./u1604b -L :9666
如需要通过代理: ./u1604b -P 1.2.3.4:8080 或 ./u1604b -P socks://1.2.3.4:1080
新增VPN模式,需要root或sudo: sudo ./u1604b -M vpn
./u1604b -h 会給出提示。

原文:http://forums.internetfreedom.org/index.php?topic=21603.0

无界浏览 Linux VPN 测试版 16.04a (2016年7月31日)

应用户的要求,无界Linux版增加了 VPN 模式,请测试。

http://wujieliulan.com/download/u1604a
SHA1: aa2c444ee9281a5ee19a88b5ff42c20338a42002
MD5: b5cb64324797174db2c8719a6caae928

使用方法:
下载后打开一个终端,chmod +x u1604a,然后执行:./u1604a, 默认监听地址:127.0.0.1:9666。需要手动设置浏览器代理。
如需要监听 0.0.0.0:./u1604a -L :9666
如需要通过代理: ./u1604a -P 1.2.3.4:8080 或 ./u1604a -P socks://1.2.3.4:1080
新增VPN模式,需要root或sudo: sudo ./u1604a -M vpn
./u1604a -h 会給出提示。

原文:http://forums.internetfreedom.org/index.php?topic=21601.0

翻墙问答:政府处处设限 大陆暂无法玩Pokemon Go游戏

问:本星期初引入香港、坊间叫做“捉精灵”的手机游戏Pokemon Go,上市后立即掀起热潮。由于Pokemon Go有多个香港版补给点,都是雨伞革命期间的重要景点,肯定成为中国当局的针对对象,无法推出中国版。但如果中国网友翻墙去香港或日本等地IP玩,又有否可能玩得到?

李建军:就算你翻墙到香港IP,有香港的App Store或Google Play户口,甚至在香港便利店买到Mastercard预付卡付款买道具,都不可能在香港或日本以外地区玩到Pokemon Go,因为Pokemon Go是以身处的位置来决定是否让你参与游戏。就算你翻墙,就算你有香港的户口,如果你本人并非身处香港,仍然与Pokemon Go无缘。如果你在中国玩Pokemon Go,只会见到地图上一片空白,不会有任何补给点或小精灵。只有接近罗湖和落马洲口岸,由于手机辅助GPS的误差缘故,你有可能在深圳隔空取得香港补给点的宝物,或捕捉在香港境内的小精灵,一如Pokemon Go未开放韩国版,但由于地图和GPS误差,令南韩东南部有部分县市都被视为日本的一部分,而能够玩到Pokemon Go一样。

问:Pokemon Go删除了与香港雨伞革命有关的景点的话,又是否有机会出现中国版?

李建军:首先,Pokemon Go的地图是建基于谷歌地图,只要中国当局仍然对谷歌作出封锁,就连谷歌地图都无法载入,又如何开始游戏?

另一方面,中国政府以保密为理由,除了香港绝大部分地区和澳门外,要求所有地图服务供应商不能够在地图提供真实坐标,而是提供了一个经加密,有相当大误差的坐标。这个误差比起手机辅助GPS造成的误差大得多,因为中国当局所加入的地图误差,是具随机性,不像手机辅助GPS,可以依靠固定的数学公式和其他辅助数据去纠正,因此,正常的玩家是很难准确找到游戏中的补给点,换言之,Pokemon Go在中国根本玩不了,除非中国政府改变现时对外国地图服务供应商并不友善的政策,愿意让谷歌地图有准确定位。

问:在Pokemon Go热潮兴起不久,中国就有出现类似Pokemon Go游戏,撇除好玩度不论,玩这游戏可能会有什么问题?

李建军:要在中国能准确玩到类似Pokemon Go的游戏,前提就是准确的地图座标,而现时只有中国的地图服务供应商能够向客户提供准确座标,而这些公司会否与中国当局合作,暗中搜集玩家的个人私隐,实在不得而知。因此,在保障私隐的角度,如果你要在中国玩类似Pokemon Go的游戏,最好用一部你平常不作重要用途的手机,否则只会与容许当局搜集你的行踪无异。

问:现时大部分手机的卫星导航系统,都是接收美国军方的GPS讯号,现时中国当局正大力发展北斗导航系统,日后很可能这类游戏,以至中国的手机,都要接收中国当局的北斗卫星导航讯号,而并非美国军方的GPS讯号,或欧盟的伽里略讯号。那中国网民玩这类游戏,是否代表越来越有风险?

李建军:美国GPS除了军用的M-Code资料不多,民用版本的资料格式都公开透明,而民用版设备亦只能接收民用版讯号,不能解读军用版本的讯号。这亦令美国GPS成为最广泛受各国应用的全球卫星定位系统。但北斗导航系统现时有相当多代码资料,大家未知道具体内容。当中国当局有可能大规模推广北斗系统时,会否最终连玩手机游戏都会有个人私隐疑虑,这很视乎未来中国当局愿不愿意提高北斗技术和系统运作的透明度。

原文:http://www.rfa.org/cantonese/firewall_features/pokemon-07292016080041.html?encoding=simplified

5个最好的翻墙VPN推荐

从去年起,中国开始大规模封锁外国VPN服务, 如此大规模的屏蔽VPN还是头一次。这次防火长城升级的主要目标是国外的翻墙VPN服务。不少VPN供应商表示:由于防火墙的升级,使得用户无法访问他们的服务,这次攻击是前所未有的,比以往都更加复杂。虽然2015年已经过去了,但是现在翻墙形势依然很严峻。

尽管翻墙变得比以前困难了,但是追求自由的人,总能找到“墙”的突破口。经过我们对许多国内外的翻墙VPN进行测试,下面总结5个我们认为最好的用于翻墙的VPN,希望对大家有所帮助。

注意:因为防火长城会不断更新,致使很多VPN接二连三遭受屏蔽。下列的5个VPN,都经过我们测试,目前并未受到影响,而且服务器多、更新快。此外,该文章会不断更新,敬请留意。

#1. ExpressVPN – 最好的翻墙VPN

ExpressVPN logo

ExpressVPN以快速和稳定而闻名。在测试中,ExpressVPN几乎对我们的网速不造成任何影响,浏览网页,观看YouTube十分流畅。ExpressVPN的服务器遍布全球78个国家,这让你有了更多的选择,并且对使用流量没有任何限制。在安全性方面,他们也做得很好,支持256位OpenVPN(TCP, UDP), L2TP-IPsec, SSTP和PPTP等加密协议,并且不保留用户日志,用户可以放心上网而不必担心个人隐私泄露。此外,ExpressVPN兼容各种常见设备,并且可以配置在路由器上。

唯一的缺点是价格有点偏高,购买一年是8.32美元/月,不过,他们保证30天无条件退款,所以你有足够的时间来测试。支持支付宝、银联等多种方式付款。

访问 ExpressVPN


#2. VyprVPN

VyprVPN logo

如果你主要是在手机等移动设备上使用VPN,那么VyprVPN会是最好的选择。VyprVPN的app简洁易用,支持中文,并且快速稳定。最低5美元/月,并提供3天免费试用,不过有500M试用流量限制。除此之外,他们使用Chameleon技术——用256位OpenVPN协议对数据进行加密,并能够轻易躲过防火墙的检测。

不过,VyprVPN在电脑上表现差强人意,Ping值比较高。同时,他们会保留用户的日志90天以上。并且不支持支付宝付款。

访问 VyprVPN


#3. PureVPN

purevpn logo

在为数不多的好用的翻墙VPN里面,PureVPN的价格是相当划算的,购买一年只要$4.16每月而且支持支付宝。他们提供的VPN服务器和IP地址数量在行业内是数一数二的(超过450台服务器遍布101个国家,总共80,000+个IP地址)。没有流量和速度限制,不保留日志,支持各种终端设备,并最多允许5个设备同时使用同一个帐户。

遗憾的是,PureVPN不提供免费试用,而且只有3天退款保证。他们的客户端在电脑完美运行,在移动设备却表现欠佳。而且不支持安全性较高的OpenVPN协议。

访问 PureVPN


#4. StrongVPN

StrongVPN Logo

如果你想享有独立IP,那么StrongVPN是不二选择。动态IP和独立IP均可供用户选择。此外,他们不仅是VPN服务商,同时还是主机提供商,也就是说他们使用的是自己的服务器网络,这就使得他们在速度上有了很大优势。在测试中,我们发现StrongVPN下载速度很快,看YouTube也非常流畅。

不过StrongVPN价格比较昂贵,尽管有多种购买套餐,不过最少也得4.58美元/月。此外StrongVPN提供的服务器很少,仅包括21个国家和地区。

访问 StrongVPN


#5. HideMyAss

Hidemyass logo

HideMyAss是2005年开始运营的一家英国老牌VPN服务商。他们拥有着世界上最多的VPN服务器,一共有868台服务器分布在193个国家。速度不错并且不限制使用流量。价格属于中等价位,购买一年是6.55美元/月,并有30天退款保证。

不过HideMyAss也有不足之处,比如他们暂时不支持支付宝付款。而且请注意,如果你想要在30天内退款,得保证使用流量不超过10GB,并且连接次数不超过100次。

访问 HideMyAss


为什么不推荐大陆的VPN提供商?

上面我们推荐的都是国外著名的VPN服务商。其实,也还有不少大陆的VPN服务商,但我们认为他们不可靠,原因主要有以下几点:

  1. 速度慢;
  2. 不稳定,经常掉线;
  3. 资质低,技术落后于国外;
  4. 限制每月的使用流量;
  5. 要备案,受国家严格管制,个人隐私没有保障.

免费VPN和付费VPN对比

正所谓天下没有免费的午餐,防火墙的背后有整个国家的财力在支撑,如果单靠免费翻墙软件,会不断被GFW封锁,是不可持续的。你终究会发现,付费VPN比免费VPN好用。

免费VPN由于投入少,所以一般会限制速度,限制使用流量。而且免费VPN只是让你突破 GFW的封锁,而不保证隐匿你的身份,因为他们通常不会严格加密上网数据,并保留用户日志很长一段时间,如果政府要求,他们可以交出你的数据,也有可能政府会提供一个快速稳定VPN服务器来“钓鱼”。在某些极端的情况下,免费VPN还会恶意植入木马,或者将用户资料卖给第三方。所以,你应该永远不要信任免费VPN,如果目的只是翻墙,倒是没什么大碍,但如果你注重个人隐私并想拥有快速稳定的服务,那么你应该考虑用付费VPN翻墙。

相比之下,付费VPN更值得信赖。因为他们投入了很多资金,就能提供更多的VPN服务器和国家,而且速度和稳定性也有保证。在安全方面,他们提供PPTP, L2TP/IPSEC, OpenVPN, SSTP等协议来加密数据,而且一般不保留用户日志,让用户的个人隐私得到保障。此外,还支持各种终端设备,有7天24小时售后帮助你解决任何问题。付费VPN是最好的翻墙选择。

原文:https://bestvpnchina.net/%E6%9C%80%E5%A5%BD%E7%9A%84%E7%BF%BB%E5%A2%99vpn%E6%8E%A8%E8%8D%90/

翻墙问答:iMessage是否有保安漏洞?(视频)

firewall620.jpg

李建军向大家介绍IMessage保安漏洞(苹果官网图/粤语部制)

视频链接:http://www.rfa.org/cantonese/video?v=1_15yfzj91

问:虽然在Mac和iOS设备上用的iMessage,因点对点加密而得到相当多网友的信任。但最近iMessage被发现有保安漏洞,有可能令Mac和iOS设备上的资料外泄,能否介绍一下。

李建军:这次iMessage的保安漏洞,问题不在于令iMessage与朋友间的通讯外泄,而是令你的iOS装置和Mac所储的资料外泄。只要黑客将有问题的图像档,透过iMessage送到你的手机或电脑,而你的手机或电脑作业系统未有更新到最新版本的话,黑客就可以取得你电脑或手机储存装置的密码,换言之,只要黑客利用混有特殊代码的图片,伪装成维权图片之类,就可以将你电脑或手机内的资料偷清光。

只要你将电脑或手机的作业系统升级做最新版,就不会受这次事件影响。如果你的iOS不能够升级做最新版,亦可以于iOS装置上关闭iMessage,来避免受事件的影响。这次翻墙问答,我们会有片段介绍如何关闭iMessage,欢迎本台听众浏览本台网站收看有关视频。而在Mac机上,只要你没有启动iMessage程序,就不会收到iMessage,因此,你暂时在Mac机上不启动iMessage程序,就已经不会受到这次保安漏洞所影响。

问:关闭iMessage,会否对iOS用家有潜在影响?

李建军:其实关闭iMessage这个选项,我个人不大鼓励,因为iOS当知道收件人关闭了iMessage后,就会自动用无加密短信传送信息。而短信不单无加密,而且必须经过电讯公司传递,中国几乎所有电讯公司都是国有,你的信息有机会被当局拦截,令对方无法收到,亦会令你和你朋友身陷险境。因此,如果你能用iMessage,尽可能更新作业系统后恢复用iMessage比较安全。但可以肯定是,由于点对点加密已经成为主流,黑客运用附加古怪代码附件意图入侵,或拦截通讯内容,将会成为新的主流。这种需要避免黑客攻击而停用iMessage的情况,日后都仍然有机会发生。

问:最近其中一个主流翻墙软件蓝灯已经推出收费版本,其实翻墙软件收费,会否成为主流?一旦成为主流,又可以如何应付?

李建军:让中国网民翻墙,除了软件开发费用外,要应付中国那些古灵精怪封网手段,甚至动用黑客攻击翻墙软件主机的情况,都需要相当一笔费用,还未计相关连的机器维护,以及数据传送费用。因此,翻墙软件最终要向用户收取费用,这是相当合理的趋势。特别各国政府的财政都相当吃紧时,西方国家政府亦难拨出大笔预算投放在翻墙软件开发和维护之上。

对中国听众而言,现时最大难关在于支付翻墙软件的月费。因为这肯定要透过信用卡收取月费,而银联系统掌握在中国国有银行手上,一旦银联拒绝处理涉及翻墙软件的交易就会造成困扰。另一方面,亦非每一个人有能力申请海外银行的VISA或万事达信用卡或扣帐卡。

但最近有香港便利店开始售卖万事达预付卡,称为礼品卡,用法与大部分信用卡一样,只不过需要在香港增值,而这类预付卡并不需要登记任何个人资料。相信香港这种预付卡,很适合用作支付翻墙软件或VPN使用费,除了有匿名的好处外,亦避免了中国当局拒绝交易的麻烦,只要你买的金额足够的话,相信可以在一段颇长时间作扣除VPN或翻墙软件帐项之用,而且并不需要远赴日本或其他西方国家买这类卡,只要有亲友能自由往返香港,在香港的便利店就能买到卡和增值,颇为方便。

原文:http://www.rfa.org/cantonese/firewall_features/imessage-07222016085734.html?encoding=simplified

教你用 google-drive-ocamlfuse 在 Linux 上挂载 Google Drive

如果你在找一个方便的方式在 Linux 机器上挂载你的 Google Drive 文件夹, Jack Wallen 将教你怎么使用 google-drive-ocamlfuse 来挂载 Google Drive。



作者:Jack Wallen 译者:GitFuture 校对:wxy
编译自:http://www.techrepublic.com/article/how-to-mount-your-google-drive-on-linux-with-google-drive-ocamlfuse/
原创:LCTT https://linux.cn/article-7604-1.html

Google 还没有发行 Linux 版本的 Google Drive 应用,尽管现在有很多方法从 Linux 中访问你的 Drive 文件。

如果你喜欢界面化的工具,你可以选择 Insync。如果你喜欢用命令行,有很多像 Grive2 这样的工具,以及更容易使用的以 Ocaml 语言编写的基于 FUSE 的文件系统。我将会用后面这种方式演示如何在 Linux 桌面上挂载你的 Google Drive。尽管这是通过命令行完成的,但是它的用法会简单到让你吃惊。它太简单了以至于谁都能做到。
这个系统的特点:
  • 对普通文件/文件夹有完全的读写权限
  • 对于 Google Docs,sheets,slides 这三个应用只读
  • 能够访问 Drive 回收站(.trash)
  • 处理重复文件功能
  • 支持多个帐号
让我们接下来完成 google-drive-ocamlfuse 在 Ubuntu 16.04 桌面的安装,然后你就能够访问云盘上的文件了。

安装

  1. 打开终端。
  2. sudo add-apt-repository ppa:alessandro-strada/ppa 命令添加必要的 PPA
  3. 出现提示的时候,输入你的 root 密码并按下回车。
  4. sudo apt-get update 命令更新应用。
  5. 输入 sudo apt-get install google-drive-ocamlfuse 命令安装软件。

授权

接下来就是授权 google-drive-ocamlfuse,让它有权限访问你的 Google 账户。先回到终端窗口敲下命令 google-drive-ocamlfuse,这个命令将会打开一个浏览器窗口,它会提示你登陆你的 Google 帐号或者如果你已经登陆了 Google 帐号,它会询问是否允许 google-drive-ocamlfuse 访问 Google 账户。如果你还没有登录,先登录然后点击“允许”。接下来的窗口(在 Ubuntu 16.04 桌面上会出现,但不会出现在 Elementary OS Freya 桌面上)将会询问你是否授给 gdfuse 和 OAuth2 Endpoint 访问你的 Google 账户的权限,再次点击“允许”。然后出现的窗口就会告诉你等待授权令牌下载完成,这个时候就能最小化浏览器了。当你的终端提示如下图一样的内容,你就能知道令牌下载完了,并且你已经可以挂载 Google Drive 了。
应用已经得到授权,你可以进行后面的工作。
应用已经得到授权,你可以进行后面的工作。

挂载 Google Drive

在挂载 Google Drive 之前,你得先创建一个文件夹,作为挂载点。在终端里,敲下mkdir ~/google-drive命令在你的家目录下创建一个新的文件夹。最后敲下命令google-drive-ocamlfuse ~/google-drive将你的 Google Drive 挂载到 google-drive 文件夹中。
这时你可以查看本地 google-drive 文件夹中包含的 Google Drive 文件/文件夹。你可以把 Google Drive 当作本地文件系统来进行工作。
当你想卸载 google-drive 文件夹,输入命令 fusermount -u ~/google-drive

没有 GUI,但它特别好用

我发现这个特别的系统非常容易使用,在同步 Google Drive 时它出奇的快,并且这可以作为一种本地备份你的 Google Drive 账户的巧妙方式。(LCTT 译注:然而首先你得能使用……)
试试 google-drive-ocamlfuse,看看你能用它做出什么有趣的事。

原文:http://www.chinagfw.org/2016/07/google-drive-ocamlfuse-linux-google_50.html

科学上网——CentOS7 环境下 PPTP VPN 搭建

之前写过一篇Ubuntu 14.04下面的PPTP搭建方法。

本文仅介绍 PPTP 在CentOS7环境下的搭建方法,大致和Ubuntu环境下的类似。

注意,务必在root用户下操作。

以下是搭建过程:

安装组件

运行下面的命令安装iptables、ppp、pptpd

yum install ppp iptables pptpd

运行完成后,应该顺利安装完成了需要的组件

配置组件

1、编辑pptpd.conf:

vi/etc/pptpd.conf

2、搜索localip,去掉下面字段前面的 #(注释符号),然后保存退出

localip192.168.0.1

remoteip192.168.0.234-238,192.168.0.245

3、编辑options.pptpd

vi /etc/ppp/options.pptpd

4、搜索ms-dns,去掉搜索到的两行ms-dns前面的#,并修改为下面的字段(Google DNS)

ms-dns8.8.8.8

ms-dns8.8.4.4

5、接下来编辑/etc/ppp/chap-secrets设置VPN的帐号密码

vi/etc/ppp/chap-secrets

6、添加一行,按照下面的格式写入你的用户名和密码

用户名 pptpd 密码 *

注意:上面的用户名和密码都区分大小写

7、接下来修改内核参数,运行下面的命令编辑sysctl.conf

vi /etc/sysctl.conf

8、在conf末尾添加下面的代码,使内核支持转发

net.ipv4.ip_forward=1

9、运行下面的命令使内核修改生效

sysctl -p

10、添加下面的iptables转发规则(直接在SSH运行下面命令即可)

XEN架构:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

OpenVZ架构:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to-source VPS公网IP

11、但是添加转发规则后重启就会失效,Centos 6系统可以使用service iptables save保存配置,但Centos 7不支持,我们需要将配置写入rc.local文件中,开机自动设置,运行下面的命令赋予rc.loacl执行权限:

chmod +x /etc/rc.d/rc.local

12、编辑rc.local,并把上面的转发规则添加到文件末尾

vi /etc/rc.d/rc.local

13、保存退出

启动组件

1、用下面的命令启动pptpd

/etc/init.d/pptpd start

2、用下面的命令使pptpd开机自动启动

chkconfig pptpd on

3、现在就可以使用你的设备连接到你的VPN了,若配置正确,就可以正常连接并上网了

最后福利…

现在通过此推广链接注册的新用户,可以获得10刀的免费信用额度,也就是2个月的最低配置VPS的使用权。(挂个VPN,搭个博客绰绰有余了。)

文/振衣(简书作者)
 

Kino网络加速器 [The Kino VPN]——又一款免费好用的科学上网软件工具

又是周末好时光,上周没有好好的发博客,本周末就来一波福利:分享一款新鲜出炉的免费好用的科学上网工具——Kino网络加速器 [The Kino VPN]。这个周末福利是不是很不错呢!首先说明一下,这款科学上网软件是某网友制作的,分享给我测试了一下,我觉得还不错,线路非常多,可选择性强,跟我之前分享的:PJM-Free VPNsqsxfree等科学上网软件有得一拼!下面来看一下Kino网络加速器软件界面:

一打开Kino网络加速器就需要授权登陆,这个授权码呢,本来需要加群到群共享里看的,这里就先放出来(觉得好用可以加群获取最新版Kino VPN,加群暗号:光的传人),授权码是:kino8888 。

输入正确的授权码就可以打开主界面了:

大家最关心的其实就是可以用来科学上网,打开谷歌搜索、facebook、youtube、推特等常用国外网站的香港线路、日本线路、韩国线路、台湾线路、美国线路了!博主亲自测试了一下,线路非常多,总有一个适合你!虽然有的连接不上或者连接上之后不能访问网站,其实就是线路问题,换一个就可以了!总体来说,可用来科学上网的线路非常多,速度也不错,关键是好免费,值得使用!

软件公告:

[The Kino VPN]

[2016/7/19]

[2016/7/19] 随着VPN的使用用户越来越多,线路是有一定饱和度的,若连接不上换线路,常规线路不行换测试

[2016/7/19] 如果美国常规线路连接不上,请到美国测试线路区连接编号是1600后的线路.

[2016/7/19] 软件版本已经更新到最新版本1.1,修复部分细节,以及更换总服务器,欢迎测试

[2016/7/17] 最新更新了线路测试区,线路可能会有不稳定连接不上等原因,为筛选出优质线路若感觉有哪条线路不错的,劳驾及时在群里反馈,以方便更多人使用.

[2016/7/17] 新版本1.1即将开工,若大家对现版本有什么意见,欢迎反馈通过QQ群反馈.

[2016/7/16] 台湾2016/7/14的全为服务器禁Ping,但均可连接.

Kino网络加速器 [The Kino VPN]下载地址:http://pan.baidu.com/s/1jHQTrV4   密码: ahrd 觉得好用记得来评价哦!

原文:http://www.liu16.com/post/TheKinoVPN.html

使用 Youtube-DL 离线下载 YouTube 视频并且 VPS 上在线观看


在一些特殊的条件需求下,一些人可能需要vps离线下载视频,或者在不科学上网的情况下在线观看。
有人给我推荐了Youtube-dl,的确很强大,这篇文章只是简单介绍一下Youtube-dl的基础功能和如何在自己的VPS上面在线观看。


 
如果你只是想要简单的下载youtube视频到本地,请看这个:教你如何从YouTube上下载视频

安装步骤

安装很简单,Youtube-dl支持Windows,Linux,OS X,etc等系统,这次主要介绍Linux系统。
以下代码不一定是最新的,最新的请去 官方下载中心 查看。

Linux系统安装:

以下三种下载安装方式选择一个就行了。
  1. sudo curl -L https://yt-dl.org/downloads/2016.07.13/youtube-dl -o /usr/local/bin/youtube-dl
  2. sudo chmod a+rx /usr/local/bin/youtube-dl
如果你的vps没有安装 curl ,可以使用 wget 来下载。
  1. sudo wget https://yt-dl.org/downloads/2016.07.13/youtube-dl -O /usr/local/bin/youtube-dl
  2. sudo chmod a+rx /usr/local/bin/youtube-dl
当然你也可以用pip来安装,如果你没有pip就先安装pip, apt-get install python-pip -y
  1. sudo pip install --upgrade youtube_dl

OS X系统安装:

  1. sudo wget https://yt-dl.org/downloads/2016.07.13/youtube-dl.sig -O youtube-dl.sig
  2. gpg --verify youtube-dl.sig /usr/local/bin/youtube-dl
  3. rm youtube-dl.sig

Windows系统安装:

直接官方下载一个exe文件就行了。
但是,要运行这个程序还需要安装微软的运行库。

基础功能介绍

Youtube-dl的官网是:http://rg3.github.io/youtube-dl/
Github项目地址是:https://github.com/rg3/youtube-dl
在这里都能看到最新最全的youtube-dl信息。
Youtube-dl支持八百多家视频网站,具体列表可以看这里:http://rg3.github.io/youtube-dl/supportedsites.html ,优酷、爱奇艺等国内视频网站也是支持的。

下载视频

以下教程均以 这个youtube视频链接为例 https://www.youtube.com/watch?v=jK5coaM2X9g
最基础的下载视频的方法很简单,直接 youtube-dl URL
  1. youtube-dl https://www.youtube.com/watch?v=jK5coaM2X9g
这样就会自动选择一个最好的视频格式和清晰度下载到 当前的文件夹 了。
如果想把这个视频的所有格式都下载下来怎么办?

下载全部格式

  1. youtube-dl  --all-formats https://www.youtube.com/watch?v=jK5coaM2X9g
–all-formats :添加这个参数之后,所有存在的格式全部下载;
但是你又不想全部下载,想挑选指定视频的格式和清晰度怎么办?

列出视频的所有格式/清晰度

–list-formats/-F:这是一个列清单参数,执行后并不会下载视频,但能知道这个目标视频都有哪些格式存在,这样就可以有选择的下载啦!
  1. youtube-dl --list-formats https://www.youtube.com/watch?v=jK5coaM2X9g
然后就会看到一大片的视频格式,如果你要下载其中一个,请看前面第一列的编号ID。

下载指定格式视频

-f + 编号:通过上一步获取到了所有视频格式的列表,第一列就是编号对应着不同的格式,例如我想下载22号那个mp4格式分辨率为1280*720的视频,则按下面的命令就可以轻松指定下载视频哦;
  1. youtube-dl -f 22 https://www.youtube.com/watch?v=jK5coaM2X9g

离线下载/后台下载

我发现Toutube-dl不带有后台下载的功能,或者说我没找到命令,不过没事,可以试用 screen 来实现。
首先如果你没有安装 screen 的话请先安装。
Debian/Ubuntu系统安装:
  1. apt-get update
  2. apt-get install screen
Centos系统安装:
  1. yum update
  2. yum  install screen
然后用 -S 创建一个活动,这时候你就进入了这个活动中,你就可以去下载视频了,这时候即使关闭ssh也不会断开下载。
  1. screen -S video
如果你不小心关闭ssh或者想要重新查看 video活动,可以用 -r 来重新进入这个活动
  1. screen -r video

VPS中在线播放

这个其实很简单,HTML5本身就可以去播放指定格式的视频,所以我们只需要搭建一个nginx或者apache,把视频下载到默认虚拟主机的文件夹里,就可以在线观看了。
需要注意的是,HTML5支持在线播放的格式有限,建议下载 mp4 和 Webm 格式的,免得HTML5无法在线播放。
我们这里以apache为例,先安装apache。
Debian/Ubuntu系统安装:
  1. apt-get install apache2 -y
Centos系统安装:
  1. yum install httpd -y
然后去  /var/www 目录下载视频。
  1. cd /var/www
下载好了之后用 ls -a 查看当前目录下的文件,找到你的视频文件名称,比如:233.mp4
然后打开网页: http://你的VPS_IP/233.mp4
就可以在线观看了。
当然这样看视频也会有一些不方便,不能方便的选视频。你可以试试我的逗比云的程序 :自用的逗比云 目录列表程序 Directory Lister 兼容中文版
可以列出虚拟主机目录下的文件列表。当然,我这个程序是php的,所以还需要安装php,如果你不会可以直接去lnmp.rog 安装lnmp一键包,因为不需要用到数据库,所以你可以 lnmp mysql stop 把Mysql数据库关掉。
当然你也可以直接使用 apache/nginx 自带的列表功能,开启方法很简单,只要删掉/var/www目录下的index.html文件,这时候访问你的 http://vps_IP/ 就可以看到一个简陋的列表了。
  1. rm -rf /var/www/index.html
如果你安装的是nginx (通过apt-get install -y 、 yum install nginx -y 安装的才是),那默认的虚拟主机文件夹是 /usr/share/nginx/www
  1. rm -rf /usr/share/nginx/www/index.html
如果你安装的是上面我说的 lnmp.rog 中的lnmp一键包,那默认虚拟主机文件夹就是 /home/wwwroot/default
  1. rm -rf /home/wwwroot/default/index.html
就暂时先介绍这么多,稍后慢慢补充。

翻墙问答:Facebook Messenger是否有加密功能?(视频)

firewal310.jpg

李建军向大家介绍脸书Facebook Messenger。(无版权限制图片)

问:传闻已久的Facebook Messenger加密功能,脸书现时正进行测试。同样点对点加密,Facebook Messenger的加密功能,与同公司推出的Whatsapp有何分别?而脸书的用家,又何时能享受点对点加密保护?

李建军:脸书最近开始对Messenger的加密功能做测试,由于现时只是小规模测试,因此,现时脸书Messenger的用家,并不需要更新或重新安装应用程式。当你的帐户被选中作测试之用时,脸书会通知你。

虽然Messenger和Whatsapp都是脸书公司的产品,但Messenger和Whatsapp在加密策略上截然不同。Whatsapp是强制选择点对点加密,而纵使你使用Whatsapp网页版,或Whatsapp桌面版,都不会影响你通讯的保密性。但Messenger由于依附脸书本身运行,加上有不同的第三方应用依附Messenger运作。因此,Messenger并不预设加密,而你一旦设定了使用点对点加密,就只有一部设备会享受到加密的好处,如果你选择已经选定加密设备以外的设备的话,就不会享受到点对点加密的好处。

但一旦你选择使用点对点加密,纵使你用Messenger都好,脸书公司都不会再知道你的通讯内容。因为Messenger用是点对点通讯,除了发信人和收件人,其他各环节都不会知道通讯内容。

问:在脸书未全面采用点对点通讯的时候,那脸书用户之间的通讯,怎样会比较安全,而不会外泄?

李建军:由于脸书Messenger,实际是脸书的一部分,因为,你用脸书网站版本,某程度上,你的通讯已经得到一定加密。现时脸书网站版已经使用256位元加密金钥,以及SHA-2技术,只要你使用最新版的浏览器,除了脸书公司本身外,其馀人等都很难知道你的通讯内容。当然,如果你脸面书公司都不信任的话,那就要等脸书Messenger全面引进加密功能后,才使用Messenger与朋友通讯。

问:在Messenger未全面引进点对点加密前,脸书用户之间通讯的保密,很大程度上仍然要依赖脸书在网站版本上的加密工作。那我怎知脸书的加密水平,以及使用的数码证书标准如何?

李建军:当你进入已经加密的网站后,浏览器网址的一栏,都会显示一个灰色的锁,或绿色的锁,这个代表网站通讯己经加密了。而你只要按一下灰色或绿色的锁,就可以浏览网站加密用的数码证书资料,从而知道你的网站加密水平是否足够。绿色锁并不代表网站使用比较强的加密,但仍然代表比较可靠,因为网站数码证书发出过程中,数码证明签发机构,曾经对持有人作出详尽审核。一般而言,银行的网站都会有绿锁。但脸书或谷歌,一般都只会出现灰锁,所以要知道网站的保安是否足够,仍要审视网站的数码证书资料。

而以现代网站的要求而言,数码证明要显示使用SHA-2或SHA-256技术,至少以256位元加密,以及加密金钥长度至少为2048位元,至称得上在资料保护上够安全。如果你发现网站使用SHA-1技术,或加密金钥长度仍然维持在1024位元的水平,或加密水准仍然在128位元,证明这些网站可能已经用了过时的技术,当然你将私隐交托给这些网站时,应保持相当审慎的态度。因为SHA-1早已是漏洞百出的技术,而以现代电脑的运算水平而言,128位元已经不足以保护你的个人资料。

这集翻墙问答,会有视频示范,如何查阅网站数码证书的资料,欢迎听众浏览本站网站,收看有关视频。虽然这集用Firefox来作示范,但Safari和Chrome这两只浏览器使用方法都大同小异,分别不大。

视频链接:http://www.rfa.org/cantonese/video?v=1_r8xaw0x8(如何查阅网站数码证书的资料)

原文:http://www.rfa.org/cantonese/firewall_features/fbm-07152016091726.html?encoding=simplified

Lantern 3.0.7版

蓝灯(Lantern)官方论坛

帖子页面请点这里进入,或者点击左上方的Issues进入。

你可以在右上角“sign up” 注册账号。 通过邮件验证后,请点击 https://github.com/getlantern/forum/issues 回到论坛。

在论坛内,可用右上角使用“New issue” 发新帖,或者在帖内使用“Comment”回复。

版规

本论坛可进行任何关于蓝灯(Lantern)以及关于其它翻墙的讨论。:red_circle:提问前,请先阅读蓝灯精华帖:red_circle:因为版面有限,请不要重复发帖,也请不要在开新帖发表邀请码。邀请码请发表到汇总贴或其他论坛。 禁止广告帖,包括非官方的讨论群。 关于蓝灯的问题,请上传log。

蓝灯(Lantern)最新版本下载

现有版本是3.0.7

Windows 版本(要求XP SP3以上) 备用地址

安卓版(要求4.1以上) 备用地址 请勿使用UC浏览器点击下载,会被替换成假的有广告的版本 Google Play下载

macOS (10.7及以上) 备用地址

SpiderOak网盘下载 Sync网盘下载 PCloud网盘下载 Evernote下载 Mega网盘下载(只能用Chrome或火狐下载)

蓝灯(Lantern)官方网站是 https://getlantern.org 其它网站均为假冒。

原文:https://github.com/getlantern/forum#蓝灯lantern最新版本下载

GoGo 快速使用

GoGo是一个基于Paas平台的代理工具,同时支持SOCKS5和HTTP两种代理协议。针对HTTPS链接采用隧道代理(盲转发)而非中间人方式,保证用户隐私不泄露。

来源:http://www.gogotunnel.com/getStarted
官方网站:http://www.gogotunnel.com/

1. 安装前准备

在安装GoGo之前,你需要满足如下条件:

安装Java 6
或以上版本
GoGo是基于Java开发的,所以必须要先安装Java虚拟机。

从GoGo-1.3.0版本开始,GoGo同时支持Socks5和Http代理。两种代理方式都是走隧道,代理Https网站使用的都是网站的原生证书,所以使用GoGo无需担心安全性问题,这一点也是GoAgent无法做到的,GoAgent代理Https网站时, 将原先的加密连接打断,在中间使用自己签发的证书完成代理,容易导致私人信息泄漏,你的所有信息对GoAgent来说其实是明文,后果你懂得。 关于浏览器建议使用Chrome或者 Firefox,IE 浏览器很烂,不建议使用。如果非用IE不可的话,注意IE 不支持Socks5代理(Socks4使用本地域名解析,所以不能访问部分国外网站),所以只能使用Http代理。

2. 安装和运行

单击这里 GoGo下载最新版本,解压到磁盘,执行启动脚本运行GoGo(start.bat for Windows, start.sh for linux, start.command for Mac OSX, 如果没有执行权限则要手动添加,执行 chmod a+x start.*)。

如果启动失败,请检查是否安装了Java,确认方法:单击开始菜单-单击运行,输入cmd回车,执行命令java -version 如果返回Java版本信息则表示安装成功。如果提示找不到java命令,并且确实安装了Java,请将路径“java安装目录/bin”设置到环境变量Path中。

...

3. 使用GoGo

如果你使用Chrome浏览器,最好使用SwitchySharp插件切换代理设置,单击这里SwitchySharp下载。 SwitchySharp插件的安装也很简单,在Chrome地址栏中输入chrome://extensions/并回车,然后将下载的SwitchySharp文件拖放到这个窗口中就完成安装了。

接下来要在SwitchySharp插件中配置GoGo代理,单击Chrome浏览器地址栏右侧的图标,单击选项, 再单击按钮创建新的情景模式, 命名为”GoGo”, SOCKS代理配置为127.0.0.1,端口为9090,9090和gogo外形很相似,所以很容易记。 ,一定要记得选中

...

配置完成后,单击保存按钮,单击Chrome地址栏右侧的图标,单击Gogo。好了,试试在Chrome中访问youtube

如果你使用Firefox浏览器,单击菜单栏 “工具” – “选项” – “高级” – “网络”, 单击“连接”区域的“设置”按钮, 选择“手动配置代理”填写SOCKS Host为127.0.0.1, Port为9090,一定要记得选中, 如果有”Remote DNS”复选框,也要选中。

...

如果你使用IE浏览器,在菜单栏上单击”Tools” – “Internet Options” – “Connections” – “LAN settings”, 选中 “Use a proxy server for you LAN”, 然后单击”Advanced”。填写如下,注意Http代理端口是9091,记得选中 “Use the same proxy server for all protocols”:

...

4. 搭建私有服务端

详情请参考搭建服务端.

如果有问题,欢迎到GoGo问答区域提问: http://wenda.gogotunnel.com,或在GoGo Web控制台的留言区提问。

 

原文:http://www.chinagfw.org/2016/07/gogo.html

翻墙服务 Lantern 发布 3.0,引入付费模式

免费的突破网络审查工具 蓝灯(Lantern) 刚刚发布了它的 3.0 大版本更新,其中最大的变化就是有了免费版和付费的“专业版”的区隔。

在蓝灯官方的中文论坛里,一位昵称为 p3rcya 的维护者 发帖解释了推出付费版的原因 

蓝灯原来是免费的,GFW 工作人员搞很多个 IP 检测,直接封了。现在需要付钱,GFW 没法收集付费用户使用的 IP。而且目前服务器流量大,成本高。专业版可以保证用户能稳定的使用。

除了寄希望于每年一百多元的收费墙挡住 GFW 的 IP 扫描,当然收费版也比一般的翻墙服务更好翻墙。 在另一篇帖子里 ,p3rcya 对蓝灯专业版和免费版的区别进行了介绍:

免费版有 800MB 流量限制。免费版流量使用完毕之后会限速到 20KB/s,但对浏览网页是基本没有影响的。对稳定性和速度不太有要求的人,看看网页用免费版完全可以。

专业版流量无限,速度无限。 支持同时连接多台服务器。

近期 GFW 工作人员搞很多个 IP 来检测蓝灯的 IP,进行封锁。专业版需要付费,GFW 就没办法一下子注册很多帐号,来批量封锁 IP。所以付费能有效抵御 GFW 的封锁。

专业版支持 meek 等一些特殊的翻墙协议。因为这些协议耗费大,或者是被广泛使用后 GFW 会封锁,只有专业版才能使用。

专业版的价格是一年 180 元,两年 320 元,需前往 官方网站 下载升级到最新的 3.0.6 版本才能够显示。蓝灯目前并不会强制用户全部升级到最新版本,但旧版本的连通性会有何种改变,目前还不得而知。

没有任何可信来源标识蓝灯与谷歌有直接的隶属或者投资关系,蓝灯是由 Brave New Software 公司开发,这家公司是由 LimeWire 和 LittleShoot 的前首席工程师 Adam Fisk 成立。Lantern 的前身,uProxy 是谷歌旗下致力于解决全球“人祸”的智库 Google Ideas(已改名  Jigsaw)中的一个项目。唯一可查的投资是 来自美国国务院的 220 万美元种子轮投资 

除了 VPN(TC 主站的同事 Jon Russell 前几天介绍了一个 VPN 横向测速工具, 点击这里 阅读),国内的“翻墙”工具在近几年魔高一尺道高一丈的互相升级之后,发展成了多种形式,各个阶层皆有的工具,蓝灯是给需求简单,对费用敏感的小白用户使用;如果需要更快的连接,那么 Shadowsocks 配合各个平台的工具就能胜任,但这需要一些计算机使用经验,并且要为租用 VPS 付费。当然还有赛风、自由门、无界等其他工具给不同需求的人使用。

一款免费应用,从无名到有名,涌入的用户越来越多,服务器的成本和客服成本都是不可避免要增加的。从运营者尤其是身在中国的运营者角度来看,增加一道付费墙,既可以平衡支出,也可以尽量减少极有可能的来自政府的骚扰。总体来说,比起 GFW 的技术升级,翻墙服务开始付费并不会阻挡人们的使用热情。

桌面版(macOS  Windows)与 安卓版 可以更新,或者 点击这里 选择更多下载方式。目前蓝灯还没有推出 iOS 版。

原文:http://techcrunch.cn/2016/07/09/lantern-introduces-premium-model/?ncid=rss

VPN-WS源码解析

vpn-ws一个开源的,承载协议使用Websocket的VPN实现。代码简单易读,其中对于tuntap/SSL/socket/event的C API使用,有三个平台的版本(Win、Linux和MacOSX1),具有参考价值。

参考

词汇

  • peer,VPN中的节点,对于服务器而言包括自己的tuntap和每个客户端socket
  • tuntap,Linux/Unix中创建的虚拟网卡,读取和写入数据和其它文件设备如socket、file差不多

实现

VPN的实现无非是客户端创建一个虚拟网卡tun/tap,从tun/tap中读取数据包,发送到服务端,服务端写入到它的tun/tap虚拟网卡中,从而让两端像是在同一个局域网内。发送数据无论是走UDP/TCP还是websocket,都只是为了转发虚拟网卡中接收到的数据包(以太包或者ip包)。

客户端与服务端的交互如下:

vpn-ws client <—HTTP/websocket—> Nginx <—uWSGI—> vpn-ws server

VPN-WS的客户端与Nginx Web交互,通过HTTP/HTTPS传送HTTP数据,而后Nginx通过uWSGI接口协议发送至应用服务即VPN-WS服务端。在完成了websocket的upgrade协商后,整个通路变成了websocket数据帧的转发通路。

用Nginx作前端的好处是,可以直接在现有的基于Nginx的服务上添加入口布置这个VPN服务器。客户端有重连机制,但是只有一条连接到服务端,如果拿来翻墙,可就太弱了

服务端实现

创建tun/tap虚拟网卡

因为Linux视一切设备为File,所以其与file fd(文件句柄),与socket fd使用上没有区别。以此创建一个peer放到全局数组vpn_ws_conf.peers里。

tuntap_fd = vpn_ws_tuntap(vpn_ws_conf.tuntap_name);
vpn_ws_peer_create(event_queue, tuntap_fd, vpn_ws_conf.tuntap_mac);

void vpn_ws_peer_create(int queue, vpn_ws_fd client_fd,
uint8_t *mac) {

vpn_ws_event_add_read(queue, client_fd)
vpn_ws_peer *peer = vpn_ws_calloc(sizeof(vpn_ws_peer));
peer->fd = client_fd;
vpn_ws_conf.peers[client_fd] = peer;
if (mac) {
memcpy(peer->mac, mac, 6);
peer->mac_collected = 1;
//只有创建虚拟网卡时,peer的raw属性才置为1,这个值
//决定了websocket数据包是直接转发还是还原成原始数据包再转发
peer->handshake = 1;
peer->raw = 1;
}

创建服务端口,以接收客户端连接

server_fd = vpn_ws_bind(vpn_ws_conf.server_addr);
vpn_ws_event_add_read(event_queue, server_fd);

接收新客户端连接并分配一个peer节点

为走web socket而来的客户端创建的peer,其raw属性为0,也就是说从这个peer读取出的数据包非原始包(而是websocket数据帧格式)。而handshake属性也为0,则需要与服务端作协议认证交互后才能让这个peer正常使用,即接收和转发数据包。

int ret = vpn_ws_event_wait(event_queue, events);
for(int i=0;i<ret;i++) {
int fd = vpn_ws_event_fd(events, i);
if (fd == server_fd) {
vpn_ws_peer_accept(event_queue, server_fd);
continue;
}

if (vpn_ws_manage_fd(event_queue, fd)) break;
}

服务端添加一个peer到peer数组里:

void vpn_ws_peer_accept(int queue, int fd) {
int client_fd = accept(fd, (struct sockaddr *) &s_un, &s_len);

vpn_ws_peer *peer = vpn_ws_calloc(sizeof(vpn_ws_peer));
peer->fd = client_fd;
if (mac) {
//只有虚拟网卡才会进这里
memcpy(peer->mac, mac, 6);
peer->mac_collected = 1;
peer->handshake = 1;
peer->raw = 1;
}
vpn_ws_conf.peers[client_fd] = peer;
}

处理每一个peer事件(发送数据或接收数据)

这里只解释读取的代码。读取部分,主要是做三件事:

1, 完成HTTP到websocket的协议升级协商。 
2, 读取websocket的数据帧。忽略掉其中一些ping/pong等无用类型数据。并解出里面的以太网帧格式的数据包
3, 跟据包的目标MAC地址,进行数据包转发。转发的目标peer在已登录了的所有的peer中查找。

1, 如参考文档所示,The WebSocket Handshake是请求web服务进行HTTP->Websocket协议升级的过程(其实跟HTTP->HTTP2的升级协商几乎是一样的)。因为Nginx与server是通过uWSGI交互的,所以这里HTTP请求头通过uWSGI的api解释出来的。

请求头除了标准的升级要求的字段,还有自定义字段HTTP_X_VPN_WS_MAC/HTTP_X_VPN_WS_BRIDGE,用来传送客户端peer的MAC地址和是不是bridge的属性:

#define HTTP_RESPONSE "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: "

int64_t vpn_ws_handshake(int queue, vpn_ws_peer *peer) {
ssize_t rlen = vpn_ws_uwsgi_parse(peer, &modifier1, &modifier2);

char *ws_mac = vpn_ws_peer_get_var(peer,
"HTTP_X_VPN_WS_MAC",
17, &ws_mac_len);

char *ws_bridge = vpn_ws_peer_get_var(peer,
"HTTP_X_VPN_WS_BRIDGE",
20, &ws_bridge_len);


int ret = vpn_ws_write(
peer,
http_response,
sizeof(HTTP_RESPONSE)-1 + ws_accept_len + 4);

}

2, 如果来源peer是raw的(即tuntap/本地虚拟网卡),直接将数据包读取出来就好了。如果这peer是raw的,那么就没有上面的第1步:

if (peer->raw) {
data = peer->buf;
data_len = peer->pos;
mac = data;
ws_ret = data_len;
goto parsed;
}

不然就是远端的peer,那么还要解码websocket的数据帧格式,得到原始的以太网数据包:

int64_t vpn_ws_websocket_parse(vpn_ws_peer *peer, uint16_t *ws_header) {

uint8_t byte1 = peer->buf[0];
uint8_t opcode = byte1 & 0xf;
uint64_t pktsize = byte2 & 0x7f;


switch(opcode) {
case 0:
case 1:
case 2:
return needed + pktsize;
case 8:
return -1;
case 9:
case 10:
*ws_header = 0;
return needed + pktsize;
default:
return -1;
}
}

这段代码主要是解释头部格式,找出Payload在websocket数据包中的范围。跟据RFC文档,websocket数据帧里的opcode取值如下,注意binary frame和ping/pong的处理就行了:

*  %x0 denotes a continuation frame
* %x1 denotes a text frame
* %x2 denotes a binary frame
* %x3-7 are reserved for further non-control frames
* %x8 denotes a connection close
* %x9 denotes a ping
* %xA denotes a pong
* %xB-F are reserved for further control frames

综上,第1和2步旨在解释出以太网数据包,代码简要如下:

int vpn_ws_manage_fd(int queue, vpn_ws_fd fd) {
int ret = vpn_ws_read(peer, 8192);

if (!peer->handshake) {
int64_t hret = vpn_ws_handshake(queue, peer);
}

ws_ret = vpn_ws_websocket_parse(peer, &ws_header);
uint8_t *ws = peer->buf + ws_header;
uint64_t ws_len = ws_ret - ws_header;
// 用以整个websocket包进行转发
data = peer->buf;
data_len = ws_ret;

3, 转发非多播目标MAC地址的数据包

目标MAC地址是某个peer的MAC地址或者其bridge下的某个MAC:

if (b_peer->raw && !peer->raw) {
//从远程节点的websocket中取数据包写入到虚拟网卡
wret = vpn_ws_write(
b_peer,
peer->buf+ws_header,
ws_ret-ws_header);
}
else if (!b_peer->raw && peer->raw) {
//从虚拟网卡写入到远程节点websocket
wret = vpn_ws_write_websocket(
b_peer,
data,
data_len);
}
else {
//这里只可能有一种情况即 !b_peer->raw && !peer->raw成立
//也就是从远程节点转发到另一个远程节点,所以保持整个websocket包进行转发
wret = vpn_ws_write(b_peer, data, data_len);
}

客户端实现

1, 创建tun/tap设备,

vpn_ws_fd tuntap_fd = 
vpn_ws_tuntap(vpn_ws_conf.tuntap_name);

2, 创建连接至Nginx Web端

int main(){
vpn_ws_fd tuntap_fd = vpn_ws_tuntap(vpn_ws_conf.tuntap_name);
vpn_ws_nb(tuntap_fd);
peer = vpn_ws_calloc(sizeof(vpn_ws_peer));
memcpy(peer->mac, vpn_ws_conf.tuntap_mac, 6);

if (vpn_ws_connect(peer, vpn_ws_conf.server_addr)) {
vpn_ws_client_destroy(peer);
goto reconnect;
}


}

发送HTTP请求进行websocket升级协商。如果使用HTTPS,那么在此前还有SSL的握手:

int vpn_ws_connect(vpn_ws_peer *peer, char *name) {
if (!strncmp(cpy, "wss://", 6)) {
ssl = 1;
port = 443;
}

struct hostent *he = gethostbyname(domain);


if (connect(peer->fd,
(struct sockaddr *) &sin,
sizeof(struct sockaddr_in))) {

vpn_ws_error("vpn_ws_connect()/connect()");
return -1;
}

int ret = snprintf(buf, 8192,
"GET /%s HTTP/1.1\r\nHost: %s%s%s\r\n%sUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Key: %.*s\r\nX-vpn-ws-MAC: %02x:%02x:%02x:%02x:%02x:%02x%s\r\n\r\n,

)

if (ssl) {
vpn_ws_conf.ssl_ctx = vpn_ws_ssl_handshake(
peer,
domain,
vpn_ws_conf.ssl_key,
vpn_ws_conf.ssl_crt);

if (!vpn_ws_conf.ssl_ctx) {
return -1;
}
if (vpn_ws_ssl_write(vpn_ws_conf.ssl_ctx,
(uint8_t *)buf, ret)) {
return -1;
}
}

等待websocket升级协商回应:

int http_code = vpn_ws_wait_101(
peer->fd,
vpn_ws_conf.ssl_ctx);

if (http_code != 101) {
vpn_ws_log("error,
websocket handshake returned code: %d\n",
http_code);

return -1;
}

3, 读事件的响应。

每个客户端要监听的是tuntap和peer到服务端的连接socket这两个fd,接收前者的以太网格式数据包封装成websocket包转发到后者,接收后者的websocket数据包解码成以太网数据包后转发到前者。

这里的17秒超时设置是为了超时后会发送一个ping包,即每17秒一个ping包的保证。ping包为\x89\x00,这里websocket的数据帧格式,表示FIN=1,opcode=9(PING类型),HAS_MASK=0,Payload length=0:

for(;;) {

FD_ZERO(&rset);
FD_SET(peer->fd, &rset);
FD_SET(tuntap_fd, &rset);
tv.tv_sec = 17;
tv.tv_usec = 0;
int ret = select(max_fd, &rset, NULL, NULL, &tv);

if (ret == 0) {
// 超时
if (vpn_ws_client_write(peer,
(uint8_t *) "\x89\x00", 2)) {
vpn_ws_client_destroy(peer);
goto reconnect;
}
continue;
}

处理远端来的websocket数据包,即写入本地的tuntap设备:

if (FD_ISSET(peer->fd, &rset)) {
if (vpn_ws_client_read(peer, 8192)) {
vpn_ws_client_destroy(peer);
goto reconnect;
}
int64_t rlen = vpn_ws_websocket_parse(
peer,
&ws_header);

uint8_t *ws = peer->buf + ws_header;
uint64_t ws_len = rlen - ws_header;
if (peer->has_mask) {
//XOR解密…
}

vpn_ws_full_write(tuntap_fd, ws, ws_len)
}

转发来自tuntap的以太网数据包以websocket格式封装后转发到服务器:

if (FD_ISSET(tuntap_fd, &rset)) {
vpn_ws_recv(tuntap_fd, mtu+8, 1500, rlen);

vpn_ws_client_write(peer, mtu, rlen + 8)
}

代码不严谨/不妥的地方

C语言直是一门可怕的语言,拿C语言写出大工程更不容易。心疼C语言超弱的表达能力:字符串操作还要自己写,字符串拷贝还要自己写,还要小心什么时候应该释放掉。缺乏面向对象和结构体的权限限制。

本项目代码存在的一些问题:

  • 低效的重分配内存。没有内存池复用,只使用了C的realloc,会有频繁的分配内存和内存拷贝(这里又没有对write_buf的收缩,网络状态不好时只能一直涨大下去)
uint64_t available = peer->write_len - peer->write_pos;
if (available < amount) {
peer->write_len += amount;
void *tmp = realloc(peer->write_buf,
peer->write_len);
  • 可能会指针越界的字符串拷贝(几处地方,一下子找不到了)
  • websocket的代码没有封装,客户端和服务端代码都把websocket的组包和解包的逻辑(尤其是XOR解密MASK的数据)全放入发包的地方,可读性差
  • 没有客户端认证机制?看起来是是个客户端就能连上服务端
  • 缺少合理的封装。比如MAC地址及相关方法。比如vpn_ws_peer这个结构太多成员而且很多不相关,可以封装更多子结构。
  • 客户端与服务端的主循环代码太长,还使用了好多goto,每一个IO调用都要有不同返回值表示出了什么情况,也就是0,小于0,大于0的三种路经,整体逻辑复杂。

  1. Windows并未完全实现,不可用 ↩︎

原文:https://medium.com/@FWTO_O/vpn-ws%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90-7f21809ceaa#.pngnsl8f8

无界浏览16.03正式版(2016年7月10日)

谢谢大家帮助测试并反馈,16.03e升级为16.03正式版。

鉴于很多用户希望使用Linux做整机隔离,同时这一版在某些Linux下用wine有兼容问题,我们特别提供一版Linux版本,不需要Wine,而且更快,更安全,更稳定。请Linux的用户直接使用Linux版。

执行版:
http://wujieliulan.com/download/u1603.exe
SHA1: 77fab0ee5ce094d1f465eba9053d425e10c1d199
MD5: c92ca9b2e2b5463fe2ada76c7eed1b58

压缩版:
http://wujieliulan.com/download/u1603.zip
SHA1: a3ea8a138b11866d5b7be1df3c86faa58e916a85
MD5: 5b44e6b6489d026ea3cb55674dd4c67c

Linux版:
http://wujieliulan.com/download/u1603
SHA1: bc3afb2a878d54913ac16fb261878ea050e32bae
MD5: e61a5deac7826d066e8ec94bd98fc54b

Linux版使用方法:
下载后打开一个终端,chmod +x u1603,然后执行:./u1603, 默认监听地址:127.0.0.1:9666。需要手动设置浏览器代理。
如需要监听 0.0.0.0:./u1603 -L=”0.0.0.0:9666″ 或 u1603 -L=”:9666″
如需要通过代理: ./u1603 -P=“1.2.3.4:8080” 或 ./u1603 -P=”socks://1.2.3.4:1080″
./u1603 -h 会給出提示。

原文:http://forums.internetfreedom.org/index.php?topic=21574.0

无界浏览测试版16.03e (2016年7月9日)

用户反馈在断网后一直显示“服务器连接成功”,已修复,请大家再测试16.03e。请大家在Windows下测试,Linux的用户,请测试下面的Linux版本。

执行版:
http://wujieliulan.com/download/u1603e.exe
SHA1: 77fab0ee5ce094d1f465eba9053d425e10c1d199
MD5: c92ca9b2e2b5463fe2ada76c7eed1b58

压缩版:
http://wujieliulan.com/download/u1603e.zip
SHA1: 36bffb8d2e380dcff2af641698addd62a8c7ffd0
MD5: 310bf932625be4ea7298970877bb6583

Linux版:

鉴于很多用户希望使用Linux做整机隔离,我们特别提供一版Linux版本,不需要Wine,而且更快,更安全,更稳定。
http://wujieliulan.com/download/u1603e
SHA1: bc3afb2a878d54913ac16fb261878ea050e32bae
MD5: e61a5deac7826d066e8ec94bd98fc54b

使用方法:
下载后打开一个终端,chmod +x u1603e,然后执行:./u1603e, 默认监听地址:127.0.0.1:9666。需要手动设置浏览器代理。
如需要监听 0.0.0.0:./u1603e -L=”0.0.0.0:9666″ 或 u1603e -L=”:9666″
如需要通过代理: ./u1603e -P=“1.2.3.4:8080” 或 ./u1603e -P=”socks://1.2.3.4:1080″
./u1603e -h 会給出提示。

原文:http://forums.internetfreedom.org/index.php?topic=21565.0

goproxy r803

Downloads

附:

简易教程

  • 部署

    1. 申请 Google Appengine 并创建 appid。
    2. 下载 goproxy 服务端 https://github.com/phuslu/goproxy/archive/server.gae.zip
    3. 运行 uploader.bat 或 uploader.py 开始上传, 过程中需访问 google 页面并输入授权码, 上传完成后即可使用了。
  • 使用

    • 下载 goproxy 正式版 https://git.io/goproxy, 复制 gae.json 为 gae.user.json 并填入部署完成的 appid
    • Windows 用户推荐使用 goproxy-gui.exe 托盘图标设置 IE 代理(对其它浏览器也有效)。
    • Chrome/Opera 请安装 SwitchyOmega 插件(下载到本地然后拖放文件到扩展设置),导入 SwitchyOptions.bak
    • Firefox 请安装 FoxyProxy ,Firefox需要导入证书,方法请见 FAQ
    • 出现连接不上的情况可以尝试使用 MotherFuckerFang 测速。

配置介绍

前言

  以当前r758正式版为准。以后版本有出入再修改。这是新人入门用的,不是最详细的配置介绍,以能运行能用为准。最主要的配置文件为 gae.json 和 httpproxy.json。没有写到的地方(文件)一般不要修改,如要修改,前提是你理解它的具体作用或用途。
  注:
a.当前版本已支持 autorange 和 http2 。默认配置已开启这两项。
b.当前版本格式已较宽松,即末尾有无逗号都可以。如:”ID1″,”ID2″,”ID3″, 和 “ID1″,”ID2″,”ID3” 效果一样。
c.当前版本支持 xxx.user.json 这种命名格式文件(即,用户配置文件)。升级最新版时可以直接覆盖 xxx.json 。
方法一:如 gae.json,复制 gae.json 为 gae.user.json 修改并保存。
方法二:如 gae.json,使用 
notepad++ 或者 notepad2 新建名为 gae.user.json 的文件,文件格式选 UTF-8, 内容举例如下:

{
    "AppIDs": [
        "ID1",
        "ID2",
        "ID3",
    ],
    "Password": "123456",
}

即:在新的 gae.user.json 文件里只加上你想要修改的内容(选项)。不要忘了外层大括号”{}”。

d. 善用搜索。礼貌提问。提问之前最好搜索一下。没有人有问答你问题的义务。别人都很忙,别人时间都是宝贵的。
e. 不要使用 Windows 系统自带的“记事本”来修改任何配置文件,容易出错(大多数是编码问题)。推荐用上面两个编辑器来修改。

gae.json 文件

  • “AppIDs” 选项

  在这里加入你的 Google Appengine 的帐号。格式如下:

"AppIDs": [  
    "ID1" ,   
    "ID2" ,    
    "ID3" , 
],   
  • “Password” 选项

格式:”Password”: “密码写在这里”

注:密码必须和gae服务端里的相同。密码只是用来防止 appid 被别人盗用。 如果服务端没有设密码,这里也不要改动。

  服务端密码设置(gae.go文件)

前提:须先下载 goproxy 服务端 https://github.com/phuslu/goproxy/archive/server.gae.zip

用文本编辑器打开 gae目录下的 gae.go 文件,不建议使用 Windows 自带的记事本,推荐 notepad++ 或者 notepad2

找到23行(行数随版本变化不一定对),如下:

Version  = "1.0"
Password = ""

改成:

Version  = "1.0"
Password = "你的密码"

保存。重新上传。

  • “SSLVerify” 选项

作用:验证服务器的SSL证书。检查服务器的SSL证书是否是 google 证书。

false : 关闭。   
true : 开启。   
  • “ForceIPv6” 选项

作用:强制使用 IPv6 模式。

false : 关闭。   
true : 开启。   
  • “DisableHTTP2” 选项

作用:关闭 http2 模式,使用 http1 模式。不懂或不理解 http1 和 http2 的区别不要修改。

参数:

false : 默认。先验证IP是否支持http2,否则使用http1。   
true : 关闭 http2 模式,所有IP使用http1。   
  • “ForceHTTP2” 选项

作用:强制开启 http2 模式。不懂或不理解 http1 和 http2 的区别不要修改。

参数:

false : 默认。   
true : 强制开启 http2 模式。所有IP使用http2。   
  • “EnableDeadProbe” 选项

作用:是否开启死链接(无效链接)检测

false : 关闭。   
true : 开启。   
  • “EnableRemoteDNS” 选项

作用:是否启用远程DNS解析。配合 “DNSServers” 选项使用。

false : 关闭。   
true : 开启。   
  • “HostMap” 选项

这里填写你找到的IP。格式如下:

"HostMap" : {
    "google_hk": [
        "xxx.xxx.xxx.xxx",
        "xxx.xxx.xxx.xxx",
        "xxx.xxx.xxx.xxx",
        "xxx.xxx.xxx.xxx",
    ],
    "google_cn": [
        "xxx.xxx.xxx.xxx",
        "xxx.xxx.xxx.xxx",
        "xxx.xxx.xxx.xxx",
        "xxx.xxx.xxx.xxx",
    ]
},

注:
a. “google_cn” 子项可以不用修改。默认情况下使用的是 google 中国 IP (服务)。
b. 当前版本已支持IP自动去重—-即,填入的IP即使有重复,程序会自动去掉重复的再导入使用。
c. 此项配合 “SiteToAlias” 选项使用。

  • “SiteToAlias” 选项

此项配合 “HostMap” 选项使用。

作用:简单说是让哪些谷歌服务(搜索、广告、视频)翻不翻墙(使用谷歌中国IP还是使用谷歌外国IP)。

  • “ForceGAE” 选项

作用:哪些网址强制走GAE代理。

  • “ForceDeflate” 选项

作用:哪些网址强制使用”压缩”功能?

  • “TLSConfig” 选项

作用:TLS协议配置。

“Version” 子项:TLS协议版本号。

“ClientSessionCacheSize” 子项:

“Ciphers” 子项:

“ServerName” 子项:

  • “GoogleG2KeyID” 选项

  • “FakeOptions” 选项

  • “DNSServers” 选项

作用:远程DNS服务器IP。”EnableRemoteDNS” 选项为 false 时此项无效。

  • “IPBlackList” 选项

作用:DNS服务器黑名单,此项配合 “DNSServers” 选项使用。”EnableRemoteDNS” 选项为 false 时此项无效。

  • “Transport” 选项

httpproxy.json 文件

这里分两大部分。 “Default” 和 “PHP” 。这两种代理模式可同时开启。

“Default” : 即 GAE 代理。
“PHP” : 即 PHP 代理。

说明:双斜杠 “//” 是注释符号,取消即使用,加上即关闭该功能。

  • “Enabled” 选项

参数:

false : 关闭代理("Default" 或者 "PHP")。   
true : 开启代理("Default" 或者 "PHP")。   
  • “Address” 选项

这里一般不用改。格式: “IP地址:端口”

这里常用有两种(任选一种):

"Address": "127.0.0.1:8087",

"Address": "0.0.0.0:8087",

注:
1. 第一种是只能本机使用。
2. 第二种是用来共享时使用。当然本机也能用。

  • “RequestFilters” 选项

作用:请求过滤。

一般不要修改。

“auth”: 前置代理?
“rewrite”: 使用自定义UserAgent?
“stripssl”: 使用SSL证书?
“autorange”: 多线程传输(下载)?

  • “RoundTripFilters” 选项

作用:往返过滤。

一般不要修改。

“autoproxy”: SiteFilters或pac或gfwlist模式?
“auth”: 前置代理
“vps”: vps代理
“php”: php代理
“gae”: gae代理
“direct”: 直连

  • “ResponseFilters” 选项

作用:响应过滤。

一般不要修改。

“autorange”: 多线程传输(下载)?
“ratelimit”: 限速?

php.json 文件

PHP 代理配置。

  • “Servers” 选项

这里写上 PHP 代理地址(网址)和密码。可以同时写上多个代理。

“Url”: PHP 代理地址(网址)
“Password”: PHP 代理密码
“SSLVerify”: 开启ssl证书验证
“Host”: PHP 代理IP地址

多个代理格式:

"Servers": [
    {
        "Url": "http://yourapp1.com/",
        "Password": "123456",
        "SSLVerify": true,
        "Host": "xxx.xxx.xxx.xxx",
    },
    {
        "Url": "http://yourapp2.com/",
        "Password": "123456",
        "SSLVerify": false,
        "Host": "",
    },
    {
        "Url": "http://yourapp3.com/",
        "Password": "123456",
        "SSLVerify": false,
        "Host": "",
    }
],

addto-startup.vbs 文件

用途:设置 goproxy 开机启动。(windows系统)

get-latest-goproxy.cmd 文件

用途:升级到最新版。(windows系统)

auth.json 文件

autoproxy.json 文件

  • “SiteFilters” 选项

  • “IndexFiles” 选项

  • “GFWList” 选项

autorange.json 文件

  • “Sites” 选项

  • “SupportFilters” 选项

  • “MaxSize” 选项

  • “BufSize” 选项

  • “Threads” 选项

direct.json 文件

ratelimit.json 文件

rewrite.json 文件

  • “UserAgent” 选项

stripssl.json 文件

vps.json 文件

原文:https://github.com/phuslu/goproxy/releases/tag/goproxy

翻墙问答:GitHub应中国要求封锁“赵家人项目”

firewall620GitHub.jpg

2015年,GitHub曾受到来自中国大陆的网络攻击。最近,GitHub应中国当局要求作出区域性封锁。(维基百科公开资料图片/粤语部制图)

问:对针对中国太子党网络的赵家人开发项目,最近GitHub应中国当局要求作出区域性封锁。GitHub的新机制,会否影响其他翻墙项目的开发,以及程式的流通?

李建军:GitHub为了保持与中国和俄罗斯用户的接触,在审查政策上有一定妥协,只要有关当局向GitHub作出书面抗议,GitHub会将有关书面抗议公开,并且在指定国家作出封锁。而这次中国当局以赵家人项目诽谤习近平的名义,向GitHub提出正式抗议,而GitHub亦将赵家人项目在中国作出封锁,不容许中国IP使用者浏览,出现错误代码451的字样,亦即表示相关内容因中国当局要求而被封锁,纵使中国当局已经一早透过防火长城技术,阻止中国网民浏览GitHub的内容。

现时未知中国当局会否滥用GitHub的投诉机制,试图阻止中国网民参与翻墙软件的开发,但相信中国政府会尝试利用GitHub这个机制,阻止中国网民参与其他有政治意味的开发项目。因此,如果中国网民要开发类似赵家人般,有浓厚政治味道的开源项目,除了GitHub,有可能要考虑其他开源项目开发协调平台。而参与这类项目的开发者,亦必须有一定的翻墙知识,令网民可以保持参与项目的开发和测试。

问:其实除了翻墙软件,GitHub还有什么项目,有可能触怒北京当局,触发GitHub的自我审查机制?

李建军:这次所谓的赵家人项目,并非一个程式,而是一个数据库,集齐了海内外传媒关于太子党的报道,再可以作搜寻之用。因此,除了翻墙软件,各类的禁书资料库,或禁闻资料库,若然以包装式电脑程式或手机应用程式的话,这类项目都可能成为中国当局针对对象,因为这类资料库,往往会有一些中国当局不希望民众所知道的黑幕。而赵家人项目纯粹搜集关于太子党的禁闻,有可能只是类似项目的开端,在可见的将来,这类搜集中国当局丑闻纪录的资料库项目,可能陆续有来。

问:有部分旧款的TP-LINK无线路由器,最近出现无法进入设定网页的问题,令不少人感到非常困扰,这到底发生什么事?

李建军:虽然现时大部分无线路由器,都是以192.168.1.1或192.168.100.1之类数字网址进入路由器设定网页,但这种网址很容易造成保安问题。如果你的无线网络并未有加密,黑客要进入你的无线路由器改动设定非常容易。因此,像TP-LINK之类路由器制造商,就注册了特定网域名称,专门作路由器设定之用,防止有黑客撞入无线路由器设定网页,造成保安问题。而TP-LINK未有就旧款无线路由器的设定网域续期,令旧款的无线路由器想进入设定网页时,结果跳入网域新主人的网站上,令TP-LINK旧款路由器用家无法对路由器设定作出改动,或要作出不少改动后,才能进入无线路由器的设定网页。

由于受影响的无线路由器款式非常旧,不单速度不够快,而且路由器的作业系统软件亦由于太旧,厂商一直亦未必就路由器的软件作出相应的保安更新,可能有不少保安漏洞,黑客有不止一个方法入侵你的路由器,那对你的网络安全构成威胁。在现时无线路由器相当普及,而且价廉物美的情况下,倒不如买一个新的无线路由器,取代受影响的路由器,可能是更为实在的做法。而如果你是VPN的用家,有可能买一个内置VPN支援的新款无线路由器,比保留现有的TP-LINK路由器更为实际。(完)

原文:http://www.rfa.org/cantonese/firewall_features/github-07082016090104.html?encoding=simplified