Quantcast
Channel: GFW BLOG(功夫网与翻墙)
Viewing all 1645 articles
Browse latest View live

被滥用的 Tor,和关于「人肉」的隐私忧虑

$
0
0


丹麦首都哥本哈根,市中心 Christianhavn 旁有个叫 Freetown Christiania 的自由城,它不受当地法律管辖,其中聚集了不少无政府主义者与嬉皮士,里面可以自由吸食大麻。法律规定警察只能在自由城周边执法,却不能入内。而同时,自由城内尽管允许贩卖大麻,但居民自治团体禁止售卖硬性毒品,虽然这是文本意义上的,自由城并没有执法力量,只能靠舆论与自觉。
来源:https://yepster.me/tor/

何其相似的是,Tor 社区本着公民隐私保护的初衷,现在已成了非法交易的庇护所。人们更愿意谈论的不是斯诺登,Wikileaks 或是新闻记者。配合无法溯源的比特币,犯罪成了匿名网络的主流。不妨看下『The Hidden Wiki』的索引,「Financial Service」里面清一色是信用卡与 Paypal 盗号,「Commercial Service」则是电子产品销赃、伪造 ID 证件与贩卖枪支,「Drugs」更不谈了,这些内容就占据了 The Hidden Wiki 超过一半的页面。虽然自己宣称 Tor 网络不应被称为「暗网」,但很难不对其产生负面的印象。
更为玩世不恭的一种主流观点是,在未来的互联网时代,隐私是一项可以被放弃的权利——没错,用户虽然可以拥有“捍卫权”,却同样可以不受压力影响的行使“放弃权”——就像曾经的一句网络流行语说的那样,“生活就像被强奸,如果无力反抗,不如索性闭上眼睛好好享受。”1
过多地谈论隐私会让人感觉是自我中心者过于吹毛求疵的自我保护意识,但事实上自己并非如此。我所惋惜的是一个强调隐私保护的工具被滥用,而 Tor 项目社区也无法提供管理,就像 Christiania 自由城的公民自治团体反对销售硬性毒品却无力执行如出一辙,靠自觉与共识换得的隐私保护与网络权利,在技术普及后被彻底滥用了,「作恶者永远都能找到隐藏自己的方法,那些正常使用Tor的“暗网”用户则不应受到牵连。在对“丝绸之路”提起公诉期间,检方亦表示不会对“暗网”技术抱有敌意,只是不能容忍里面的毒品贩卖、雇凶谋杀等行为。」2 丹麦警察并未闯入过 Christiannia, 可 FBI 早动手了。现在的 HiddenWIki 索引上,不知是托管到期不再续费,还是匿名站长与网站一起被端掉,有超过一半的非法交易网站无法打开。并且,里面的非法交易是不是真的「Honest Illegal」,谁都无法保证,比特币不是像支付宝或 PayPal 那样的信用担保支付体系,诈骗者只要换个 btc wallet,没了,就没了。
曾经相信,网络匿名是基本人权,至少我们应该有选择权。Tor 只是加密工具,靠着公民的自觉与自治,可以推动权利与义务对等的责任型公民社会,起码在网上可以实现。现在却证明这不过是又一次一厢情愿幻想的比特乌托邦。
有一次与好友聊起 Tor 隐私保护的话题,他原话大意是这么说的:
当发现女儿每次主动关起卫生间的门,我意识到这并不是关于羞耻心的问题。她才三岁,这年纪的孩子并没有 social awareness,不理解什么叫害羞。我们都从襁褓中的弱小发育而来。譬如上厕所,对于人来讲自卫能力也是最弱的时候,我们需要一个私隐,安全的环境。孩子的这个行为是与生俱来的本能。Tor 网络也是如此,它给了我们一个隐私的环境。
与他的对话给了我一个新的视角,隐私与其说是一种羞耻心,毋宁说这是一种普遍的生物性。同领地性 ( Terretoriality ) 一样, 它深深植根于自卫意识里,并表现在行动中。本质上,是作为人的个体,在生物祖先长久演化与自然选择过程中被写入基因的不安意识,和当代急速社会化所产生的矛盾,短时期内不可调和。长期看来,又有谁知道呢?或许『美丽新世界』,或许『1984』,也或许出现公民意识的自觉,普遍接受责任与义务的对等边界的时代。在我看来,无论对于隐私保护或是开放,重要的不是这两个对立论断的历史正确性,而是在人权意义下赋予知情与选择的权利。如果在欧盟上网,或挂起欧盟的 VPS 做出口访问 Google,总会在浏览器 banner 上提示正在使用 Cookies。下图是一家丹麦咖啡连锁店网站的俏皮提示:是咖啡总要配上 cookies。
好吧,说说为什么偶尔使用 Tor。我个人厌恶『人肉』,更害怕它背后在数字空间里以暴易暴的逻辑,和带有群氓狂欢般的广场效应 ( Gustav Le Bon 语 ),剥光了被「审判」的对象让其在网上赤条条游街,大众忙不迭得主持正义,公共话题得以放大,舆论得以伸张。我们身边,存在着大量的社会工程库,或称「社工库」,通过交叉比对特征分析,很快能定位到一个具体而又活生生的人,由此引发的后果可以改变他或她接下来的生活。在这非对称的条件下,受害者往往连施害者是谁都不清楚。社会工程调查都能让私人侦探事半功倍,被调查人还浑然不觉,调查成本大幅减低,想想这意味着什么?
真正通过技术漏洞进入系统的并不占多数,很多人的被扒往往是通过个人信息泄漏所带来的交叉比对获得的。开房记录只是庞大社工库的一角,地下黑市交易的也不在少数,完全有理由相信再谨慎的人,或完全不接触互联网的人,或多或少都有一定的个人历史信息存留在「社工库」中。我们可以通过构建新的网络身份混淆比对和追踪。大量被撞库和还未被撞库的人只是因为使用同一密码。除了使用 1Password 或 Enpass 之类的随机生成密码,最好还是对所有国内网站随机生成不同的用户名且不被联想。若注册没有 HTTPS 的网站,不仅要随机用户名密码,最好使用 Guerrila Mail 之类的一次性注册邮箱。
再进一步,服务器还会记录你的登录 IP,操作系统,浏览器版本,登录时间,调用 Cookie。一旦某网站被拖库,或者他人用现成「社工库」比对,就算随机用户名密码和一次性邮箱可还是会有痕迹。因此,我们需要用 Tor 来混淆比对。Tor 自动屏蔽网站上的统计脚本,禁用 cookies,显示 IP 是每次不同的出口地址,使用 Tor 能基本上能做到匿名。
这该是关于 Tor 的最后一篇文章了,就到这里吧。

扫盲 HTTPS 和 SSL/TLS 协议[3]:密钥交换(密钥协商)算法及其原理

$
0
0

来源:https://program-think.blogspot.com/2016/09/https-ssl-tls-3.html

先插播一个好消息:本月初俺发了一篇《老流氓CNNIC 的接班人——聊聊“沃通/WoSign”的那些破事儿》。前2天看到新闻说,Mozilla 组织(Firefox)已经把沃通的根证书加入黑名单了,为期一年。一年之后看它的表现再决定是否永久性屏蔽。对这种流氓公司,就应该给它点颜色看看(老实说,俺还觉得处罚偏轻了)


  本系列的前一篇,咱们聊了“密钥交换的难点”以及“证书体系”的必要性。今天这篇来介绍一下实战中使用的“密钥协商算法”。


★密钥交换/协商机制要达到啥目的?


  前一篇介绍了 SSL/TLS 的身份认证机制。这个机制是为了防止攻击者通过【篡改】网络传输数据,来假冒身份,以达到“中间人攻击/MITM”的目的。
  而今天要聊的“密钥协商机制”是:(在身份认证的前提下)如何规避【偷窥】的风险。
  通俗地说,即使有攻击者在偷窥你与服务器的网络传输,客户端(client)依然可以利用“密钥协商机制”与服务器端(server)协商出一个用来加密应用层数据的密钥(也称“会话密钥”)。



★密钥交换/协商机制的几种类型


  俺总结了一下,大致有如下几种类型:

◇依靠非对称加密算法


  原理:
  拿到公钥的一方先生成随机的会话密钥,然后利用公钥加密它;再把加密结果发给对方,对方用私钥解密;于是双方都得到了会话密钥。

  举例:
  RSA

◇依靠专门的密钥交换算法


  原理:
  这个原理比较复杂,在聊到 DH 的那个章节会详谈。

  举例:
  DH 算法及其变种

◇依靠通讯双方事先已经共享的“秘密”


  原理:
  既然双方已经有共享的秘密(这个“秘密”可能已经是一个密钥,也可能只是某个密码/password),只需要根据某种生成算法,就可以让双方产生相同的密钥(并且密钥长度可以任意指定)

  举例:
  PSK 和 SRP



★基于 RSA 的密钥协商


◇概述


  这大概是 SSL 最古老的密钥协商方式——早期的 SSLv2 只支持一种密钥协商机制,就是它。(前一篇)介绍身份认证重要性的时候,也是拿 RSA 来演示密钥协商。
  RSA 是一种【非】对称加密算法。在本系列第1篇的背景知识介绍中,已经聊过这种算法的特点——加密和解密用使用【不同的】密钥。并且“非对称加密算法”既可以用来做“加密/解密”,还可以用来做“数字签名”。

◇密钥协商的步骤


  (下列步骤只阐述原理,具体的协议细节在下一篇讲)

1. 客户端连上服务端
2. 服务端发送 CA 证书给客户端
3. 客户端验证该证书的可靠性
4. 客户端从 CA 证书中取出公钥
5. 客户端生成一个随机密钥 k,并用这个公钥加密得到 k'
6. 客户端把 k'发送给服务端
7. 服务端收到 k'后用自己的私钥解密得到 k
8. 此时双方都得到了密钥 k,协商完成。

◇如何防范偷窥(嗅探)


  攻击方式1
  攻击者虽然可以监视网络流量并拿到公钥,但是【无法】通过公钥推算出私钥(这点由 RSA 算法保证)

  攻击方式2
  攻击者虽然可以监视网络流量并拿到 k',但是攻击者没有私钥,【无法解密】 k',因此也就无法得到 k

◇如何防范篡改(假冒身份)


  攻击方式1
  如果攻击者在第2步篡改数据,伪造了证书,那么客户端在第3步会发现(这点由证书体系保证)

  攻击方式2
  如果攻击者在第6步篡改数据,伪造了k',那么服务端收到假的k'之后,解密会失败(这点由 RSA 算法保证)。服务端就知道被攻击了。



★基于 DH 的密钥协商


◇概述


  DH 算法又称“Diffie–Hellman 算法”。这是两位数学牛人的名称,他们创立了这个算法。该算法用来实现【安全的】“密钥交换”。它可以做到——“通讯双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥”。这句话比较绕口,通俗地说,可以归结为两个优点:
