翻墙新工具:NoGFW红墙穿梭机(Red Wall Shuttle)
English description will available soon
发布NoGFW红墙穿梭机(Red Wall Shuttle) 开源软件的全景开发计划,软件第一版、源代码: 对抗GFW所面临的问题:
目前针对GFW的代理方案大多具有明显缺陷,最主要的就是代理地址不足和容易被封锁,如赛风,自由门等是由机构来提供IP代理地址,这就需要有付出高昂的费用购买IP地址,甚至不停的更换域名,https证书等。
而tor由匿名上网的支持者志愿提供IP代理地址,可供用来代理的IP相对充足,可又会因中央节点被封锁而无法找到新的代理。
vpn等新的代理服务又由于绝大多数是收费的而局限了使用范围。
解决现有问题的计划:
为此,我们计划针对GFW封锁,打造一款由全球反网络审查志愿者被封禁志愿提供IP代理,中央节点不能封锁,同时保障信息自由和网络安全的NoGFW Shuttle(NoGFW红墙穿梭机)。
同时通过此软件也能很有力的吸引翻墙者参与到我们的反gfw网聚中。
所需开发人才
为此我们诚邀懂得以下编程技术的自由网民参与此自由软件的开发:
a. 熟悉网络socket编程的C/C++程序员。 b. 熟悉php或jsp或asp.net,会生成图片验证码、会socket编程的程序员。 c. 熟悉网络,熟悉各种网络软件配置及其原理的人员(一般是在各个公司的IT部门担任网络管理原的职责)。d. 熟悉图形界面开发的技术人员
e. 熟悉嵌入式系统的技术人员。(本软件有向硬件发展的潜力)。 f. 即使不掌握以上技术,但仍愿意提供开发建议,创新思维的翻墙客,并参与软件的试用活动。
NOGFW加密代理软件技术构想
1. 目标 打造一个分布式、中央节点难以被封锁、服务提供者和服务使用者多元化的加密代理系统。 2. 设想 为了实现我们的目标,我们初步设想由网络审查比较少的国家的普通大众提供服务,使得服务得以是分布式的;服务提供者把其提供服务的信息发布到难以封锁 的中央节点中,服务使用者即可从中央节点中获取服务信息即可使用服务;服务提供者可以在计算机中安装软件提供服务,也可以使用定制的嵌入式设备提供服务, 使得服务提供者多元化;服务使用者只要使用支持HTTP(S)代理服务器协议的软件即可使用服务,使得服务使用者多元化。 3. 架构 这个项目分四部分: 一、IP代理提供方软件,将志愿提供者的互联网接入变成翻墙客的翻墙通道。 二、第三方发布点(可提供RSS feed,Email,IM发布功能的服务)将服务提供者代理IP加密公布。 三、中央节点,进行信息的交换,解析,验证将双方连接。 四、服务使用者所需软件,解密接收到的代理地址,建立翻墙通道。
服务使用者运行客户端软件后,自动从中央节点获取服务提供者的信息,从而可以使用服务。自动把其信息发送给第三方信息发布点,由第三方信息发布点统一把信息发布到中央节点中。服务提供者运行客户端软件后,自动从中央节点获取服务提供者的信息,从而可以使用服务。
软件的开发步骤
第一阶段 起步 实现点对点的加密连接 允许代理服务的提供者和使用方可以直接建立加密的代理通道 实现一对一乃至N对一的翻墙功能。
第 二阶段 适用于小规模用户的项目开发,在得到一定规模的代理服务提供者后,在能够以有限的人工发布IP资源的条件下,设置第三方发布点,手动的收集整理服务提供者 的IP带宽等信息以RSS feed,Email,IM等方式将服务提供者的信息加密公布。 设置中央节点,进行信息的交换,解析,验证将双方连接。四、服务使用者所需软件,解密接收到的代理地址,建立翻墙通道。
第三阶段 适应于大规模用户的项目开发,在得到大量的代理服务提供者后,需要更加合理的平均分配代理资源,此时设置专业的目录服务器(或邮件服务器)对资源进行整理 归类并均衡的将资源加密发布,同时加以人工辅助进行合理的分析判断以防范攻击和资源被浪费或闲置。 服务提供者由单层向双层发展,以避免ip被封,设置中央服务器均衡的将服务提供者的代理资源分为进口节点(连接服务使用者)和出口节点(连接服务使用者所 要访问的网站)。
设立嵌入式设备开发项目 : 为服务提供者开发一个廉价便捷的微型设备,只需连接到路由器上就可以自动的提供24/7不间断代理服务。
本项目与Tor(anonymity network全匿名路由)的同异比较: 相同性: 同为由志愿者为主体提供代理服务的网络,通过多层连接实现代理翻墙的功能。不同处(优点): Tor是以提供完全匿名的互联网接入为目的,通过多层穿越达到绝对隐藏使用者身份的效果,其用户群遍及全球各地。Tor必须由至少一台中央目录服务器来进行资源分配,这就导致tor很容易被GFW封锁。
而 翻墙穿梭机,是在针对性的为实行苛刻的互联网封锁审查的国家的网民提供突破封锁服务,服务的使用者不需要去连接目录服务器,而可以用RSS feed订阅,Email,IM,sns(twitter)等方式去获得可用的代理资源,避免了中央节点被封锁。另一方面,我们提供与其他专业翻墙软件同 级或更高级的用户信息保护而非绝对的匿名服务,以防止被利用做为网络欺诈,或成为反恐漏洞。
本方案常见问题:
a. Q:如何使得中央节点难以被封锁? A:我们可以利用发布RSS feed 如 Google Reader,或IM,Buzz等发布。如:由于Google Reader可以使用https协议进行浏览,并且是架设在Google的主域www.google.com上的,导致如果封锁Google Reader就等于封锁了几乎所有需要登陆才能使用的Google服务(包括Gmail)。
b. Q:为何有了安装在电脑中的软件提供服务,还要提供嵌入式设备提供服务? A:1、提供嵌入式设备提供服务使得普通大众不需要一直开着自己的电脑即可提供服务,有利于提供不间断地服务;2、使用嵌入式设备提供服务有利于服务提供 者的电脑安全,更有利于推广。3嵌入式设备实际上比整天开着电脑来提供代理服务的成本要低廉许多。
c. Q:如何能获得更多的IP地址用来提供代理服务? A: 国际上反对中国网络封锁的声音越来越大,美国,欧盟对此反应非常强烈,鼓励言论信息自由的非政府机构也非常活跃,还有越来越多的企业,个人开始关注并参与 到反GFW的行动中,这为我们提供了庞大的可利用资源。与国际友人谈到这个问题时,我经常听到的回应就是“How can we help?”
d. Q:如何使得中央节点中的信息不被破解而被自动封锁? A:我们可以把服务提供者的信息加密后发送到中央节点中。不过这样就必须不公开这个解密的过程,软件也就无法开源。另一种办法是发布的信息以验证码方式提 供,这样就无法自动解密自动封锁。不过这样就需要服务使用者每次获得信息的时候都需要输入验证码。
e. Q:有了中央节点,为何还需要第三方信息发布点? A:1、如果要把信息发布到Google Reader中,通过提供RSS feeds来发布信息,也可以通过固定的twitter,IM,邮件组帐号发布信息。2、第三方信息发布点可以验证服务提供者的配置是否正确。 — 在组内做首次发布: NoGFW Shuttle(翻墙穿梭机)的第一测试版本(第一阶段P2P) 及源代码
声明:《此开源软件的源代码以GPLv3 License发布》
nogfw20100802_abcdefg.zip(262.00k) 是第一版程序(p2p版),下载链接: http://nogfw.googlegroups.com/attach/cf4d7e32d5382df9/nogfw20100802_abcdefg.zip?gda=FHplfEcAAAALnbNOJzOlwhliyu8fmiHmzDKhuiFgRZa7JeQaqlCPiMWh6cwLyDYCB2g0z1pcuGobQwFxJw55cVwemAxM-EWmeV4duv6pDMGhhhZdjQlNAw&gsc=Ll8fkQsAAAA5Fy_lHupIVZKQ4BmuzMbQ&part=4&hl=zh-CN_US
encryptedtunnel_7z.zip (4k) 是源代码,下载链接: http://nogfw.googlegroups.com/attach/cf4d7e32d5382df9/encryptedtunnel_7z.zip?gda=87BfskcAAAALnbNOJzOlwhliyu8fmiHmzDKhuiFgRZa7JeQaqlCPiPkeNSgtK9ZcM5AflwDF-HgbQwFxJw55cVwemAxM-EWmeV4duv6pDMGhhhZdjQlNAw&part=5&hl=zh-CN_US 软件的的使用手册是程序压缩包中的manual.txt文件
源 代码为0.01 demo版,只是做了一个核心功能的模型。程序语言为C++,使用了STL和boost。计划后续版本做如下改进: 1、现阶段是命令行版本,需要做一个图形化界面; 2、现阶段不会自动发布服务者的IP、端口和SecretKey,以后不仅会自动发布服务者的信息到是否被封锁无关紧要的信息发布点,信息发布点还会反过 来验证服务提供者的配置是否正确; 3、现阶段加密只是使用了简单的异或操作,以后打算使用ECC+AES+SHA1+序列号的方式,防止传输的信息被破解而被截获(不是防止破解软件,软件 本身是开源的); 4、现阶段服务提供者需要手动配置路由器和防火墙,以后打算使用UPnP自动端口映射+NAT穿越+自动配置Windows防火墙; 5、以后会考虑流量混淆的方式,防止根据流量分析找出服务者的IP; 6、以后或许还会考虑把实时流量加入知名网站的https证书所加密的数据中(不需要得到其私钥,具体方法比较复杂,暂不讨论); 7、考虑到我们的总体目标,还需要根据这个总体目标增加很多功能,在此就不一一列举了。
运行本软件的最低系统要求: x86/32位/Windows 2000或更新版本的兼容机, 开发人员也可在Linux下自行编译 本程序为测试版,无偿授权,共测试和开发使用,程序是在win2000和win xp平台上开发,未在其他平台测试,所以无法保证软件在其他平台的稳定性,可能会导致问题,希望研发人员和使用者及时反馈可能出现的问题,bug。对运转 此软件可能会出现的问题,开发人员不负担责任。修改、发布程序的人员对使用该程序所出现的问题不负有责任。
思路不错,不过现在还没有实用价值!