1. 通讯双方事先【不】需要有共享的秘密。
2. 用该算法协商密码,即使协商过程中被别人全程偷窥(比如“网络嗅探”),偷窥者也【无法】知道协商得出的密钥是啥。

  但是 DH 算法本身也有缺点——它不支持认证。也就是说:它虽然可以对抗“偷窥”,却无法对抗“篡改”,自然也就无法对抗“中间人攻击/MITM”(在本系列的前一篇,俺已经强调过了——缺乏身份认证,【必定会】遭到“中间人攻击/MITM”)。
  为了避免遭遇 MITM 攻击,DH 需要与其它签名算法(比如 RSA、DSAECDSA)配合——靠签名算法帮忙来进行身份认证。当 DH 与 RSA 配合使用,称之为“DH-RSA”,与 DSA 配合则称为“DH-DSA”,以此类推
  反之,如果 DH 【没有】配合某种签名算法,则称为“DH-ANON”(ANON 是洋文“匿名”的简写)。此时会遭遇“中间人攻击/MITM”。(具体的中间人攻击手法,可以参见本系列前一篇

  关于该算法的更多介绍,可以参见维基百科(这个条目)。

◇数学原理


  (如果你属于那种“看了数学公式就犯晕的人”,可以直接略过本小节,不影响你看后续的章节)

  从概念上讲:DH 依赖的是:求解“离散对数问题”的复杂性。具体的算法如下:
  通讯双方(张三、李四)需要先约定好算法参数(algorithm parameters):一个素数 p 作为模数,一个素数 g 作为基数(g 也称为“生成元”)。这两个算法参数是可以对外公开滴。
  对于张三而言,需要先想好一个秘密的自然数 a 作为私钥(不能公开),然后计算 A = ga mod p 作为自己的公钥(可以公开)。
  对李四而言也类似,先想好一个秘密的自然数 b 作为私钥(不能公开),然后计算 B = gb mod p 作为自己的公钥(可以公开)。
  张三和李四互相交换各自的公钥。
  然后张三计算出 k = Ba mod p,李四计算出 k = Ab mod p

  该算法至少确保了如下几点:
1. 张三和李四分别计算出来的 k 必定是一致的
2. 张三和李四都无法根据已知的数来推算出对方的私钥(张三无法推算出 b,李四无法推算出 a)
3. 对于一个旁观者(偷窥者),虽然能看到 p,g,A,B,但是无法推算出 a 和 b(就是说,旁观者无法推算出双方的私钥),自然也无法推算出 k

  举例
  前面说得都是符号,比较抽象。下面拿具体数字举例:
假设约定的算法参数:模数是 97,基数是 3
张三用的私钥是 6,李四用的私钥是 21,用 python 代码演示如下(python 语言用两个连续星号表示“幂运算”,用百分号表示“取模运算”):
p = 97
g = 3

a = 6
b = 21

A = (g**a) % p
B = (g**b) % p

print((B**a) % p) # 47
print((A**b) % p) # 47
  最后打印出来的两个 47 就是双方都计算出了【相同的】结果(这个数值可以用作之后的“会话密钥”)

  上面因为是举例,用的数字都比较小。在实战中需要注意如下几点,以降低被攻击的风险。
1. p 必须是质数且足够大(至少300位)
2. a,b 也要足够大(至少100位),且必须是随机生成。
3. g 必须是质数,【不】需要很大,比如 2 或 3 或 5 都可以。g 如果太大并【不能】显著提升安全性,反而会影响性能。 

◇密钥协商的步骤


  (下列步骤只阐述原理,具体的协议细节在下一篇讲)

1. 客户端先连上服务端
2. 服务端生成一个随机数 s 作为自己的私钥,然后根据算法参数计算出公钥 S(算法参数通常是固定的)
3. 服务端使用某种签名算法把“算法参数(模数p,基数g)和服务端公钥S”作为一个整体进行签名
4. 服务端把“算法参数(模数p,基数g)、服务端公钥S、签名”发送给客户端
5. 客户端收到后验证签名是否有效
6. 客户端生成一个随机数 c 作为自己的私钥,然后根据算法参数计算出公钥 C
7. 客户端把 C 发送给服务端
8. 客户端和服务端(根据上述 DH 算法)各自计算出 k 作为会话密钥

◇如何防范偷窥(嗅探)


  嗅探者可以通过监视网络传输,得到算法参数(模数p,基数g)以及双方的公钥,但是【无法】推算出双方的私钥,也【无法】推算出会话密钥(这是由 DH 算法在数学上保证的)

◇如何防范篡改(假冒身份)


  攻击方式1
  攻击者可以第4步篡改数据(修改算法参数或服务端公钥)。但因为这些信息已经进行过数字签名。篡改之后会被客户端发现。

  攻击方式2
  攻击者可以在第7步篡改客户端公钥。这步没有签名,服务端收到数据后不会发现被篡改。但是,攻击者篡改之后会导致“服务端与客户端生成的会话密钥【不一致】”。在后续的通讯步骤中会发现这点,并导致通讯终止。
  (下一篇讲具体协议的时候会提到:协议初始化/握手阶段的末尾,双方都会向对方发送一段“验证性的密文”,这段密文用各自的会话密钥进行【对称】加密,如果双方的会话密钥不一致,这一步就会失败,进而导致握手失败,连接终止)



★DH 的变种


◇基于“椭圆曲线”的 ECDH


  DH 算法有一个变种,称之为 ECDH(全称是“Elliptic Curve Diffie-Hellman”)。维基条目在“这里
  它与 DH 类似,差别在于:
DH 依赖的是——求解“离散对数问题”的困难。
ECDH 依赖的是——求解“椭圆曲线离散对数问题”的困难。

  ECDH 的数学原理比 DH 更复杂。考虑到本文读者大都【不是】数学系出身,俺就不展开了。
  ECDH 跟 DH 一样,也是【无认证】的。同样需要跟其它签名算法(比如 RSA、DSAECDSA)配合。

◇对 DH 和 ECDH 进行“临时密钥”的改良——DHE 和 ECDHE


  刚才介绍的 DH 和 ECDH,其密钥是持久的(静态的)。也就是说,通讯双方生成各自的密钥之后,就长时间用下去。这么干当然比较省事儿(节约性能),但是存在某种安全隐患——无法做到“前向保密”(洋文是“forward secrecy”)。
  为了做到“前向保密”,采用“临时密钥”(洋文是“ephemeral key”)的方式对 DH 和 ECDH 进行改良。于是得到两种新的算法——DHE 和 ECDHE。(这两种新算法的名称,就是在原有名称后面加上字母 E 表示 ephemeral)。其实算法还是一样的,只是对每个会话都要重新协商一次密钥,且密钥用完就丢弃。
  (估计很多同学不太了解“前向保密”这个概念。俺会在本系列中单独开一帖,介绍“前向保密”的概念及其好处)



★基于 PSK 的密钥协商


◇概述


  PSK 是洋文“Pre-Shared Key”的缩写。顾名思义,就是【预先】让通讯双方共享一些密钥(通常是【对称加密】的密钥)。所谓的【预先】,就是说,这些密钥在 TLS 连接尚未建立之前,就已经部署在通讯双方的系统内了。
  这种算法用的不多,它的好处是:
1. 不需要依赖公钥体系,不需要部属 CA 证书。
2. 不需要涉及非对称加密,TLS 协议握手(初始化)时的性能好于前述的 RSA 和 DH。

◇密钥协商的步骤


(由于 PSK 用的不多,下面只简单介绍一下步骤,让大伙儿明白其原理)

  在通讯【之前】,通讯双方已经预先部署了若干个共享的密钥。
  为了标识多个密钥,给每一个密钥定义一个唯一的 ID
  协商的过程很简单:客户端把自己选好的密钥的 ID 告诉服务端。
  如果服务端在自己的密钥池子中找到这个 ID,就用对应的密钥与客户端通讯;否则就报错并中断连接。

◇如何防范偷窥(嗅探)


  使用这种算法,在协商密钥的过程中交换的是密钥的标识(ID)而【不是】密钥本身。
  就算攻击者监视了全过程,也无法知晓密钥啥。

◇如何防范篡改(假冒身份)


  PSK 可以单独使用,也可以搭配签名算法一起使用。
  对于单独使用
  如果攻击者篡改了协商过程中传送的密钥 ID,要么服务端发现 ID 无效(协商失败),要么服务端得到的 ID 与客户端不一致,在后续的通讯步骤中也会发现,并导致通讯终止。
  (下一篇讲具体协议的时候会提到:协议初始化/握手阶段的末尾,双方都会向对方发送一段“验证性的密文”,这段密文用各自的会话密钥进行【对称】加密,如果双方的会话密钥不一致,这一步就会失败,进而导致握手失败,连接终止)

  对于搭配签名算法
  如果攻击者篡改了协商过程中传送的密钥 ID,验证签名会失败

◇补充说明


  PSK 与 RSA 具有某种相似性——既可以用来搞“密钥协商”,也可以用来搞“身份认证”。
  所以,PSK 可以跟 DH(及其变种)进行组合。例如:DHE-PSK、ECDHE-PSK
  关于 PSK 的更多细节,可以参见 RFC4279



★基于 SRP 的密钥协商


◇概述


  SRP 是洋文“Secure Remote Password”的缩写。这个算法有点类似于刚才提到的 PSK——只不过 client/server 双方共享的是比较人性化的密码(password)而不是密钥(key)。该算法采用了一些机制(盐/salt、随机数)来防范“嗅探/sniffer”或“字典猜解攻击”或“重放攻击”。
  这个算法应该用得很少——OpenSSL 直到2012年才开始支持该算法。所以俺这里就不展开了。有兴趣的同学可以去看 RFC2945 的协议描述。

◇密钥协商的步骤


  (由于 SRP 用的不多,俺偷懒一下,略去此小节)



★各种组合的一览表


算法组合密钥交换身份认证是否会遭遇
中间人攻击
是否具备
前向保密
SSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2TLS 1.3
(草案)
RSARSARSA
DH-RSADHRSA
DH-DSADHDSA
DHE-RSADHERSA
DHE-DSADHEDSA
ECDH-RSAECDHRSA
ECDH-ECDSAECDHECDSA
ECDHE-RSADHERSA
ECDHE-ECDSADHEECDSA
PSKPSKPSK
PSK-RSAPSKRSA
DHE-PSKDHEPSK
ECDHE-PSKDHEPSK
SRPSRPSRP
SRP-RSASRPRSA
SRP-DSASRPDSA
DH-ANONDH
ECDH-ANONECDH

  (截至本文发布时,TLS 1.3 还处于“草案”阶段,尚未正式发布。等到它正式发布,俺会把上述表格的最后一列再补充一下)

九月翻墙事件大事记 &翻墙工具与技术大事记

前員工爆料!Yahoo 偷偷掃描使用者的信件,交給美國情報單位

$
0
0

美國網路公司 Yahoo 日前才傳出有 5 億筆使用者資料遭竊,但對於 Yahoo 使用者來說,更慘的還在後頭,Yahoo 打造了一套顧客程式,會自動掃描每封使用者收到的 Email,並將特定資料提交給美國政府。也就是說,不論你的密碼有沒有外洩,Yahoo 都自動把你的資料交出去了。



来源:http://technews.tw/2016/10/05/yahoo-secretly-scanned-customer-emails-for-u-s-intelligence/

4 日,路透社獨家報導,接獲 3 位Yahoo 前員工以及另一位知情人士爆料,Yahoo 配合美國情報單位如美國國家安全局(NSA)和美國聯邦調查局(FBI)的要求,打造一套軟體,掃瞄幾十億個 Yahoo 信箱收到的 Email 郵件,如果文字中、連結中或附檔中有特定的內容,就會交給美國情報單位。但路透社也還沒掌握美國情報單位鎖定的是哪些特定內容,以及 Yahoo 交出了哪些資料。
據悉答應美國情報單位協助提供使用者資料的,就是 Yahoo CEO Marissa Mayer。根據 Yahoo 前員工的說法, Mayer 這個決定惹怒幾位執行高層,Yahoo 前資訊安全長 Alex Stamos 在 2015 年離職,就是因為這件事,而 Stamos 現在到了 Facebook 擔任資安防護的最高層。
針對這起事件,Yahoo 只給了簡短的回應,「Yahoo 是一間守法的公司,會遵守美國法律」,拒絕有更多的討論。NSA 和美國國家情報總監辦公室則都拒絕回應。
部分政府退休官員和私家監控專家看這件事也相當意外,儘管美國不少電信公司、手機公司、網路公司都有開後們給美國政府,或者將使用者資料提供給美國政府的紀錄,但從來沒有看過這麼大規模而且是針對即時訊息的掃描,也沒過看要求打造一個新的軟體用以掃描的案例。
美國情報單位接洽的應該不只一間電子信箱供應商,Yahoo 只是其中之一,也是遵守的那一個。Google 和微軟都已經跳出來表示他們並沒有執行過這種 Email 掃描的事,Google 還說他們從沒收到這種要求,縱使有,也不可能遵守。 

資料來源:

延伸閱讀:

2016/4/3 ,方校长的打脸:谈谈最近挺火的“中国防火墙之父”方滨兴

$
0
0


  前些日子,被誉为“中国防火墙之父”的前北京邮电大学校长、中国工程院院士方滨兴在哈尔滨工业大学做了一个名为《定义网络空间安全》的报告,其中的现场“演示”VPN的使用方法让他火了起来.
来源:http://www.qisinet.cn/301.html

  今天,Qisi就和大家谈一谈最近挺火的“中国防火墙之父”方滨兴。
  首先,引用百度百科中对方滨兴的人物介绍:
方滨兴被称为“防火墙之父”
方滨兴是中国信息安全界的权威人物,45岁时就遴选为中国工程院院士,是当时最年轻的中国工程院院士之一。
方滨兴系中国长城防火墙主要设计者
他曾担任国家计算机网络与信息安全管理中心名誉主任,是中国长城防火墙主要设计者,被称为“中国国家防火墙(GFW)之父”。
据了解,他主要的研究内容是网络安全、信息内容安全、并行处理、互联网技术等。首先提出了建设国家网络与信息安全基础设施的理念,并组织研制、实现了相应的系统。作为第一完成人,先后获得国家科技进步一等奖1项、二等奖2项。
在信息安全理论方面,将涉及了物理安全、运行安全(网络安全)、数据安全(狭义的信息安全)及内容安全的信息安全概念,给出了统一的形式化定义。
——以上内容摘自百度百科
  从国家角度而言,他是最年轻的中国工程院院士;从学生角度而言,他是一位有求必应的“方校长”,而从公众角度而言,他就是一个不受待见的GFW开发人员。

  2007年12月,方滨兴院士开始担任中国邮电大学校长,并主持建设”国家网络安全监控平台”等多个相关系统,他也因此被称为”中国防火墙之父”;
  2010年1月13日,在谷歌退出中国事件中,方滨兴曾多次出面为中国大陆的互联网审查等制度辩护;
  2010年12月20日,方滨兴开通新浪微博,遭大量网民”围观”和质问,其后方滨兴“冻结”其账号;
  2011年5月19日,方滨兴到武汉大学计算机学院参加活动并演讲,演讲期间遭学生扔鞋子和鸡蛋并被砸中;
  2013年2月9日,方滨兴在新浪微博上发出一条拜年信息,尽管该条信息关闭了评论功能,但无数网友以转发附加留言的形式进行回复,其中大部分为网友接力回复“滚”。
  2013年1月4日,在网友整理的《2012年中国人渣排行榜》中,方滨兴排行第七位;
  2013年6月,方滨兴以校长身份出席北京邮电大学2013届本科生毕业典礼并宣布正式辞去校长一职,部分民众表示“祝病魔早日战胜方校长”;
  2016年4月3日,方滨兴在哈工大作报告时因论证其观点的网页被屏蔽,现场使用VPN翻墙,被微博网友 @萌豚 曝光。
  转眼间,谷歌退出中国已有六年,除经常翻墙使用谷歌外的大多数国人都已将它淡忘,期间也传出不少谷歌重回中国的消息,可是至今,访问谷歌、FaceBook、YouTube,甚至维基百科都会返回404的http状态码。GFW将所谓的“反动信息”屏蔽,取而代之的是褒扬国内一切制度一切抉择一切政策,去除一切对中国不利信息的“绿色环境”。
  在中国,服务器位于大陆的网站都必须强制进行工业和信息化部的ICP备案,拥有备案的网站一旦出现任何违法的内容,备案主体(个人或企业)将承担法律责任。我们有这样一套网站备案制度,却没有一套成型的通用版权保护法。反观美国,1998年,针对数字化时代网络技术条件下著作权保护的法律《数字千年版权法案(DMCA)》正式实施。相对而言,美国政府则更注重网络内容及源代码的版权保护。
   .cn域名的身份信息验证,国内网站的强制ICP备案,网络剧监管的加强……中国的互联网内容审查做的足够严格,但是这真的不会背离审查的初衷吗?苹果不给FBI留后门感动世界,方滨兴不给自己留后门感动中国。他是一位敬业的工程院院士,却没有站在客观的位置看待GFW的初衷。

  逻辑电路的接通或者断开,逻辑运算中的“是”或者“非”——计算机的二进制语言成了53岁的中国计算机安全专家方滨兴半生的隐喻。
  北京邮电大学的围墙以内,方滨兴是当之无愧的“1”。一校之长,有求必应的“方sir”、受人尊重。而自三年前始,北邮围墙外,方滨兴却是很多人眼中的“0”,对方滨兴非议之声越来越大。
  方滨兴是一个宽容的管理者。他常开会的科研楼里有一个名为“404NotFound”的无线网络。方滨兴并不以为忤。尽管这串代码是他受到的部分网民攻击的象征。
  把自己的相机“赔给”丢了相机的学生,借个人存款给贫困生,这些仍不能减少墙外对他参与国家互联网安全系统的攻击。
  方滨兴的尴尬在于,举国体制下诞生的工程师与社交媒体时代的网友有难以弥合的隔阂。而且“50后”的信仰和情怀对“80后”“90后”而言太陌生了。墙内的方滨兴代表着过去十多年的互联网管理方式;而墙外方滨兴的质疑者则昭示着未来互联网发展必须正视和解开的结。
——参考《方滨兴的墙内墙外》
相关微博内容:






SS 详解

$
0
0

SS 使用详解。


来源:http://rt.cn2k.net/?p=214
rt-n56u 中文站点 自助交流QQ群:532575220


(一):原理

很多人根本搞不清楚SS几种模式是什么东西,基本上按照自己那种能勉强弄通就用哪种,稍微遇到一点问题动不动就怪固件不稳定,说句老实话,每次遇到这种情况,我心里就是千万匹草泥马奔腾而过。
好吧,之前不懂不怪你,是因为几乎没有几篇内容是扫盲的,大部分都是针对专业人员的讨论,下面打算从最粗浅的内容开始介绍,专业人员请略过此篇文章内容,因为对你毫无帮助。
首先,我们看看SS到底是什么东西,SS全名ShadowSocks,是一位在知乎网站工作的大神开发的一套针对DPI(深度包检测)系统弱点开发的一套网络加密工具。它通过抹除网络数据通讯的特征,来让检测系统无从下手,从理论上来说,SS的处理模型并非绝对没有弱点,但是,这个弱点要利用则难度非常大,用个比喻来说,如果你在鱼缸里面,要找到一条特定颜色的小鱼,会很简单,但是,当面对整个海洋来说,要找到这条鱼几乎是不可能的。SS就是利用这样一个原理,把自己的数据通讯模式变得毫无特征,所以,当拦截系统需要对SS进行拦截的时候,需要对每一个水滴进行检测,而目前任何一个国家的拦截系统的运算能力,都几乎是不可能做到的。
我们稍微了解下,SS到底是如何做到这种功能的,说穿了道理也很简单,传统的VPN也好,网络加密也好,首要考虑的是安全原则,也就是:即便你知道了我在传输数据,你也一样无法解开我传输的内容,所以,大家根本不太在乎到底别人是否能够发现自己在传输加密的数据,因为通过RSA的天才算法,使得在传输过程中的数据解密几乎在目前的状态下是不太可能的,甚至在整个加密传输开始前,大家甚至可以大喇喇地使用明文来传输一些打招呼的信息,用来告诉对方,接下来我准备用闽南话和你通话了,拦截系统则刚好利用了这点,它们并不在乎听懂你说什么,但是,只要你一说,接下来用闽南话开始通话这几个字,就开始搞鬼,或者直接把你的通话线路掐掉,或者在你前面说的话前面插几句四川话,让听的人觉得:说什么鬼啊,明明是四川话,说好的闽南话呢?肯定是骗子,不理他,于是,你的加密传输就中断。所以,在几轮的系统升级后,到了2016年春季,几乎所有的VPN协议以及网络加密传输协议,均可用不同的方式被破坏,导致整个通讯出现中断。
但SS呢?它利用了一点:也就是通话双方都是可预先约定的,例如约定双方讲的就是闽南话,你要听懂我说的,就要找个懂闽南话的人和我聊,这样,从第一句开始说的话开始,就是用闽南话开始说,而听的呢,则一早准备好一个懂闽南话的来交流,这样通讯双方可以互相听懂,而偷听的人由于并不知道双方约定是用什么语言的,于是就傻眼了,而在网络传输中可用的语言几乎是无限种类的,所以就造就了SS神奇的能力,于是偷听的人心想:你妹的,看老子怎么治你!最终,SS的作者会被拉去喝茶被迫删代码了。可惜机关算尽,github的源代码的复制能力,不是作者删了自己的代码就可以阻止一套代码传播的。

(二):SS 性能

SS目前有很多不同语言的版本,最原始的来源是python 的,也有 golang 的,通常我们在路由中使用的是 C 语言版本的。那为什么路由中要用C语言版本的SS?
我们首先来看看智能路由到底是什么?目前大部分的所谓智能路由,其实就是一台低配的电脑,但这个低配到底有多低呢?拿我们这个固件支持最多的机型 MT7620来举例,它的运算能力为BogoMIPS:382,而最古老的i3 530,CPU 的运算能力为 5850,Pentium G3220 3.00GHz ,运算能力为 5986.0 BogoMIPS,也就是路由的CPU大约只有普通CPU的1/15 的处理性能。拿加密中最常见的AES加密模式,普通的i3 CPU大约每秒可以进行70Mbits左右的数据,而MT7620,每秒就只剩下5Mbits了。所以,在路由上,大部分的高级语言程序跑起来都会非常吃力,尤其是脚本型的语言,例如 python和php,而越接近底层的低级语言,例如C,运行起来就还算凑合。 
所以,当你选择SS加密模式的时候,要在路由上获得较快的速度,第一点要素,就是需要选取一款能在路由上跑得顺畅的加密模式,例如由google提供的 chacha20 系列,基本上它能在MT7620 上跑出40Mbits/s左右的速度。而加了更多运算的同类型通道,例如二次元宅男们喜欢的 SSR,由于加了额外的处理运算,使得它的性能大打折扣,最终只能在PC机上跑跑而已。
同理,很多应用你想移植到路由上跑,首先,要考虑下内存大小的因素,然后,就是CPU能力,很多你在PC上、手机上能跑的应用,搬到路由上,则会有很多问题。

(三):SS模式:gfwlist

SS 使用的方法有很多结构和模式。那么,我先从我自己个人最喜欢的模式以及这个固件的功能来介绍。
1)ss-redir + gfwlist
个人认为,这种模式是最稳定、最可靠、最少干扰正常网络使用,对于路由器的性能影响最小。它通过一个名为 gfwlist 的列表,指出了那些需要从SS通道走的域名。
路由中内置了一个常用的被墙域名列表,这个gfwlist 列表位于固件目录中的 /etc_ro/basedomain.txt ,系统启动后,会在创建一个 /etc/storage/basedomain.txt 的链接指向 /etc_ro/basedomain.txt 。如果你想建立一个专用的常用域名列表,直接删除这个文件,重新建立就好了。
SS在启动时候,脚本会自动从这个列表结合 /etc/storage/shadowsocks_mydomain_script.sh 这个文件的域名内容(这个文件就是我们在路由界面添加的自定义域名列表),生成一个适用于 dnsmasq 的配置文件,存放于 /tmp/ss/dnsmasq.d 中,文件名为 r.gfwlist.conf 。
当 r.gfwlist.conf 自动生成完毕之后,dnsmasq 会重启激活这个配置,并且启动 pdnsd 以及 ss-redir 。
让我们看看在这种模式下,我们访问 google.com 的整个流程是怎么样的。
  1. 我们在PC浏览器输入 google.com ,浏览器查询域名的IP
  2. 域名IP查询会优先从pc的 hosts 文件查询,所以,要确保你要访问的域名没有被你的hosts文件解析出来,这个是少数人遇到gfwlist 模式无法正常工作的常见原因之一
  3. 你的电脑会从你网络设定的DNS服务器查询域名的IP,如果你电脑上的网络设置 dns server不是指向这个路由,那么,整个功能是无法使用的,这也是大多数人遇到 gfwlist 无法工作的最常见原因之一
  4. 当你的电脑向路由查询 google.com IP 的时候,路由中的 dnsmasq 接收到这个查询指令,然后发现 google.com 在 r.gfwlist.conf 的列表中,并且列表指出这个域名需要通过 pdnsd 的端口查询,因此,dnsmasq会把域名查询转给 pdnsd ,让它来做解析。
  5. 我们的固件中,采用的是pdnsd 来把 udp 的域名请求转换为 tcp域名请求的,目前国内的网络环境,udp的域名请求被大量投毒,而tcp的几乎没有,所以,我们在pdnsd 设置了 opendns 和 google 的dns作为域名解析服务器,为了获得更加合理的域名解析,我们需要在固件UI里面设置 中设置 pdnsd 通过 SS代理访问,这样dns 服务器才能返回离你ss-server 最近的IP,而不是离你的PC 最近的IP,当然,你硬是要觉得pdnsd 直连才让你舒服,我也没有办法。
  6. 当 pdnsd 获得了 google.com 的解析后,会转交给dnsmasq ,dnsmasq 再次检查 r.gfwlist.conf,发现 google.com 还有一个ipset 的设置,于是,它会把这个域名的ip 放入到 ipset 的 gfwlist 列表中,然后把ip返回给你的电脑,以上1~6的步骤看起来好复杂,但整个处理时间大约为0.2秒左右。
  7. 当你的电脑获得了 google.com 的IP后,开始向你的电脑网络设置中的网关发出向google ip 的连接请求,如果你的网关设置不是指向这个路由,那么,这也是少数人遇到 gfwlist 不能工作的情况
  8. 当路由收到有发向google IP 的网络连接请求后,开始核对 ipset gfwlist 的ip列表,如果有符合的,直接重定向到 ss-redir 的透明代理端口。
  9. ss-redir 把数据进行加密,发给远端的 ss-server。
  10. ss-server解密数据包,发出连接请求,获得服务器的数据响应,加密,返回给路由的 ss-redir。
  11. ss-redir 解密,把数据返回给你的电脑,这样,整个连接就完成了。
基本上整个gfwlist 模式运作的,可以遇到的问题,就是上面红字标明的问题。那么,我们怎么来检查电脑上的设置是否可以正常工作呢?
  1. nslookup
    这条指令可以查询域名的解释过程是否正常。例如:
    nslookup www.facebook.com
    Server:192.168.199.1
    Address:192.168.199.1#53

    Non-authoritative answer:
    www
    .facebook.com canonical name = star-mini.c10r.facebook.com.
    Name: star-mini.c10r.facebook.com
    Address:31.13.95.36
    首先,这里我们可以检查 Server 是否你的路由器IP,如果不是,就自己检查哪里的设置错了。
    然后,我们可以看看 www.facebook.com  里面是否包含了 star-mini 这个 cname 的内容,这个是最容易判断域名解释是否被投毒的情况。被投毒的域名是不会出现这个内容的。
  2. ipconfig 

  3. 用这条指令检查你的IP设置中,网关是否指向路由的IP,如果不是,则自己检查和改回来。
  4. 用telnet 来检查你的ss-server 是否可以连接得上。
好了,大概就这几招了。按照这种方法,几乎没有见过 gfwlist 翻墙不顺利的,除非你连ss-server 的端口、密码、加密方式这些都填错。

让人耳目一新的 Surge Mac 2.0

$
0
0


Surge Mac 2.0 的变化不仅来自功能迭代上的不断完善,在功能和定位上也有了比较大的变化,将作为一个独立产品单独发售。


1.0 当初是作为 Surge iOS 用户的一种福利提供的,从而让用户在 iOS 和 Mac 两个平台上有趋于一致的使用体验,基于配置文件的共享来实现顺畅的网络访问。2.0 的演进不再只是解决网络访问的基础问题,新增的 Surge Dashboard 控制台不仅能直观查看网络访问,还可以方便的控制网络访问。
Surge Mac 2.0 参数的配置和编辑基本都可以在 UI 界面中完成,比起 1.0 的文本编辑模式直观了很多。不过从效率上说,技术流可能还是更喜欢配置文件的文本编辑模式。初次使用建议先下载 surge.conf 范例配置,然后到 Dashboard 的界面中进行参数的调整。
Surge Mac 2.0 安装后,使用步骤可以分为 5 步:
  1. Set as System Proxy,设置系统的代理;
  2. Change Configuration Folder,改变配置的存储文件夹;
  3. 建议设置存储配置的文件夹为 iCloud Drive;
  4. 通过 Finder 定位到 iCloud Drive 的文件夹,下载复制范例配置到其中,用文本编辑器打开配置,修改其中的代理服务器部分;
  5. 由 Surge Mac 的下拉菜单中切换配置。
如果配置文件没有问题,加载好配置文件后,Surge Mac 就可以开始工作了,后期针对参数的细节调整可以在 Surge Dashboard 中完成,由菜单中选择 Dashboard,点击 Surge Dashboard 的工具栏上选择齿轮 ⚙ 图标。
General 部分和配置文件中的 [General] 的部分是对应的,HTTPS Decryption 对应的是配置文件中的 [MITM]部分,URL Rewrite 部分对应的是[URL Rewrite]部分。
UI 界面上调整完参数后保存(工具栏上的磁盘图标),将会保存到你指定的存储位置。需要注意的是,Dashboard 中保存配置后只会保留行后的注释。
Surge Mac 2.0 最大的变化是新增加的 Surge Dashboard,在这个界面上可以直观的查看网络的访问情况,点击具体的条目进一步查看其具体请求的数据,在条目或应用上右键通过菜单项添加规则或者退出应用。
默认打开 Dashboard 时加载的是本地应用(Local Clients)的访问和请求页面,局域网的其他计算机或者虚拟机如果也是通过 Surge Mac 代理上网,会显示在 Remote Clients 下方。
除了可以查看本机的网络访问情况,Surge Mac 还能查看处在同一个局域网环境下的其他 Surge 的访问情况,或是 USB 数据线连接的 iOS 设备上 Surge 的访问情况。要实现远程的访问,必要条件是:
  • 远端设备上安装有 Surge 并处于运行状态;
  • 远端设备 Surge 的配置文件中包含 external-controller-access 的具体定义;
  • 知道远端设备的局域网 IP 和及其配置文件中定义的密码、端口。
通过菜单项选择「File — New Dashboard」(⌘N)新建 Dashboard 窗口,如果选择局域网 IP 的方式连接,需要被访问设备的 IP 地址,例如,iPhone 在 Wi-Fi 网络中获取的 IP (设置-无线局域网,点 ⓘ 查看 iPhone 的 IP 地址)。USB 连接方式比局域网连接更简单,只需要输入 external-controller-access 中定义的端口号和 @ 符号前定义的密码。
在 Dashboard 访问记录上右键可以直接添加规则,同样的方式在 Proxy 面板中也能很方便的编辑现有的规则,具体的参数其实和配置文件中的项目都是对应的,习惯用那种方式来调整取决于个人的习惯。
具体参数含义可以访问 zhHans.conf.ini 进行查看。
Surge Mac 2 还增加了 MitM(即 Man-in-the-middle attack 简称 MitM,用于解密 HTTPS 的流量)的支持 ,通过 Dashboard 的「参数配置」界面能方便的创建 MitM 证书或者安装由 iOS 端创建的证书。
  • Generate New Certificate,创建证书
  • Import Certificate from PKCS#12 File,由 PKCS 文件导入证书
  • Install This Certificate to System,安装配置文件中包含的证书到系统
如果 iOS 版的 Surge 和 Mac 版是通过 iCloud Drive 共享配置,配置好 MitM 的配置文件同步到 Surge for iOS 后还需要多走一步,将证书安装到 iOS 的系统中。
打开 Surge for iOS 的 Config 页面,选择 Edit Configuration,滑动到配置页面底部,点击 HTTPS Decryption 进入 HTTPS 的配置页面。
因为配置文件中已经包含 Mac 上配置好的证书的 base64 编码内容,所以界面上你能看到 Surge MitM 的证书,只不过这里还不被系统信任(Not Trusted by System),点击 Install CA to System,按照向导安装描述文件到系统就可以了。
描述文件安装后,只要 Surge Mac 上的证书不变更,Surge iOS 上以后不用重新配置。Surge Mac 或者 Surge iOS 只要一方创建好 MitM 证书另一方直接安装证书 (Install This Certificate to System) 即可,如果重复创建先前的证书会作废。
Surge Mac 2.0 试用下载:Download Trial,以及价格体系说明。

Linux 搭建 Shadowsocks 服务器

$
0
0

本文主要介绍了VPN的工作原理,然后在Linux系统上部署了Shadowsocks服务器。


安装Shaowsocks服务程序

Debian/Ubuntu下使用

apt-get install python-pip
pip install shadowsocks

CentOS下使用

yum install python-setuptools
easy_install pip
pip install shadowsocks

启动shadowsocks服务,建立一个/etc/shadowsocks.json文件,内容如下:

{
"server": "101.56.1.151",
"server_port": "8388",
"local_address": "127.0.0.1",
"local_port": "1080",
"port_password": {
"8387": "password123",
},
"timeout": 300,
"method": "aes-256-cfb",
"fast_open": false
}

配置的说明:

Name Explanation
server the address your server listens(服务器IP)
local_address the address your local listens(本地代理地址)
local_port local port(本地代理端口)
port_password password used for encryption(自己设定的服务器端口和密码)
timeout in seconds(超时断开,以秒为单位)
method default: "aes-256-cfb", see Encryption(加密方式)
fast_open use TCP_FASTOPEN, true / false(是否使用TCP)
workers number of workers, available on Unix/Linux

这里创建了一个账号,端口8387,密码password123。现在可以启动测试一下:

ssserver ‐c /etc/shadowsocks.json

或者在后台运行

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


客户端设置

需要下载Shadowsocks的客户端,填写服务器IP、端口和密码。



这里的加密方式要和服务器保持一致,建议选aes-256-cfb。
客户端配置完成后,可以设置为全局模式,让全部服务都走代理路线。在PAC模式下,Chrome或者Firefox浏览器,需要配置代理插件,利用本地127.0.0.1:1080代理访问服务。 这是Chrome浏览器中SwitchyOmega插件及配置备份Omega

EasyPi - 18.wireshark (科学上网工具介绍)

$
0
0

史上最详尽 Shadowsocks 从零开始一站式翻墙教程

$
0
0

本教程由本人(Anonymous V)原创,于2014年11月7日在Google+首发,根据各位G友的积极反馈,历经持续2个多月的维护和更新,已成功帮助上千网友通过shadowsocks流畅翻墙,现在整理成图文混排版本发在本博客,以进一步方便大家查阅。


来源:http://shadowsocks.blogspot.com/2015/01/shadowsocks.html

教程首发Google+地址链接如下:
https://plus.google.com/103234343779069345365/posts/Xce4EJpLGhX

如果你觉得教程对你有帮助,请在帖子底部为教程+1转发(公开),以帮助更多的人。谢谢!

目前教程已经高度完善,如果你真的认真阅读了教程的每一句话,动手跟着执行了每一个步骤,根本不会遇到任何问题,轻轻松松,一次成功。世间之事最怕认真二字。(强烈建议在电脑等大屏设备上观看本教程,以免因为手机等小屏幕设备的自动排版和换行问题对教程产生误解导致搭建失败

前言


在G+混了一段时间后,发现部分小伙伴的翻墙事业还没有踏上康庄大道。在这儿的应该不少都是G粉,在Google服务全线被墙的严峻形势下翻墙不利索肿么能行。于是特地花了几天时间,写了篇比较详尽的Shadowsocks翻墙教程分享给大家,涵盖了从零开始的方方面面。
-------------------------------
友情提醒:别说你没基础、看不懂。所谓的“不会”都是懒的借口,而且教程不是看会的,是动手跟着教程一步一步做会的。如果你懒得动脑又懒得动手,那你现在已经可以点击右上方的X了。如果你已经准备好了,那么follow me,走你!特别提醒:以下的每一个部分都非常重要,你少看一句话都可能影响后续步骤的进行和最终的使用效果。
-------------------------------

Shadowsocks特点


1.省电,在电量查看里几乎看不到它的身影;
2.支持开机自启动,且断网无影响,无需手动重连,方便网络不稳定或者3G&Wi-Fi频繁切换的小伙伴;
3.可使用自己的服务器,安全和速度的保证;
4.支持区分国内外流量,传统VPN在翻出墙外后访问国内站点会变慢;
5.可对应用设置单独代理,5.0之后的系统无需root。

我自己的感受:随机启动24小时后台运行,占内存10MB以内,基本不怎么耗电,跟人直接置身墙外使用手机的感受差不多。
-------------------------------

VPS推荐与支付


Shadowsocks的正常使用需要服务端,其实所有的翻墙方式都需要服务端,搭建服务端需要你拥有一个属于自己的VPS。下面是我自己精挑细选出来的三家VPS供应商,如果你坚持认为我是在给这三家VPS打广告,你就不用往下看了。这三家我都在用,感觉不错,当然你也可以选择其他家的VPS产品。

DigitalOcean:

注:DigitalOcean部分域名被墙,如遇显示不正常或无法访问,全站翻墙访问即可,在上面购买的VPS不受影响。

KVM架构    512MB内存  20GB硬盘   1TB流量/月 5美元/月(折合人民币30元/月)
(强力推荐,楼主自己在用)
https://www.digitalocean.com/?refcode=03e3e84b8f22(使用本链接注册账户立即到账10美元)

搬瓦工(BandwagonHOST):

注:搬瓦工域名在部分地区被墙,可能需要翻墙访问,但在上面购买的VPS不受影响。

OpenVZ架构 256MB内存  10GB硬盘 500GB流量/月 19.99美元/年(折合人民币10元/月)
(强力推荐,楼主自己在用)
https://bandwagonhost.com/aff.php?aff=1285&pid=12
(温馨小提示:注意在“Billing Cycle下拉菜单里选择“$19.99 USD Annually”比月付省44%)

OpenVZ架构 512MB内存  20GB硬盘  1TB流量/月 49.99美元/年(折合人民币25元/月)
https://bandwagonhost.com/aff.php?aff=1285&pid=13
(温馨小提示:注意在“Billing Cycle”的下拉菜单里选择“$49.99 USD Annually”)

支付宝购买搬瓦工VPS详细教程:点击上面的优惠链接后,在“Billing Cycle”的下拉菜单里选择“$19.99 USD Annually”或者“$49.99 USD Annually”,“Location”保持默认即可,然后点击“Add to Cart”按钮,网页跳转后,点击“Checkout”,在新页面的“Your Details”部分输入你的个人资料以及注册信息,除了“Address 2”和“Company Name”之外,其余均为必填项目,注意,尽量填写真实信息,如果你在中国大陆,“Country”请选择“China”,以免被系统判定为欺诈而注册失败。“Payment Method”里选择“Credit Card and AliPay (Stripe)”,勾选“I have read and agree to the Terms of Service”,最后点击“Complete Order”,页面跳转后,点击绿色的大按钮“Pay now”,然后会弹出一个小窗口,先在“电子邮箱”一栏里输入你的支付宝账号(此处必须为邮箱账号),然后点击下方的“支付宝”按钮,此时系统会自动给你支付宝账号绑定的手机号发送一条带验证码的短信,在“输入发送至xxxx的校验码”下方输入6位数的短信校验码,然后在最下面的“身份证号码后5位”框里输入你的身份证号后5位,最后点击蓝色的“Pay now $xx”按钮,完成支付。

Linode:

注:Linode域名在部分地区被墙,可能需要翻墙访问,但在上面购买的VPS不受影响。

Xen架构     1GB内存  24GB硬盘   2TB流量/月 10美元/月(折合人民币60元/月)
(只推荐给对连接速度和网络延迟有极致追求的用户,楼主自己也在用)
https://www.linode.com/?r=69edd5eafe47ed8a7e128c057f3367a90ce51135
(注册时Referral Code处输入69edd5eafe47ed8a7e128c057f3367a90ce51135

Linode只能使用信用卡支付,官方会随机手工抽查,被抽查到的话需要上传信用卡正反面照片以及可能还需要身份证正反面照片,只要材料真实齐全,审核速度很快,一般一个小时之内就可以全部搞定。账户成功激活以后,就可以安心使用了。

DigitalOcean和搬瓦工两家的VPS都支持PayPal付款,DigitalOcean也可以选择在账单里绑定信用卡进行支付。

值得说明的是无论是注册这三家VPS还是注册PayPal,尽量填写真实信息,这样一旦遇到审核会更容易通过,注册的时候遇到国家地区一定要如实选择你所在的真实地区如“China”,以防被系统判定为欺诈。

2015年6月26日更新:搬瓦工目前已经支持使用支付宝付款,支付时请注意选择带AliPay字样的支付方式。

关于支付的重要补充说明(必看!):有小伙伴反映PayPal绑定银联借记卡之后无法支付搬瓦工的VPS,DigitalOcean没问题,经过我调查之后,发现有人很顺利的就用银联卡支付成功,有人则死活不行,所以问题的具体原因不好说。但这里给出有效的解决方案:绑定信用卡。没有信用卡的学生党可以点击这里http://dwz.cn/wbZHy(此处为官方提供的短链接,网址安全,可放心使用,是一家在国内非常知名的虚拟信用卡服务商)申请一张虚拟信用卡,注册快速,可用普通网银充值,经楼主实测,可顺利支付搬瓦工。而且该卡还可以绑定Google Wallet,Google Play上面的软件和硬件可随便买(提醒:Google Wallet有一套很复杂的安全检测机制,无论你购买什么东西,如果不小心遇到订单被取消的情况,那都很正常,这是题外话了)。此外, DigitalOcean审核较为严格,尤其是对于选择了信用卡作为支付方式的用户,可能会要求你上传身份证明以及信用卡照片什么的,而且审核过程也需要等待,如果你怕麻烦,我建议你直接使用PayPal支付,方便快捷。通过审核开始正式使用后,一般就没什么问题了,多点耐心。
-------------------------------

VPS深入说明与选择


我简单解释一下三家差价比较大的原因和技术特点:

OpenVZ为不完全虚拟化技术,每个VPS账户共享母机内核,易受同一母机下其他VPS的影响,几乎不能单独修改内核。Xen和KVM为完全虚拟化技术,各VPS之间互相独立,基本互不影响,而且可以任意修改内核。

这三种架构对我们搭建shadowsocks服务器来讲最直观的区别就是,Xen和KVM可通过系统内核修改来优化服务器,大幅度提升shadowsocks的连接速度,尤其体现在晚高峰的时候。

我在同一时间段用100MB的文件简单的在自己的三台VPS上面测试了一下shadowsocks的连接速度:

搬瓦工(19.99美元/年)的平均下载速度在1.36-3.43Mbps之间(174-439KB/S),也就是说速度表现不是很稳定,速度快的时候也可以看下YouTube 720p,速度慢的时候YouTube 480p还是没有问题的。

DigitalOcean(5美元/月)的平均下载速度稳定维持在3.70Mbps以上(474KB/S),这个速度已经是我本地物理带宽的上限,所以VPS的速度上限未知,基本在大部分时候YouTube 1080p都可以流畅播放,任意时刻YouTube 720p都没问题。

Linode(10美元/月)的上传下载速度均达到带宽满载,官方给出的数据是“40 Gbit Network In / 125 Mbit Network Out”,由于楼主本地带宽有限,有热心小伙伴分享了他在联通LTE网络环境下的测试结果,数据显示速度可达60M以上(7.83MB/S),略恐怖,意味着任意时刻YouTube 1080p秒开,只要你的带宽够,一般来说看4K也是没有问题的。Linode除了速度快之外,还有一个杀手锏就是提供日本节点,ping值70ms以内,有超低网络延迟需求的小伙伴可以重点考虑下。

个人建议,对连接速度和稳定性尤其是网络延迟有极高要求的首选Linode(只有最快,没有更快),有较高要求的推荐DigitalOcean(一分价钱一分货),对于普通用户来讲,搬瓦工就可以(性价比高)。
-------------------------------

VPS节点的选择


搬瓦工各节点测试IP:
Los Angeles:   104.194.78.3
Florida:       74.121.150.3
Phoenix:       198.35.46.2(可在控制面板里切换到这个机房)

DigitalOcean各节点测试域名:
新加坡:        speedtest-sgp1.digitalocean.com
New York:      speedtest-ny1.digitalocean.com
英国伦敦:      speedtest-lon1.digitalocean.com

Linode各节点测试域名:
Tokyo,JP:      speedtest.tokyo.linode.com
Fremont,CA:    speedtest.fremont.linode.com
Newark,NJ:     speedtest.newark.linode.com
Atlanta,GA:    speedtest.atlanta.linode.com
Dallas,TX:     speedtest.dallas.linode.com
London,UK:     speedtest.london.linode.com

请在CMD下自行使用“ping IP -t”或“ping 域名 -t”命令来测试不同位置的机房与你的电脑之间的ping值以及丢包率(Ctrl+C退出测试)。

如果还是不知道该选择哪个节点的小伙伴,搬瓦工一般选用Los Angeles节点居多,DigitalOcean一般选用San Francisco节点居多(都在美国西海岸),而Linode一般选择“Tokyo,JP”(日本节点)或者“Fremont,CA”(美国西海岸),由于Linode日本节点ping值很低(70ms左右)、销售火爆,可能会一时无货,如果遇到无货,等一会再试试(我也是刷新了一会就有了)。一开始节点选择的不理想也不要紧,以后还可以方便的切换机房。

特别对比:Linode的Fremont,CA节点与DigitalOcean的San Francisco节点相比,同在美国西海岸,ping值和丢包率基本差不多,但Linode的网速明显更快。
-------------------------------

VPS的创建与使用


搬瓦工默认系统为Centos 6 x86,保持默认即可;DigitalOcean创建VPS的时候(Create Droplet)选择CentOS 6.5 x64(自作聪明选择CentOS 7的人是没救的);Linode的详细操作说明见下方。

针对搬瓦工的专属补充教程:可能由于搬瓦工官方发现很多人都在他家的VPS上面搭建了Shadowsocks,于是机灵的官方在自家的控制面板里集成了一键搭建服务,大大降低了新手搭建难度,实现了傻瓜化的操作。我简述下流程:点击“Services”里的“My Services”,点击“KiwiVM Control Panel”,这时会跳转到一个新页面。将新页面左侧的滚动条拉到底,找到“Shadowsocks Server”字样并点击进入,然后点击“Install Shadowsocks Server”,几秒钟之后显示Completed的字样就代表完成了。这时候点击“Go back”或者直接点击左侧的“Shadowsocks Server”,你会看到出现了一个叫做“Shadowsocks server controls”的东西,上面有默认的加密方式(encryption)、服务器端口(port)以及密码(password),你可以直接使用默认的,也可以点击旁边的“Change xx”按钮进行修改,最后检查一下Status是不是Running,不是的话就点一下旁边的“Start”。至此,你的Shadowsocks服务端就搭建完成了,你可以直接跳转到本教程后面的客户端配置部分了(搬瓦工也自带了简易的客户端配置说明“What's next?”)。注意,此方法为搬瓦工专属,仅供懒人和纯新手,你如果想在更好更快的其他家的VPS上面搭建Shadowsocks服务,你还是需要老老实实的学习下面的手工搭建方法,而且我强烈建议你如果有能力也有精力,最好掌握搭建的原理,对于你以后维护自己的VPS或者再学习搭建其他的翻墙服务都大有脾益。

DigitalOcean创建VPS过程补充说明:点击网页左上角绿色的“Create Droplet”按钮,输入你的“Droplet Hostname”(英文),然后“Select Size”选择你的付费套餐,“Select Region”选择按照上面的教程测出来的对你最快的节点,“Select Image”选择CentOS 6.5 x64,没提到的选项保持默认即可,最后点击最下方的“Create Droplet”。

注册完毕后,你已经获得了你VPS的IP,SSH端口,root密码。去下面的地址下载putty,用于在你的windows系统上远程登陆你的VPS。注意:用putty登录VPS时输入的密码是不可见的,正常输入完毕后回车即可:


搬瓦工需要在“My Services”里进入“KiwiVM Control Panel”点击“Root password modification”来获得root密码,SSH端口在邮件或者控制面板里可看到,用户名是root;

特别警告:搬瓦工的控制面板里有个“OpenVPN Server”选项,可以一键搭建OpenVPN服务端,千万别去使用。否则,到时候你的VPS彻底挂了可别怪我没有提前提醒你(不作死就不会死),详细原因请自行查看教程后面的进阶答疑部分。

DigitalOcean则是把密码发到了你邮箱里,而且DigitalOcean在首次登陆VPS的时候系统会提示你修改,你再输入一次原密码后连续输入两次新密码就OK了,DigitalOcean默认SSH端口为22,用户名是root。

Linode的详细操作说明:Linode账户在绑定信用卡激活后,就可以创建VPS了。值得说明的是,Linode的控制面板较为复杂,当然伴随而来的是功能也更强大。在“Linodes”里选择套餐,左下角选择机房位置,完成后可看到给你分配的IP以及主机名称,点击主机名称比如“linode654321”,然后点击“Deploy an Image”,在“Image”里面选择“CentOS 6.5”,在“Root Password”的方框里填入你的root密码,然后点击下方的“Deploy”按钮,大概1分钟左右就会创建完毕。点击“Dashboard”下的“Boot”按钮,你的VPS就开始启动了,启动完成后,就可以使用putty来操作你的VPS了,默认SSH端口为22。


下面的内容需要你有一点点linux的基本知识,用过windows下CMD的小伙伴应该能很快上手,全部命令和内容都可以复制下来通过右键直接粘贴到putty里执行。

vi编辑器基本用法扫盲(新手必读)
-------------------------------

Shadowsocks服务端搭建


下面的命令,需要一行一行的执行,每输入一行命令,回车执行,如果没有报错,即为执行成功,出现确认提示的时候,输入 y 后,回车即可。每行命令可以复制后在putty里右键粘贴,回车执行。

yum install epel-release
yum update
yum install python-setuptools m2crypto supervisor
easy_install pip
pip install shadowsocks



继续执行命令

vi /etc/shadowsocks.json

此时按 i 键进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,然后一次性复制下面的内容(复制之前记得修改8388和yourpassword为你自己的端口号和密码,此端口号不是你的SSH端口号,而是你在手机或电脑上的shadowsocks客户端连接VPS上搭建的服务端的端口号,范围 1 - 65535 ,只要不和现有的端口号如SSH端口冲突都可以,记下你修改的端口号和密码,待会儿在配置手机和电脑的客户端时还要用到),在putty里右键,此时复制的内容应该已经粘贴到了putty里

----------以下内容为复制内容----------
{
    "server":"0.0.0.0",
    "server_port":8388,
    "local_port":1080,
    "password":"yourpassword",
    "timeout":600,
    "method":"aes-256-cfb"
}
----------以上内容为复制内容----------


复制完成后,按 Esc 键退出编辑模式,此时putty黑框左下角的 -- INSERT -- 字样消失,按下 : 键,输入 wq 后回车,此时文件保存完毕并退出了vi编辑器。(“ : ”的输入方法为“Shift+字母L右侧的分号键”)

继续执行命令

vi /etc/supervisord.conf

此时你应该能看到很多英文内容,按 i 键再次进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,用方向键将光标调整至文件尾部的空行处,然后一次性复制下面的内容,在putty里右键,此时复制的内容应该已经粘贴到了putty里

----------以下内容为复制内容----------
[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root
log_stderr=true
logfile=/var/log/shadowsocks.log
----------以上内容为复制内容----------


复制完成后,按下回车键给文件尾部留出空行,然后按 Esc 键退出编辑模式,此时putty黑框左下角的 -- INSERT -- 字样消失,按下 : 键,输入 wq 后回车,此时文件保存完毕并退出了vi编辑器。

继续执行命令

vi /etc/rc.local

此时你应该能看到几行英文内容,按 i 键再次进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,用方向键将光标调整至文件中部的空行处,然后一次性复制下面的内容,在putty里右键,此时复制的内容应该已经粘贴到了putty里

----------以下内容为复制内容----------
service supervisord start
----------以上内容为复制内容----------


复制完成后,按 Esc 键退出编辑模式,此时putty黑框左下角的 -- INSERT -- 字样消失,按下 : 键,输入 wq 后回车,此时文件保存完毕并退出了vi编辑器。

最后执行命令

reboot

此时,你的VPS重新启动,服务端已经完全配置完毕,putty会弹出一个连接已断开的提示框,关闭即可(不是报错)。


小提醒:搬瓦工的VPS在执行完reboot命令后有时会遇到重启失败的情况,这时候进入控制面板,看一下“Status”是不是“Running”,如果不是的话,点一下“Actions”里的“start”按钮即可。
-------------------------------
别光顾着看教程哦,请不要吝啬你的举手之劳,在帖子底部为本教程+1转发(公开),以帮助更多的人。谢谢!
-------------------------------

Shadowsocks客户端配置


至此,shadowsocks的服务端已经部署完成。剩下的就是下载客户端安装到你的手机和电脑上,记得修改客户端的相关设置保持和你的服务端参数一致哦。

Android客户端下载链接
推荐在Google Play下载,自动适配你的系统版本,以免出现问题。

电脑客户端端下载链接(Windows、Mac OS X)
小提醒:Windows 7用户下载Shadowsocks-win-x.x.x.zip,Windows 8用户下载Shadowsocks-win-dotnet4.0-x.x.x.zip。

iOS客户端端下载链接

Android手机客户端配置示例(以上述服务端配置为例):
注意:已经root手机的小伙伴请勿授予root权限,以免发生未知问题。

服务器:你的VPS IP地址(非0.0.0.0)
远程端口:8388
本地端口:1080
密码:yourpassword
加密方法:AES-256-CFB
路由:绕过局域网及中国大陆地址
全局代理:勾选
UDP转发:建议勾选,如有问题则取消勾选
自动连接:勾选

电脑客户端配置示例(以上述服务端配置为例):
(示例客户端版本:Shadowsocks-win-2.1.6.zip (144.9 kB),系统Windows 7,如遇无法启动的情况,请右键以管理员身份运行)

服务器 IP:你的VPS IP地址(非0.0.0.0)
服务器端口:8388
密码:yourpassword
加密:aes-256-cfb
代理端口:1080
备注:随便写

右键任务栏飞机小图标,勾选“启用代理”、“开机启动”。

注:新版的shadowsocks电脑客户端已经支持一键切换系统代理,无需浏览器插件,内置可编辑的PAC服务,并提供HTTP代理,兼容IE。当然,你也可以继续使用Chrome浏览器配合SwitchySharp代理插件使用,SwitchySharp的具体配置如下图所示:




-------------------------------
以上内容在搬瓦工和DigitalOcean以及Linode三家的VPS上已经全部测试通过,无误。

对于能够成功连接但觉得上网速度慢的小伙伴:

1.请先确认你自己有没有严格按照教程选择对你最快的节点;
2.请将server_port由默认的8388改为其他端口;
3.如果速度还是不满意,那么请将你的VPS更换为DigitalOcean或者Linode(你要始终相信一分价钱一分货)。
4.南方部分地区电信用户的国际出口遭到电信人为限制,如果当地有“国际精品网”业务,开通后可立即完美解决这个问题。如果不愿意给电信交保护费,建议尝试使用DigitalOcean的新加坡节点或者Linode的日本节点,如果速度还是不满意,换移动和联通吧。

看到这里已经折腾成功的小伙伴请别忘记在帖子底部为本教程+1转发(公开),以帮助更多的人哦。谢谢!
-------------------------------

进阶答疑


本答疑会根据大家的反馈以及shadowsocks的不断更新而不定期更新,进阶部分针对已经具备一定基础的非新手,这部分内容遇到任何问题请自行Google。

1.Android 5.0的Shadowsocks为什么耗电量非常高?

Android 5.0的电量统计模块把所有经过shadowsocks代理的流量所产生的耗电量都算在了shadowsocks上,因此看起来会很耗电,比如你Chrome浏览器的电量都被算到了shadowsocks头上,实际上还是很省电的。

2.如何查看当前VPS上的Shadowsocks服务端版本号?

pip show shadowsocks

3.以后如何升级VPS上的Shadowsocks服务端?

pip install --upgrade shadowsocks
reboot

4.我搭建过程中不小心出错,想重新来过,如何重装VPS的系统?

搬瓦工:VPS控制面板里,Install new OS
DigitalOcean:VPS控制面板里,Destroy,Rebuild
Linode:VPS控制面板里,Rebuild

5.我开始选择的节点线路不理想,如何切换机房?

搬瓦工:VPS控制面板里,Migrate to another DC,无需重新搭建Shadowsocks服务端。
DigitalOcean:新建一台你想要机房的VPS,删除原来的,需要重新搭建Shadowsocks服务端。
Linode:新建一台你想要机房的VPS,删除原来的,需要重新搭建Shadowsocks服务端。

6.如何配置多账户?

小提示:Shadowsocks支持一个账户在多个终端同时使用,一般人没有配置多账户的必要。所以如果你看不懂,那你还是别折腾了。

{
    "server":"0.0.0.0",
    "port_password":{
        "8388":"password1",
        "8389":"password2",
        "8390":"password3",
        "8391":"password4"
    },
    "timeout":300,
    "method":"aes-256-cfb"
}

友情提醒:GFW目前是根据流量检测分析匹配统计学模型的方式来判断你是否在翻墙,换言之,你用什么方式翻墙并不重要,重要的是你和服务器之间的流量特征是否像是在翻墙。一旦匹配,既对你进行有罪推论,轻则限速,重则彻底封锁IP。在IPv4地址已经枯竭的今天,可用的美国IP地址会越来越少,所以不建议将自己的账号分享多人使用,以防被封。

7.为什么我的shadowsocks在刚搭建好的时候速度很快用了几天后速度就变慢了甚至网页都很难刷出来?

出现这种情况有多种可能性:

①shadowsocks长时间保持不间断连接会被GFW根据流量模型分析判断出你可能在翻墙(原理见上面的友情提醒),于是进行主动干扰,轻则限速,重则切断你和服务端的连接。解决方法:切换一下你的网络,比如从Wi-Fi切换到3G或者从3G切换到Wi-Fi或者直接断开网络连接,等待10分钟以后,一般即可恢复正常。PS:每天晚上睡觉前关闭手机的网络连接会大大减小此种情况发生的概率;而将自己的VPS分享给多人使用则可能大大增加此种情况发生的概率,请自行斟酌。值得说明的是,VPN最容易受到此类干扰,而shadowsocks作为可自定义端口的私有协议代理已经是最不容易被干扰的翻墙方式之一了。

②机房的QoS策略。解决方法:将shadowsocks服务端的server_port改为常见端口。

③本地线路抽风,你所使用宽带运营商的国际出口出现问题。比如最近南方电信部分地区国际出口严重不稳定(电信人为限制)。解决方法:<1>先尝试一下DigitalOcean的新加坡节点或者Linode的日本节点;<2>如果当地有“国际精品网”业务,开通后可立即完美解决这个问题;<3>如果不愿意给电信交保护费,那么就换家运营商吧,移动和联通都没问题。

④VPS间歇性抽风。无论你选择哪家供应商的VPS,都可能遇到有时候线路抽风、VPS速度慢或者不正常。不同的是,越是价位高的VPS出现抽风情况的可能性越低,越是价位高的VPS出现抽风情况时能保证的最低连接速度越高。出现这种情况的可能性比较低,我手头的无论是搬瓦工还是DigitalOcean以及Linode暂时未遇到线路抽风情况。

⑤搬瓦工的年付VPS为OpenVZ架构,同一母机下的VPS越多,同一时间段使用的人越多,速度就越慢。解决方法:一分价钱一分货,将VPS更换为DigitalOcean或者Linode。

⑥中国的国际出口带宽有限,晚高峰时段可能出现网络拥堵,速度多少会受影响,但这种情况起码白天的速度应该是没问题的。

⑦如果你在VPS上搭建了VPN并且经常使用,尤其是OpenVPN,请立即停止使用。VPN协议特征明显,GFW可以非常容易的检测到,从而盯上你的IP,轻则限速,重则彻底屏蔽。常见VPN协议根据易受干扰的程度从大到小依次为:OpenVPN > PPTP > L2TP > IPSec,尤其是OpenVPN,GFW已经可以实现对其定点清除(同样遭此待遇的还有SSH翻墙)。如果你想让自己VPS的IP快速报废,那么就请尽情的使用搬瓦工的控制面板搭建OpenVPN吧。重要提醒:在不明所以的情况下尽量不要在自己的VPS上搭建其他杂七乱八的翻墙服务尤其是一些早已过时和落后的翻墙方式,翻墙手段宜新不宜旧,只搭一个Shadowsocks是最能保证你翻墙效果和服务器稳定的好策略。

⑧其他:偶尔的速度慢或者连不上都是正常的,但如果经常性的速度奇慢或者连不上那就不正常了。

8.为什么是CentOS?

作为服务器而言,永远都是稳定性压倒一切。而CentOS简单易用,上手快速,业界公认的稳定,且易于维护,是服务器操作系统首选。

9.为什么是Python版?

Python版的Shadowsocks易部署,后期升级维护都非常方便,相当适合新手,支持的特性也最多,稳定性好,运行效率高

10.为什么使用supervisord?

与繁琐的带参执行方式相比,service命令在CentOS系统里使用起来更加灵活方便,比如:

①启动Shadowsocks服务端:service supervisord start
②关闭Shadowsocks服务端:service supervisord stop
③重启shadowsocks服务端:service supervisord restart
-------------------------------

错误排查


已经成功的小伙伴可以直接略过这部分了。

温馨提醒:在怀疑教程的任何一个地方之前,请先怀疑你自己。

服务端搭建成功的唯一衡量标准是在手机或者电脑客户端正确配置后能否顺利的访问被屏蔽的网站,无论是电脑还是手机,只要有一个终端能够成功翻墙即视为服务端搭建成功,出现所谓的可以连接但无法上网其实还是服务端或者客户端的配置有问题,认真按照下面的步骤一步步排错吧。

遇到问题的小伙伴请先认真仔细阅读这两篇文章
上面的链接为vi编辑器基本用法扫盲(新手必读)

最容易出现问题的地方,就是vi编辑器的使用,如果你在执行vi命令后没有按 i 键进入编辑模式就直接复制粘贴,会造成粘贴内容的首行被覆盖,从而导致错误;或者你在粘贴内容后,没有以正确的方式保存退出,同样会出现问题。

如果你在执行完reboot命令后,手机端无法连接,请先确保你的手机端配置正确,并且网络环境良好(参照上面的Android手机客户端配置示例)。然后用putty登入你的VPS后通过以下方式逐步排查:

1.执行命令service supervisord start,执行完毕后如果没有报错,手机端也可以正常连接,那么问题出在vi /etc/rc.local这个环节,请重新检查该文件配置;如果手机端依然无法连接,请继续往下看。

2.执行命令ssserver -c /etc/shadowsocks.json,执行完毕后如果没有报错,手机端也可以正常连接,那么问题出在vi /etc/supervisord.conf这个环节,请重新检查该文件配置;如果手机端依然无法连接,请继续往下看。

3.如果依次进行完以上两步后,手机端依然无法连接,那么问题出在vi /etc/shadowsocks.json环节,请重新检查该文件配置。

4.如果以上三个文件的配置问题都解决后,执行reboot命令后,手机端依然无法连接,那么说明你在教程最开始的5行命令没有正确执行,在搬瓦工和DigitalOcean以及Linode官网的控制面板里重装VPS系统后,按照教程认认真真仔仔细细的重新来过吧。
-------------------------------

尾巴


整个教程到这里就结束了,我按照自己写的内容重新搭建了一遍没有遇到问题,大家有什么问题可以在帖子下面提问,在提问之前请先确保你是严格按照教程一步步认真往下执行了的。关于远程登陆VPS后linux的使用问题最好先Google一下。另外,本教程可能根据大家反馈的情况随时更新,遇到问题请点击下面的链接查看原帖:
http://shadowsocks.blogspot.com/2015/01/shadowsocks.html

v2ray – 性能优异的模块化代理软件

$
0
0
介绍 v2ray 的使用方法。


来源:https://blog.kuoruan.com/112.html
作者:Index ,百度ID:“度娘程序员”,博主。

生命不息,折腾不止!今天给大家带来的是一款叫做 v2ray 的代理软件。老早就听群友们推荐这款代理软件了,但是由于平时上班,也抽不出时间来看这个软件。趁着中秋放假,稍微试了试,结果确实惊艳到我了!
这是个比较小众的软件,小众但是并不代表它不好用。代理速度,是我们选择一款软件的首要条件,下面是网上一篇帖子:四(三)大开源代理技术测速 仅供参考。而我的实际测试速度也确是如此,而且该软件兼容 Shadowsocks 协议,这意味着,你可以使用 Shadowsocks 客户端来连接它,而不必安装其他的客户端软件,简直是 Shadowsocks 的完美替代品。
官方网站:https://www.v2ray.com

服务端安装

官方已经把一键安装脚本写好了,所以安装 v2ray 非常简单:
等待片刻即安装完毕。然后可以启动 v2ray:
下面可以开始配置了,由于 json 格式不支持注释,下面的所有的注释只做说明使用,请不要将注释添加到你的配置文件中。

使用 v2ray 原版协议

1.服务端配置

然后我们需要修改服务端的配置文件,这是一个 json 文件
文件打开之后你只需要看开头这部分:
你可以随意修改端口,如果想要修改 ID,可以访问这个网站生成:https://www.uuidgenerator.net/
修改完成之后重新启动 v2ray:

2.客户端配置

首先需要下载客户端软件:https://github.com/v2ray/v2ray-core/releases
例如我是 Windows 64位,可以下载 v2ray-windows-64.zip
然后下载客户端启动软件:https://www.v2ray.com/chapter_01/3rd_party.html
Windows 可以下载 v2ray-taskbar:
将以上两个压缩文件解压到同一文件夹下:
v2ray - 性能优异的模块化代理软件 - 第1张  | 扩软博客
打开 config.json 开始来配置客户端:
默认使用的是 SOCKS 协议,它的说明可以看这里:https://www.v2ray.com/chapter_02/protocols/socks.html
配置完毕之后,双击 v2ray-taskbar.exe 启动,以下为日志:
然后可以配置代理了,比如我在 Chrome 上配置 SwitchyOmega:
v2ray - 性能优异的模块化代理软件 - 第2张  | 扩软博客
需要自动切换的请自行配置。然后将代理切换至 v2ray,尝试访问,配置完毕!

使用 Shadowsocks 协议

v2ray 兼容 Shadowsocks 协议,配置好之后相当于你多了一个 Shadowsocks 服务端。

1.服务端配置

依旧打开配置文件:
文件的默认协议部分可以保留,然后在 inbound 后面加入扩展配置( 注意: 请自行删除注释说明 ):
在配置文件中,我开了两个兼容 Shadowsocks 的端口,分别是 30001 和 30002。其他说明可以看这个页面:
重启 v2ray 服务端:

2.客户端配置

客户端直接使用 Shadowsocks 或者 ShadowsocksR 的客户端。
v2ray - 性能优异的模块化代理软件 - 第3张  | 扩软博客
所有配置完毕,将 Shadowsocks 代理切换到该服务器上,测试。

Mac 上安装 COW (Climb Over the Wall) proxy 翻墙教程

$
0
0


COW 是一个简化穿墙的 HTTP 代理服务器。它能自动检测被墙网站,仅对这些网站使用二级代理。

来源:https://blog.e9china.net/tufan/macshanganzhuangcowproxyfanqiangjiaocheng.html
软件作者Twitter:https://twitter.com/cyfdecyf

最近在github上面游荡,发现了一个好东西,cow(climb over the wall)  proxy
github地址如下:https://github.com/cyfdecyf/cow
这货是个翻墙利器,简单粗暴,不需要对dns域名解析进行净化,也不需要在电脑上部署插件什么的

主要特点:
工作方式很简单,对于没有访问过的网站,默认尝试直接连接,直连失败了用二级代理重试;

前置条件:
1、有一个在墙外的代理服务器(SOCKS5,HTTP,SHADOWSOCKS,COW都可以)。
2、Windows系统,Mac,Linux均可(暂不支持Openwrt,残念!!!但是那么好用的软件肯定会有人做在路由器上面实施的)

我先在MBA上面安装试用了,等Openwrt版本出来了(不知道何年何月了),就安装在Openwrt上,这样iphone,ipad,笔记本等等啥都不需要设置,只要连上wifi就可以透明,无痛,完美的本地,国内,墙外的自由畅游了,这是愿景。


简单记录下过程,几乎傻瓜式,版本是:0.9.3
1、运行一下命令,按照提示操作
     curl -L git.io/cow | bash
2、输入安装目录,直接回车为默认目录(/User/username/) 
C13A1E97-8C92-4847-84BA-81758CBB187B

3、询问是否开机启动,如果答是的话,会在~/Library/LaunchAgents/ 新建一个info.chenyufei.cow.plist文件开机启动
C1C2BD3F-BCA4-47B9-8DB8-C5B0F2C96345

4、静待安装程序下载安装完成,安装就是这样的简单
下面开始配置了

5、配置文件位置 ~/.cow/rc
vim ~/.cow/rc
6、加入或者打开以下的设置
#设置本机的http代理服务器和端口
listen = http://127.0.0.1:7777
#设置墙外的二级代理,这里同样用了COW的,因为安装太简单,根据二级代理的情况设置用户,密码,服务器ip,端口
proxy = cow://aes-128-cfb:password@106.185.xxx.xxx:xxxx
ps:墙外服务器COW设置(安装步骤1-5相同,步骤6 ~/.cow/rc 配置文件加入只需一句 listen = cow://aes-128-cfb:password@0.0.0.0:xxxx 用户名,密码,端口自由设置)

7,启动本地和墙外服务器COW启动方法
cow &
8,本地设置Mac的HTTP代理,如下图
765CDB51-0EEC-40C1-AA98-04FA271F1A14
691FD3A2-42C7-486A-A92C-895C6E7998E7
9,至此,设置完成,愉快的上网吧。
ps2:更详细的参数设置参考https://github.com/cyfdecyf/cow

十月翻墙技术与大事记

土豆丝(Potatso)iOS 平台上一款强大的 广告拦截+翻墙工具

$
0
0

Potatso 是 iOS 平台上一款强大的网络工具,支持通过 Shadowsocks, ShadowsocksR 等自定义代理翻墙。



来源:https://manual.potatso.com/overview.html
苹果商店下载:https://itunes.apple.com/us/app/tu-dou-si-potatso-qiang-da/id1070901416
官方网站:http://potatso.com/ 
论坛:http://forum.potatso.com/
文档:https://manual.potatso.com/overview.html
作者:https://twitter.com/icodesign_me
官方推特:https://twitter.com/potatsoapp
GitHub:https://github.com/shadowsocks/Potatso
Telegram群组:https://telegram.me/joinchat/BT0c4z49OGNZXwl9VsO0uQ



简介

Potatso 是 iOS 平台上一款强大的网络工具,利用 iOS 9 开始提供的全新网络 API 开发,支持任何网络环境下自定义代理、自定义规则、查看网络请求等功能。无论您是开发者,还是普通用户,Potatso 都能为您提供更便捷畅快的网络环境。

功能

简洁、易用、强大、安全是Potatso 最基本的功能特点。
Potatso 目前支持以下功能:

  • 系统全局代理(Wi-Fi, 4G 等任何网络环境)
  • 支持 Shadowsocks, ShadowsocksR 等自定义代理
  • 支持根据网络请求自定义规则(直连,代理,拒绝等操作)
  • 内置云集规则,简化使用
  • 支持配置文件、二维码导入代理和规则

使用教程:






向井里下毒:探索防火长城的DNS中毒

$
0
0
关于 GFW DNS 投毒的研究




来源:http://www.solidot.org/story?sid=50230
会议地址:http://wpes2016.di.unimi.it/program
论文地址:http://delivery.acm.org/10.1145/3000000/2994636/p95-farnan.pdf?ip=118.73.57.119&id=2994636&acc=OPEN&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&CFID=861449686&CFTOKEN=67761179&__acm__=1478268038_fe3a436a8d850e48656b84c16cf8844b


在上周维也纳举行的电子社会隐私研讨会上,牛津大学的三名研究人员发表了对防火长城DNS中毒的研究报告《Poisoning the Well—Exploring the Great Firewall’s Poisoned DNS Responses》(PDF)。

当防火长城观察到特定域名的DNS查询,它会返回中毒的DNS响应。防火长城的中间人位置使得它能抢在DNS服务器返回合法的DNS响应前就将其中毒的DNS响应发送到客户端。这是一个众所周知的事实。研究人员提出了一个其他人可能没怎么研究的问题:中国的DNS服务器是否本身就被中毒了?他们监视了1871个在中国注册和运行的公共DNS服务器,观察其对特定域名如Google、YouTube、Twitter和Facebook返回的查询结果,发现DNS服务器返回的IP地址与防火长城发送的相同,这意味着DNS服务器本身就遭到了中毒。研究人员进一步推断:防火长城的DNS中毒主要目标不是直接针对用户,而是DNS服务器。研究人员还发现了防火长城返回的9个无效IP地址:
  • 37.61.54.158
  • 93.46.8.89
  • 59.24.3.173
  • 78.16.49.15
  • 203.98.7.65
  • 243.185.187.39 
  • 159.106.121.75
  • 46.82.174.68
  • 8.7.198.45
其中37.61.54.158使用频率最高。这一观察可以与gfwrev的研究相互对照。

我的科学上网技巧

$
0
0


科学上网技巧分享。


来源:https://g2ex.github.io/2016/05/20/Tips-on-Chinternet/

尽管也称互联网,但在国内,如若有以下一个或多个需求,你就不得不学习一下科学上网了:
  1. 访问的网站或服务被(GFW)墙;
  2. 网络提供商(ISP)劫持了网络流量;
  3. 需要匿名(隐藏真实 IP)的情况,如渗透测试;
  4. 躲避网络监控;
  5. 其他情况。
这里分享一下我的科学上网技巧,使用到的工具软件可能有 ShadowsocksLanternPrivoxyTor。根据不同的目的选择不同的工具。

一、绕过 GFW 和 ISP 劫持

最简单和不折腾的方法是购买 VPN,次之是购买一台海外 VPS,自己安装 VPN 或 Shadowsocks 服务端。VPN 的优点是可以全局翻墙,Shadowsocks 虽然可以设置全局模式,但是对于不支持代理的本地应用是没有办法的,当然这种情况下可以试试 ProxifierPE 强制所有连接通过代理上网。
使用 Shadowsocks 可能遇到的另一个问题是,因为 Shadowsocks 使用的是 SOCKS5 类型的代理,当本地应用只支持 HTTP/HTTPS 类型代理时,就需要自己解决 HTTP 转换为 SOCKS5 的问题。当然,这个问题使用 Privoxy 就能很好地解决。
本节主要介绍如何组合使用 Shadowsocks 和 Privoxy,并假设你已经安装并配置好了 Shadowsocks(Linux 中可以安装 shadowsocks-qt5 或 命令行版本的 Shadowsocks)。
Shadowsocks 与 Privoxy 组合使用的示意图如下所示:
Shadowsocks_Privoxy

假设你已经配置好了 Shadowsocks,接下来配置 Privoxy。
Windows 系统中右键点击 Privoxy 托盘图标,依次点击 Edit - Main Configuration 打开配置文件;Linux 系统中 Privoxy 的配置文件位于/etc/privoxy/config
配置文件修改为:


1


2


3


4


5


6


# 把 HTTP 流量转发到本机 127.0.0.1:1080 的 Shadowsocks


forward-socks5 / 127.0.0.1:1080 .




# 可选,默认只监听本地连接 127.0.0.1:8118


# 可以允许局域网中的连接


listen-address 0.0.0.0:8118


启动 Shadowsocks 和 Privoxy 后,把本地应用的代理设置为 HTTP/HTTPS 类型的 127.0.0.1:8118,就可以绕过 GFW 和 ISP 了。如果局域网中的其他 PC 或手机也希望使用该电脑上网(假设该电脑 IP 地址为 192.168.1.10),把它们的代理设置为 19.168.1.10:8118 即可。
Tips
目前,有一个讨巧的的办法替代这两者的组合:使用 Lantern —— 一款开源的安全上网工具。它使用的是 HTTP 类型代理,本地端口为 8787,也就是说,把本地应用的代理设置为 127.0.0.1:8787 就可以使用 HTTP 类型的代理了。而且使用它,也无需自己购买 VPS。
Lantern 默认非全局代理,可以在设置中改为全局模式。
另一方面,Lantern 只监听本机 127.0.0.1:8787 的连接,如果局域网中的电脑或手机也想通过这台电脑翻墙(假设该电脑 IP 地址为 192.168.1.10),那么也需要配合 Privoxy 使用。这时,Privoxy 的配置应该如下:


1


2


3


# 监听局域网中连接到本地 8118 端口的连接,转发给 8787 端口的 Lantern


forward / 127.0.0.1:8787


listen-address 127.0.0.1:8118 # 可改为 0.0.0.0:8118 允许局域网的连接


二、匿名上网

网络中保持匿名的办法是使用 Tor,匿名的意思是隐藏你当前的 IP 地址。Internet 上有很多志愿者运行着 Tor 中继节点,Tor 能保证从出发点的流量至少经过三个不同的中继节点到达目的地址,而且这三个不同的中继不会每次都相同。
形象地说,你想把一封匿名信交给小明,在大街上随便找了一陌生人 A 让 A 帮忙转交,A 走了一段路程后随便找了一个陌生人 B 让 B 帮忙转交,B 走了一段路程后随便找了一个陌生人 C 让 C 帮忙转交,最终 C 按照信封上的地址找到了小明并把信交给了他。小明只知道是 C 转交了这封信,至于是谁写的这封信,他就无从得知了。A、B、C 分别对应着 Tor 网络的中继节点,这种投递匿名信的方式就起到了隐藏 IP 地址的效果。
如下图所示,使用 Tor 从本机经过三跳访问了 Google。
Tor_Browser

Tor 浏览器

为了方便使用 Tor,Tor 开发者把 Tor 集成到了定制版的 Firefox 中,简单设置一下就能正常使用。
Tor 浏览器专为大陆等网络环境加入了流量混淆的选项。首次打开浏览器时会弹出 Tor 状态检查,点击设置配置 Tor 网桥,勾选互联网提供商(ISP)是否对 Tor 网络连接进行了封锁或审查中的,把下一步中的网桥类型选择meek-amazonmeek-azure。这两者在大陆没被完全封锁,因此可以用来做跳板网桥。
不过随着网络环境的恶化,Tor 提供的网桥类型都不可用时,就需要使用自己的 Shadowsocks 或 Lantern 代理了。
首次打开 Tor 浏览器,在 Tor 设置中勾选互联网提供商(ISP)是否对 Tor 网络连接进行了封锁或审查中的,在下一步是否需要本地代理访问互联网?中选择,下一步中设置你的代理:
  • 使用 Shadowsocks 则设置为 SOCKS5 类型的 127.0.0.1:1080
  • 使用 Lantern 则设置为 HTTP/HTTPS 类型的 127.0.0.1:8787
如果通过局域网中其他计算机的配置联网,把 127.0.0.1 改为那台计算机的 IP 地址。
使用了代理的 Tor 浏览器原理示意图如下(以 Tor + Shadowsocks 组合为例):
Tor_Shadowsocks

Tor Expert Bundle

Tor 浏览器适用于使用浏览器匿名上网的场景,如果打算让本地应用(如其他浏览器、Linux 中的 Terminal 等)也使用 Tor 隐藏 IP 地址,那么就需要自己手动配置 Tor 了。从 Tor 官网下载 操作系统对应的 Expert Bundle,它只包含 Tor 工具,不含浏览器。
假设你已经配置好了 Shadowsocks,接下来,为 Tor 配置 Shadowsocks 代理。
Windows 系统中,打开 %AppData%/tor 目录(如果不存在则创建该目录),新建 torrc 文件,内容如下:


1


2


3


4


5


6


7


8


## 通过 SOCKS5 代理


SOCKS5Proxy 127.0.0.1:1080


## 如果使用 HTTP/HTTPS 代理


# HTTPSProxy 127.0.0.1:8118




## 如果只允许特定端口的网络连接,如 80 和 443


ReachableAddresses *:80,*:443


ReachableAddresses reject *:*


Linux 系统中,Tor 的配置文件位于 /etc/tor/torrc,配置内容同上。
启动 Shadowsocks 和 Tor,因为 Tor 监听的是 SOCKS5 类型的本地 9050 端口,把需要匿名的本地应用代理设置为 SOCKS5 类型,代理地址设置为 127.0.0.1:9050,实现匿名上网。
还是老问题,如果本地应用只支持 HTTP/HTTPS 代理类型,那么仍需要使用 Privoxy,修改其配置文件为:


1


2


forward-socks5 / 127.0.0.1:9050 .


listen-address 127.0.0.1:8118 # 可改为 0.0.0.0:8118 允许局域网的连接


这样一来,本地应用的代理设置为 HTTP/HTTPS 类型的 127.0.0.1:8118 就可以实现匿名上网了。
Privoxy + Tor + Shadowsocks 组合使用示意图如下所示:
此处输入图片的描述

One More Tip

使用 Tor 匿名访问网络除了应用于渗透测试,另一个应用场景是编写爬虫变换 IP 地址爬取站点,减小被网站屏蔽的可能性。
在 Linux Terminal 中,使用 export 命令设置代理,可以只在当前 Terminal 中生效,


1


2


export http_proxy=http://127.0.0.1:8118


export https_proxy=https://127.0.0.1:8118


三、总结

接下来简要归纳上述内容,给出每种组合的配置内容。

Privoxy + Shadowsocks 组合 —— 翻墙

配置 Privoxy,Linux 系统中位于 /etc/privoxy/config


1


2


forward-socks5 / 127.0.0.1:1080 .


listen-address 127.0.0.1:8118 # 可改为 0.0.0.0:8118 允许局域网的连接


本地代理需设置为 HTTP/HTTPS 类型的 127.0.0.1:8118
如果不使用 Privoxy,本地代理需设置为 SOCKS5 类型的 127.0.0.1:1080

Privoxy + Tor + Shadowsocks 组合 —— 匿名上网

配置 Privoxy,Linux 系统中位于 /etc/privoxy/config


1


2


forward-socks5 / 127.0.0.1:9050 .


listen-address 0.0.0.0:8118 # 可改为 0.0.0.0:8118 允许局域网的连接


配置 Tor,Windows 系统中位于 %AppData%/tor/torrc,Linux 系统中位于 /etc/tor/torrc


1


2


3


SOCKS5Proxy 127.0.0.1:1080 # Shadowsocks 代理地址


ReachableAddresses *:80,*:443


ReachableAddresses reject *:*


本地代理需设置为 HTTP/HTTPS 类型的 127.0.0.1:8118
如果不使用 Privoxy,本地代理需设置为 SOCKS5 类型的 127.0.0.1:9050

Privoxy + Tor + Lantern 组合 —— 匿名上网

配置 Privoxy,Linux 系统中位于 /etc/privoxy/config


1


2


forward-socks5 / 127.0.0.1:9050 .


listen-address 0.0.0.0:8118 # 可改为 0.0.0.0:8118 允许局域网的连接


配置 Tor,Windows 系统中位于 %AppData%/tor/torrc,Linux 系统中位于 /etc/tor/torrc


1


2


3


HTTPSProxy 127.0.0.1:8787 # Lantern 代理地址


ReachableAddresses *:80,*:443


ReachableAddresses reject *:*


本地代理需设置为 HTTP/HTTPS 类型的 127.0.0.1:8118
如果不使用 Privoxy,本地代理需设置为 SOCKS5 类型的 127.0.0.1:9050

极路由最新1.0固件确定支持 SS

$
0
0

目前极路由4,以及最新的9019和1.0固件,确定支持ss插件。

来源:http://www.oxox.work/web/experience/10-support-ss/

前提条件

极路由1s、2、3、4,新老版本都可以,固件版本要求9006~9018。但实际上9019以及最新的1.0.xxx也都支持,只不过必须使用ss插件直达页面去操作ss,ss功能完美,就是界面有点简陋。需要有路由器有root权限,极路由官方开放root权限的申请极路由开通root权限教程

具体方法

需要在电脑上使用xshell这个软件(putty更简单),登录到极路由,xshell在百度里搜索下载安装即可。本教程以xshell为例,手把手的教你。
打开xshell后,点左上角的“新建”,首先设置连接的参数。如下图所示,名称随便写,主机写192.168.199.1,端口号为1022。

再设置用户身份验证的参数,如下图所示,用户名写root,密码写极路由后台密码。

为了防止中文显示乱码,我们还需要把终端的编码改为UTF-8,如下图所示。

设置好了点确定。然后我们点下面的“连接”按钮登录到极路由。
如果出现下图的错误信息,则说明没有root权限,一般是由于你的马虎大意,没开通root权限造成的。本文开篇就要你开通root权限了,仔细点吧。


如果连接成功,会弹出窗口提示你保存密钥,保存后便会登陆进极路由,如下图所示。

OK,下面开始刷ss插件,很简单,复制代码,执行安装即可。本教程给出两种ss插件,各自区别自己体会去吧。

最推荐 第1种,【三流火最终版ss插件】安装代码:

复制第1行代码,右键粘贴,回车执行:
cd /tmp && rm -rf *.sh && wget http://sspanel.tabboa.com/ss.sh
复制第2行代码,右键粘贴,回车执行:
sh ss.sh
然后根据提示选择执行就可以。安装步骤最后面会提示你重启路由器。
重启后,9018以前版本固件的用户,打开极路由后台——高级设置,应该会看到“Shadow***”,(或者使用ss插件直达页面  http://192.168.199.1/cgi-bin/turbo/;stok=f/app/vendor/ss )然后点开开关就可以使用了。
9019以及1.0.xxx以后版本固件的用户,必须使用上面提到的ss插件直达页面去操作ss。
=======================分割线==========================

第2种,【三流火稳定版ss插件】安装代码:

复制第1行代码,右键粘贴,回车执行:
cd /tmp && rm -rf *.sh && wget http://sspanel.tabboa.com/hiwifi-ss-tool.sh
复制第2行代码,右键粘贴,回车执行:
sh hiwifi-ss-tool.sh
然后根据提示选择执行就可以。然后需要你手动重启路由器,重启后,打开极路由后台——高级设置,应该会看到“番茄利器”,可以使用了。

注意事项

1.大家一定要去极路由后台——云插件——路由器设置,关闭掉固件自动更新,否则自动更新后会丢ss。
2.平时不要轻易恢复出厂设置,否则丢ss,需要重刷。
3.这个路由器建议作为“二级路由”使用。家中不需要使用代理的设备,都连到主路由(普通路由器),需要代理的设备,比如ps4,连接到二级路由。这样互不影响,也可以规避掉电脑迅雷下载盗版的BT电影造成虚幻账号停用的问题。



Tox 新手入门

$
0
0


Tox,一种新型的聊天协议.如果汝关注安全和隐私,不妨来看看呗~


来源:https://blog.yoitsu.moe/tech_misc/tox_trainee_guide.html


再说一遍Tox是啥?

Tox是一种新型的通讯协议,它的目标是——提供一个无法监控的 Skype 替代品——彻底的加密,没有后门,无需中间服务器。

由于Tox就是一个协议框架,不同的开发者开发了不同的软件呗~

在下面的例子中咱会先拿 qtox 来示范一下,汝可以从上面的列表中选择一个适合自己的客户端呗~

首先按照上游的指南装好客户端呗~

新建一个Tox个人资料

运行qtox,会弹出这样的窗口:

qTox欢迎画面

因为咱已经有一个Tox Profile所以是这样啦,汝直接按"New Profile"就好:

qTox-新建个人资料

在Username那挑个用户名,Password那输入个密码呗~

如果用SSH远程访问做类比的话,汝的Profile就是私钥,密码就是私钥的保护口令呗~

汝输入的密码非常重要!
1.挑一个好的密码,如果不怀好意的骇客同时得到了汝的密码和profile,就可以冒充汝发送消息了诶.
2,记住汝的密码!虽然安全性很重要,但是一旦汝忘了密码,基本上就无法恢复了呗~

确认完毕之后就会进入到qtox的主画面了呗~(旁边一圈是咱加上的注释,原谅咱不怎么会用GIMP......)
qTox_main

修改个人资料

点击头像的区域就可以修改自己的个人资料了呗~

qTox_profile

就像界面介绍的那样,Name和Status是公开的信息,所以仔细考虑一下选择一个合适的呗~

不过问题来啦,木有好友咧?

添加好友

要添加好友的话,先让汝的好友把Ta的Tox ID用其他的手段让汝知道呗~
E1F1C7DEA73D8126A1DEE9EAE5B45E21FB17E75F2319B7823A346B8C427EB272C80A89B69B4E
—Tox ID 是像这样的十六进制数呗~
然后到添加好友的界面把Tox ID输入进去.必要的话,附上一段消息让Ta知道汝是谁呗~
qtox_addfriend

一开始时汝的好友列表只会显示对方的Tox ID呐,像这样:

qtox_addfriend_Pending

当Ta同意汝的好友请求以后,汝的好友列表上就会显示Ta的Name和Status呗~

qtox_addfriend_success

然后像平常一样聊天呗~

要想让其他人和汝成为好友的话,把汝自己的Tox ID告诉Ta,让Ta像这样添加汝为好友呗~

发起群聊

Tox也是可以发起群聊的哟~首先创建一个(qtox里点击下方"创建群聊"按钮就可以了诶~)
qtox_groupchat

汝也可以邀请好友加入群聊呗~(qtox中右键点击某个好友-邀请加入群聊-汝的群聊名称呗~)

只不过万一汝退出了tox,下次登录时是不会加入上次加入的群聊的,汝只好让好友再邀请汝一次呗~

导出Tox的配置文件

必要时可以导出汝的配置文件,这样就可以在其他地方连接到汝的Tox用户了呗~
qtox的话,可以在Profiles页面通过"导出"选项导出汝的配置文件呗~

最后

这些就是tox基本的用法啦~,对于其他的客户端的话,不妨去阅读对应的文档呗~
如果汝有意帮助开发Tox的话, 来这看看呗~
哦,差点忘记啦,这是咱的Tox ID,大家可以试试看呗~
7BC803F7F9B8A7230EE181AB45CA909DE446D36A7BC3A275D5576439E0CF7546FF4E2C4665CC

专访方滨兴:防火墙、网络开放及信息传播自由

$
0
0


作者:叶兵













翻墙问答

$
0
0


翻墙问答


来源:https://www.bannedbook.org/bnews/fanqiang/

问:不少人都有用Web of Trust的浏览器插件,去防止浏览一些内有保安问题的网站,只不过,德国电视台踢爆Web of Trust插件本身其实都有问题。Mozilla基金会更加将Web of Trust插件,由插件商店中移除。Web of Trust的插件出现什么问题?又会否鼓励听众日后安装更新版的Web of Trust插件?
李建军:Web of Trust插件,被德国电视台发现,不单会追踪个别网民行踪,而且会将搜集得来的资料,售予商业机构,甚至政府部门,Web of Trust一日未交代清楚所搜集的资料最终行踪前,这插件不单不会保障用家的网络安全,相反,更可能令用家的安全受到影响,大家想像一下Web of Trust将资料售予中国政府,都足以构成重大麻烦。
因此,纵使Web of Trust稍后推出新版的插件,都不建议重新安装。事实上,只要你用Chrome或Mozilla等开放源码的浏览器,本身都有足够保护,防止你浏览一些有严重保安问题的网站,并不需要Web of Trust之类的软件。而相信,日后使用者会对商业机构推出的插件提高警觉,毕竟天下间并没有免费午餐,除了出售使用者私隐,或出售软件订阅费用,商业软件公司很难长期向用户提供软件,并维持开发成本。开放源码插件,反而会对用户私隐比较有保障。
问:除了GMX,透过Gmail都可以利用PGP来进行电邮加密,但应该怎样做,因为Gmail好像没有支援相关做法。
李建军:如果你有在Firefox或Chrome安装了Mailvelope插件,其实你可以用同一插件,在Gmail上用自行产生的PGP金钥,以及对邮件进行加密,只不过你撰写电邮时,程序略有不同,包括需要在相关Gmail网页上先激活Mailvelope插件,以及撰写电邮时,需要多按一两个按键,在另一视窗上撰写电邮,确保你的电邮,经过了PGP加密。
如果你曾经照翻墙问答的教导,使用GMX的加密网上电邮,就已经在浏览器安装了Mailvelope插件,而不需要再安装浏览器插件。而Mailvelope插件暂时只支援Firefox和Chrome,因此,Safari、IE和Edge用家,是没有办法透过浏览器版的Gmail来拆阅和加密Gmail,而Android和IOS用家,需要将金钥移到支援PGP的软件,才可以替自己的Gmail加密,以及拆阅已加密电邮。
问:物联网的兴起,令越来越多连接互联网的电器设备,有可能变成黑客发动DDoS的工具。最近有保安专家发现,可以接驳互联网的飞利浦LED灯胆,有可能有保安漏洞,成为黑客发动DDoS攻击,甚至破坏电网运作攻击的工具,请问能否介绍一下?
李建军:在今年较早时间,加拿大一队保安专家,发现飞利浦Hue系列,可供等设备遥控的LED灯胆系统有保安漏洞,黑客可以藉漏洞控制成千上万同样连接互联网的灯胆,因而损害电网运作。保安专家发现漏洞后,立即通知飞利浦公司,而飞利浦公司亦暗中发出保安修补工具,只要用户更新软件到最新版,应不受这个保安漏洞的影响。
但由于物联网的设备结构相对简单,黑客要成功找出其保安漏洞亦相对容易,因此,现时防止黑客入侵,已不单只在电脑或智能手机等设备,只包括LED灯、闭路电视等相对简单,但同样可以由网络控制的设备。而且由物联网带来的保安挑战,随时比电脑或智能手机更大,因为物联网设备的技术限制实际上比电脑以至智能手机都来得多。而用户要防止自己屋企的电器,变成了黑客攻击别人或自己的踏脚石,家中各类连接互联网电器的软件,都要及时更新,以策安全。
问:刚才谈及物联网保安问题,最近有人发现惠普公司LaserJet 1320镭射打印机,有可能成为黑客窃取智能手机保安资料的工具,那又是怎样一回事?对于一般用户,又可以如何提防自己公司或家居的镭射打印机,变成了黑客入侵自己或他人系统工具?
李建军:近年,有一种使用ARM中央处理器晶片的廉价Linux电脑草莓Pi,以价廉物美,体积小,而且耗电低闻名,在深圳很容易买得到,深受不少电脑用家的喜爱,用作自建打印机伺服器,或档案伺服器。
只不过,近年有不法分子,将这种小型电脑改装,暗藏在惠普LaserJet 1320或类近机体较大的镭射打印机内,再加上小型无线电发射仪器,就可以藉发出木马短信,窃取打印机附近手机的个人资料。而要查出自己的打印机是否被人加了料,只能靠定期拆开打印机内部,或当发现有人收到不明来历短信时,立即检查打印机才能发现。而不法之徒,往往在修理他人打印机时,暗暗将窃取资讯设备装入打印机中,因为对正常用户而言,他们不会想到打印机会暗藏小电脑,而小电脑可以功能强大至发出钓鱼短信或信息,藉此窃取个人资料。因此,若然打印机出问题,应找原厂维修,坊间不知名的维修公司,要看看他们东主的背景,以及收机时,必须作出适当检查,以防不法之徒加料。
问:最近不少人浏览美国或新加坡网站,或翻墙时,都出现速度缓慢,甚至无法进入网站的现象。而出现这个现象,又与杭州雄迈公司所生产同代工一系列旧款视像监察镜头有关。到底发生了什么事?
李建军:近日有成千上万的僵尸装置,主要都是杭州雄迈公司的产品,大规模攻击美国主要DNS供应商Dyn,以及新加坡当地其中一间主要互联网供应商星和。当成千上万的视像镜头,被黑客利用预设密码的漏洞,进行DDoS攻击时,就会引发大规模交通瘫痪,因此,杭州雄迈科技主动收回怀疑变成DDoS工具的产品,并且呼吁用户更新在2015年前购买产品的内部软件,堵塞黑客发动DDoS攻击的漏洞。由于出问题的雄迈公司产品,数量相当多,相信短期内,都不会有希望彻底解决问题,直至相关的雄迈公司产品逐步被汰换为止。
问:对于中国听众而言,如果他们发现家中的保安镜头等设备是雄迈公司的设施,那应该怎办?
李建军:如果你的设备,可以不连接互联网的话,请先尽量切断与互联网的连接,当视像镜头不连接互联网时,根本无法参与DDoS攻击,那就不会对其他人的设备造成麻烦。对保安视像镜头,设于内联网下,比设于互联网上来得好。
如果你的设备在2016年生产,那你可以暂时不用采取任何行动,因为受影响的设备,都是2015年前生产的旧款设备。如果你的设备于2015年3月前生产,可以前往雄迈网站更新软件,并更改密码,那就问题不大。
如果你的旧设备是2015年前生产,无法更新运作软件,或无法让用户自定密码的话,你的设备实际上对其他电脑使用者构成困扰,那只能不再让相关设备连接互联网,甚至要整个设备更换,以免相关设备影响办公室或家居其他同网络系统
问:现时最好的点对点加密程式,除了 Signal软件本身外,Whatsapp同Facebook Messenger都是Facebook公司的产品,但有部分中国听众,可能对Facebook公司在中国问题取态有疑虑,那除了Signal以及Facebook公司的产品,还有什么选择
李建军:最近谷歌推出了Allo实时信息软件,所使用的点对点加密协议,与Signal以及Whatsapp所用的协议相同,而且可以连系你的Gmail户口,对谷歌用户相对而言比较便利,亦提供了限时模式,在点对点模式下的对话,可以设定于指定时段内毁灭信息。在Allo,点对点加密模式,是被称为无痕模式,而这集翻墙问答,我们准备了视频,示范如何使用Allo,欢迎大家浏览本台网站收看。
问:在Allo上,当使用无痕模式时,如果我所用的表情,收件人并无安装,会否影响在无痕模式下的通讯表现?
李建军:因为当无痕模式的收件人,并无安装特定表情包时,会自动连接谷歌主机,虽然下载表情包时,软件与谷歌之间的连系,仍然是会加密的,但由于中国当局以DNS污染手段阻止民众连接谷歌主机,因此,如果不想影响在无痕模式的运作表现的话,Allo用家最好先作翻墙,以免DNS污染之下,影响Allo无痕模式下的正常运作。
虽然下载表情包会与谷歌主机通讯,但暂时为止未收到报告,指有关安排破坏了点对点通讯的机密性和可靠性。相信,这会是其他即时信息软件的发展方向。
由于下载表情包是一次性动作,因此,在大部分情况下,都不会影响无痕模式下的点对点通讯表现以及效能。
Viewing all 1645 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>