安卓版:无界一点通3.6正式版(2016年5月30日)

无界一点通3.6b升级为正式版:

http://wujieliulan.com/download/um3.6.apk
sha1:86c203222887fdbb99b13853e1efe2f772cbb54c
md5:e32ef55baff5ec307a91ff7b04c86b13

谢谢!

—————–

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

安装”无界一点通”,如果能访问谷歌应用商店, 可以直接从那里下载安装: 搜索”ydt.wujie”应用。如果不能访问谷歌应用商店, 可采用以下办法:

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=21493.0

Tor Browser 6.0 is released

The Tor Browser Team is proud to announce the first stable release in the 6.0 series. This release is available from the Tor Browser Project page and also from our distribution directory.

This release brings us up to date with Firefox 45-ESR, which should mean a better support for HTML5 video on Youtube, as well as a host of other improvements.

Beginning with the 6.0 series code-signing for OS X systems is introduced. This should help our users who had trouble with getting Tor Browser to work on their Mac due to Gatekeeper interference. There were bundle layout changes necessary to adhere to code signing requirements but the transition to the new Tor Browser layout on disk should go smoothly.

The release also features new privacy enhancements and disables features where we either did not have the time to write a proper fix or where we decided they are rather potentially harmful in a Tor Browser context.

On the security side this release makes sure that SHA1 certificate support is disabledand our updater is not only relying on the signature alone but is checking the hash of the downloaded update file as well before applying it. Moreover, we provide a fix for a Windows installer related DLL hijacking vulnerability.

A note on our search engine situation: Lately, we got a couple of comments on our blog and via email wondering why we are now using DuckDuckGo as the default search engine and not Disconnect anymore. Well, we still use Disconnect. But for a while now Disconnect has no access to Google search results anymore which we used in Tor Browser. Disconnect being more a meta search engine which allows users to choose between different search providers fell back to delivering Bing search results which were basically unacceptable quality-wise. While Disconnect is still trying to fix the situation we asked them to change the fallback to DuckDuckGo as their search results are strictly better than the ones Bing delivers.

The full changelog since Tor Browser 5.5.5 is:
Tor Browser 6.0 — May 30

  • All Platforms
    • Update Firefox to 45.1.1esr
    • Update OpenSSL to 1.0.1t
    • Update Torbutton to 1.9.5.4
      • Bug 18466: Make Torbutton compatible with Firefox ESR 45
      • Bug 18743: Pref to hide ‘Sign in to Sync’ button in hamburger menu
      • Bug 18905: Hide unusable items from help menu
      • Bug 16017: Allow users to more easily set a non-tor SSH proxy
      • Bug 17599: Provide shortcuts for New Identity and New Circuit
      • Translation updates
      • Code clean-up
    • Update Tor Launcher to 0.2.9.3
      • Bug 13252: Do not store data in the application bundle
      • Bug 18947: Tor Browser is not starting on OS X if put into /Applications
      • Bug 11773: Setup wizard UI flow improvements
      • Translation updates
    • Update HTTPS-Everywhere to 5.1.9
    • Update meek to 0.22 (tag 0.22-18371-3)
      • Bug 18371: Symlinks are incompatible with Gatekeeper signing
      • Bug 18904: Mac OS: meek-http-helper profile not updated
    • Bug 15197 and child tickets: Rebase Tor Browser patches to ESR 45
    • Bug 18900: Fix broken updater on Linux
    • Bug 19121: The update.xml hash should get checked during update
    • Bug 18042: Disable SHA1 certificate support
    • Bug 18821: Disable libmdns support for desktop and mobile
    • Bug 18848: Disable additional welcome URL shown on first start
    • Bug 14970: Exempt our extensions from signing requirement
    • Bug 16328: Disable MediaDevices.enumerateDevices
    • Bug 16673: Disable HTTP Alternative-Services
    • Bug 17167: Disable Mozilla’s tracking protection
    • Bug 18603: Disable performance-based WebGL fingerprinting option
    • Bug 18738: Disable Selfsupport and Unified Telemetry
    • Bug 18799: Disable Network Tickler
    • Bug 18800: Remove DNS lookup in lockfile code
    • Bug 18801: Disable dom.push preferences
    • Bug 18802: Remove the JS-based Flash VM (Shumway)
    • Bug 18863: Disable MozTCPSocket explicitly
    • Bug 15640: Place Canvas MediaStream behind site permission
    • Bug 16326: Verify cache isolation for Request and Fetch APIs
    • Bug 18741: Fix OCSP and favicon isolation for ESR 45
    • Bug 16998: Disable <link rel=”preconnect”> for now
    • Bug 18898: Exempt the meek extension from the signing requirement as well
    • Bug 18899: Don’t copy Torbutton, TorLauncher, etc. into meek profile
    • Bug 18890: Test importScripts() for cache and network isolation
    • Bug 18886: Hide pocket menu items when Pocket is disabled
    • Bug 18703: Fix circuit isolation issues on Page Info dialog
    • Bug 19115: Tor Browser should not fall back to Bing as its search engine
    • Bug 18915+19065: Use our search plugins in localized builds
    • Bug 19176: Zip our language packs deterministically
    • Bug 18811: Fix first-party isolation for blobs URLs in Workers
    • Bug 18950: Disable or audit Reader View
    • Bug 18886: Remove Pocket
    • Bug 18619: Tor Browser reports “InvalidStateError” in browser console
    • Bug 18945: Disable monitoring the connected state of Tor Browser users
    • Bug 18855: Don’t show error after add-on directory clean-up
    • Bug 18885: Disable the option of logging TLS/SSL key material
    • Bug 18770: SVGs should not show up on Page Info dialog when disabled
    • Bug 18958: Spoof screen.orientation values
    • Bug 19047: Disable Heartbeat prompts
    • Bug 18914: Use English-only label in <isindex/> tags
    • Bug 18996: Investigate server logging in esr45-based Tor Browser
    • Bug 17790: Add unit tests for keyboard fingerprinting defenses
    • Bug 18995: Regression test to ensure CacheStorage is disabled
    • Bug 18912: Add automated tests for updater cert pinning
    • Bug 16728: Add test cases for favicon isolation
    • Bug 18976: Remove some FTE bridges
  • Windows
  • OS X
    • Bug 6540: Support OS X Gatekeeper
    • Bug 13252: Tor Browser should not store data in the application bundle
    • Bug 18951: HTTPS-E is missing after update
    • Bug 18904: meek-http-helper profile not updated
    • Bug 18928: Upgrade is not smooth (requires another restart)
  • Build System
    • All Platforms
      • Bug 18127: Add LXC support for building with Debian guest VMs
      • Bug 16224: Don’t use BUILD_HOSTNAME anymore in Firefox builds
      • Bug 18919: Remove unused keys and unused dependencies
    • Windows
      • Bug 17895: Use NSIS 2.51 for installer to avoid DLL hijacking
      • Bug 18290: Bump mingw-w64 commit we use
    • OS X
      • Bug 18331: Update toolchain for Firefox 45 ESR
      • Bug 18690: Switch to Debian Wheezy guest VMs
    • Linux
      • Bug 18699: Stripping fails due to obsolete Browser/components directory
      • Bug 18698: Include libgconf2-dev for our Linux builds
      • Bug 15578: Switch to Debian Wheezy guest VMs (10.04 LTS is EOL)

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

Tor 0.2.8.3-alpha is released

Tor 0.2.8.3-alpha 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.3-alpha resolves several bugs, most of them introduced over the course of the 0.2.8 development cycle. It improves the behavior of directory clients, fixes several crash bugs, fixes a gap in compiler hardening, and allows the full integration test suite to run on more platforms.

REMEMBER: This is an alpha release. Expect a lot of bugs. You should only run this release if you’re willing to find bugs and report them.

Changes in version 0.2.8.3-alpha – 2016-05-26

  • 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”.
  • Major bugfixes (security, directory authorities):
    • Fix a crash and out-of-bounds write during authority voting, when the list of relays includes duplicate ed25519 identity keys. Fixes bug 19032; bugfix on 0.2.8.2-alpha.
  • 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.
    • Stop downloading consensuses when we have a consensus, even if we don’t have all the certificates for it yet. Fixes bug 18809; bugfix on 0.2.8.1-alpha. Patches by arma and teor.
  • Major bugfixes (directory mirrors):
    • Decide whether to advertise begindir support in the the same way we decide whether to advertise our DirPort. Allowing these decisions to become out-of-sync led to surprising behavior like advertising begindir support when hibernation made us not advertise a DirPort. Resolves bug 18616; bugfix on 0.2.8.1-alpha. Patch by teor.
  • Major bugfixes (IPv6 bridges, client):
    • Actually use IPv6 addresses when selecting directory addresses for IPv6 bridges. Fixes bug 18921; bugfix on 0.2.8.1-alpha. Patch by “teor”.
  • 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 (testing):
    • Fix a bug that would block ‘make test-network-all’ on systems where IPv6 packets were lost. Fixes bug 19008; bugfix on tor-0.2.7.3-rc.
    • Avoid “WSANOTINITIALISED” warnings in the unit tests. Fixes bug 18668; bugfix on 0.2.8.1-alpha.
  • 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 (fallback directory mirrors):
    • Give each fallback the same weight for client selection; restrict fallbacks to one per operator; report fallback directory detail changes when rebuilding list; add new fallback directory mirrors to the whitelist; update fallback directories based on the latest OnionOO data; and any other minor simplifications and fixes. Closes tasks 17158, 17905, 18749, bug 18689, and fixes part of bug 18812 on 0.2.8.1-alpha; patch by “teor”.
  • Minor features (geoip):
    • Update geoip and geoip6 to the May 4 2016 Maxmind GeoLite2 Country database.
  • 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):
    • Remove a pair of redundant AM_CONDITIONAL declarations from configure.ac. Fixes one final case of bug 17744; bugfix on 0.2.8.2-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.
    • 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.
  • Minor bugfixes (client):
    • Turn all TestingClientBootstrap* into non-testing torrc options. This changes simply renames them by removing “Testing” in front of them and they do not require TestingTorNetwork to be enabled anymore. Fixes bug 18481; bugfix on 0.2.8.1-alpha.
    • Make directory node selection more reliable, mainly for IPv6-only clients and clients with few reachable addresses. Fixes bug 18929; bugfix on 0.2.8.1-alpha. Patch by “teor”.
  • 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, portability):
    • The SHA3 and SHAKE routines now produce the correct output on Big Endian systems. No code calls either algorithm yet, so this is primarily a build fix. Fixes bug18943; bugfix on 0.2.8.1-alpha.
    • Tor now builds again with the recent OpenSSL 1.1 development branch (tested against 1.1.0-pre4 and 1.1.0-pre5-dev). Closes ticket 18286.
  • 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.
  • Minor bugfixes (logging):
    • 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.
    • Stop periodic_event_dispatch() from blasting twelve lines per second at loglevel debug. Fixes bug 18729; fix on 0.2.8.1-alpha.
    • When rejecting a misformed INTRODUCE2 cell, only log at PROTOCOL_WARN severity. Fixes bug 18761; bugfix on 0.2.8.2-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 (relays):
    • Consider more config options when relays decide whether to regenerate their descriptor. Fixes more of bug 12538; bugfix on 0.2.8.1-alpha.
    • 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 (statistics):
    • We now include consensus downloads via IPv6 in our directory- request statistics. Fixes bug 18460; bugfix on 0.2.3.14-alpha.
  • Minor bugfixes (testing):
    • Allow directories in small networks to bootstrap by skipping DirPort checks when the consensus has no exits. Fixes bug 19003; bugfix on 0.2.8.1-alpha. Patch by teor.
    • 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.
  • 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.
  • Documentation:
    • Document the contents of the ‘datadir/keys’ subdirectory in the manual page. Closes ticket 17621.
    • Stop recommending use of nicknames to identify relays in our MapAddress documentation. Closes ticket 18312.

edited to add links to tickets. Please met me know if my script broke anything.

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

Android 安裝 squid proxy 的步驟

squidproxy
项目: https://github.com/squidproxy/
推特: https://twitter.com/squidgfw
G+社区: https://plus.google.com/communities/101513261063592651175
squidproxy 提供了squid技术的应用、部署、教育、培训等内容!
https://telegram.me/squidproxy

Android使用squid proxy教程
(感謝開發員abbot最全面的技術支持,萬分感謝abbot的無私奉獻!)
步驟如下:
(本文連接如下:https://www.evernote.com/shard/s560/sh/21e075eb-ca36-43cf-ac0b-b867cb72ad02/113072c56839fba63e7d5c46e53748e1)

1).安裝any connect。
方法:
a.建議Google play安裝anyconect of Cisco
b.從telegram安裝!下載後文件路徑如下:

2)下載證書文件:
3).添加vpn加載賬號及安裝證書:
3.1添加VPN連接。

   3.1.2>.配置VPN

3.1.3).由軟件~anyconnect 導入證書!

 

3.1.4.確認密碼與證書關聯!

3.2由系統證書管理導入!
設定->(系統)->安全->從設備存儲空間安裝->查找證書(文件名.p12)
->輸入證書密碼,捆綁證書!

4.連接vpn網路

****************************************

****************************************
@@@附加部分:
明天加入連接Tor部分,可以做到,直連,obfs4網橋,雲橋的順利連接和盡可能防範信息洩漏,解決替換證書的疑惑!

1.).強制系統使用Tor8118代理端口出站,防止數據按非代理路徑流出,達到防止洩漏的目的。(部分VPN使用該模式,會出現無法連接)

2.).firefox,Facebook,Twitter等均可強制使用Tor通道傳輸數據!

3.).各種tor模式(直連,雲橋,obfs4)運行傳輸完全沒任何異常!

原文: https://www.evernote.com/shard/s560/sh/21e075eb-ca36-43cf-ac0b-b867cb72ad02/113072c56839fba63e7d5c46e53748e1

安卓版: 无界一点通3.6b测试版(2016年5月28日)

无界一点通3.6b测试版,在3.6a的基础上,做了以下改进,请帮忙测试并反馈:

1. 修复电视模式下,勾选退出时清除历史记录会非正常退出的问题;
2. 新增标签页是空白标签页,而不是无界主页;
3. 增加‘停止键(X)’, 可以停止网页下载;
4. 取消左右滑动可翻页的功能;
5. 解决某些设备上看新唐人不能看全屏的问题;
6. 可能解决新唐人节目单在机顶盒上不能全屏显示, 需要移动光标才能看全的问题。(我们的测试设备没有此问题, 请原有此问题的用户帮忙测试)。

http://wujieliulan.com/download/um3.6b.apk

sha1:86c203222887fdbb99b13853e1efe2f772cbb54c
md5:e32ef55baff5ec307a91ff7b04c86b13

谢谢 !

**********************************************************************

无界一点通3.6a测试版做了以下改进:

1. 解决了一些手机上不能正常浏览一些网页的问题, 如:脸书(facebook)/youmaker/谷歌应用商店/谷歌搜索;
2. 解决了一些手机上不能正常看youtube的问题;
3. 允许用户选择下载文件夹;
4. 增加下载程度及通知;
5. 支持多标签浏览;
6. 增加“清除历史记录”选项;
7. 增加“禁止cookie”选项;
8. 增加浏览界面顶部的功能键, 方便浏览;
9. 看电视机听广播时不自动锁屏, 除非用户自己关掉屏幕;
10. 增强安全及联通能力。

谢谢!

—————–

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

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

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=21487.0

EasytimeTV.轻松玩Mac.科学上网的常识(6 – 8)预览


iOS 科学上网教程(6 – 8),介绍 Surge 的使用技巧;升级到 1.2 版之后的新功能;升级到 1.3 版之后代理服务器自动测速功能;还有 Lantern 、Shadowrocket、Proxifier 的介绍。
来源:https://www.youtube.com/user/EasytimeTV/videos

科学上网的常识(6):Surge [预览]

 

 

 

科学上网的常识(7):Surge的新功能 [预览]

 

 

科学上网的常识(8):备用方案 [预览]

 

原文:http://www.chinagfw.org/2016/05/easytimetvmac6-8.html

【翻墙问答】Whatsapp黄金版乃黑客陷阱切勿下载(视频)

 620

3月31日起,Whatsapp所有通讯会开始采用AES 256位元加密匙。而加密了的信息,Whatsapp主机不会存有任何副本,亦无法解密。Whatsapp将是世界其中一个最保密即时通讯软件。(维基百科图片)

【翻墙问答】如何设定Shadowsocks翻墙视频地址:http://www.rfa.org/cantonese/video?v=1_ccf0jk7p

问:最近有些人收到电邮,指Whatsapp推出了终极黄金版,又指很多名人都用这版本。到底这终极黄金版是真的给名人用,还是只是黑客用来偷窃资料用的木马?

李建军:一直以来,Whatsapp都是黑客们偷窃资料的目标,由于在Whatsapp全面改用点对点加密通讯后,黑客再难透过中间人攻击来偷取Whatsapp用户资料,因此,就以Whatsapp现时功能上的一些弱点下手,以电邮四处宣传所谓黄金版,主要目的就是在你Whatsapp应用程式上加设木马,藉此截取你和朋友之间的通讯。

因此,所谓终极黄金版并非由Whatsapp公司所推出,而是黑客的木马,如果你不幸安装了所谓终极黄金版,请立即删除,并且重新下载官方原装的Whatsapp软件。

由于所谓终极黄金版,并不能够通过苹果App Store的审查机制,因此,现时受终极黄金版木马困扰的人,都是使用Android平台的用户。如果你想用安全的Whatsapp版本,暂时只有Google Play或Whatsapp公司官方网页提供的版本称得上安全,由其他途径提供的版本,不论是终极黄金版,还是中国手机制造商提供的山寨应用程式商店,都是不安全的版本,切勿使用。

问:Tor协定已经用了一段时间,现时Tor的开发社群,正研究下一代Tor网络技术,提升翻墙能力,其中Tor地址的格式会有所改变,到底下一代Tor网络的地址的格式会有什么改变?这与翻墙又有什么关系?

李建军:应对中国当局越来越强的封锁,Tor开发社群根据去年的协定,全力开发下一代的Tor网络,其实为了实现全面随机化的分散数据传送要求,令当局难以阻止Tor协定的通讯,网址的长度由现时十六个英文字母或数字,加长到五十五个英文字母或数字,因此,在未来的Tor路由器软件,将需要处理相当长的一串网址。由于新一代Tor网络仍然在实验阶段,因此,现今一代Tor网址以及相关软件仍然会继续使用,而未来的Tor软件,亦会同时能处理新旧技术的通讯,直至第一代Tor技术完全被淘汰为止,相信完全淘汰现今一代的Tor通讯,并不会是这一两年会发生的事。

问:除了VPN和翻墙软件,越来越多人用Shadowsocks来翻墙,到底Shadowsocks是什么来的?而现时Shadowsocks用户端难不难用?

李建军:Shadowsocks的概念与VPN有点类似,也是一种用加密机制去掩盖实际通讯内容的方式,只不过Shadowsocks由于可以用很多不同的非标准协定,实际上像代理软件,多于VPN,但Shadowsocks支援的加密程度和机制,远比传统的代理软件来得多。

在Shadowsocks普及初期,需要用家自行兴建主机,因此,一般只是一些技术能力比较高的用户才用得起Shadowsocks,但今天已经有商家像卖VPN一样卖Shadowsocks主机户口,不少提供虚拟主机服务公司,亦有提供搭建Shadowsocks主机的服务,搭建Shadowsocks主机比以往容易得多,几个朋友要共享一个主机的流量都简单得多。而近来,亦有使用图像介面的Shadowsocks客户端软件出现,令设定Shadowsocks变成一个人人都负担得起的活动。现时在淘宝网等地方买Shadowsocks户口,唯一要担心控制主机那些人的背景是否可靠,会否有一些与中国公安机关合作的人营运这些网站。但海外亦有人卖Shadowsocks户口,可以考虑向海外背景清楚的人购买户口。

这次翻墙问答,会有视频示范如何自行设定Shadowsocks的客户端软件,成功翻墙上网,欢迎各位听众浏览本台的网站收看。虽然片段示范用Mac,但在Windows上使用方式都大同小异。

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

“翻墙”可能是一种手艺,如何传承,任重道远

新时代的防火墙像手术刀,精准迅速,直击命门。而“翻墙”未来可能变成一门手艺,如何传承,任重道远。


1987年,中国第一封电子邮件由中国兵器工业计算机应用研究所发往德国,标志中国成功接入互联网。邮件内容是:“Across the Great Wall we can reach every corner in the world”——穿越“巨墙”(长城),我们无处不及。与这封邮件几乎同龄的我,没想到生活中竟总离不开“墙”。在物理世界和虚拟世界中多次穿墙,也去过世界各处,看“墙”越筑越高,有时义愤填膺,有时啼笑皆非。仅以此文,记录“墙”边的一些见闻。

国家公共网络监控系统

国家公共网络监控系统,俗称中国网络防火墙(The Great Fire Wall of China,常用简称“GFW”或“墙”)。一般意义所説的GFW,主要指中国官方对境外涉及敏感内容的网站、IP地址、关键词、网址等的过滤。随着使用的拓广,中文“墙”和英文“GFW”有时也被用作动词,网友所説的“被墙”即指被防火长城所屏蔽。

2008年校园网:“连坐”惩罚


2007年,我进入这所XX理工大学。它特别吊诡的设定是,大一不能带电脑,大二考过国家英语四级的人才可以带电脑。就这样,2008年秋天,我终于正大光明地连上校园网。千兆比特级别以太网直入国家主干网,中国电信、中国教育网双通道。这个规格,算是极高的。网速之快,前所未见;可是,总有一些网站访问不了。但这些小细节,终究不影响同学们DotA(一款基于Warcraft的对战地图)的热情。

那个时候,我们愉快地上Google,查Wikipedia,学习西方先进科技。不时有好事者,会键入诸如“六四”、“胡萝卜”、“温度计”(网民用来形容胡锦涛与温家宝的指代用词)这样的神奇词汇,于是全校与Google失联十数分钟。每当到这个时候,室友们相视一笑,“哦,谁又撞墙了!”但打壶开水,泡一杯面,还不等吃完,就又可以Google了。

那个时候的“墙”就好像霰弹枪,火力充足,但瞄不太准。一枪下去,打一大片,总是搞得“城门失火,殃及池鱼”。

###墙如何运作? 一台机器要与互联网上的其他机器对话,需要一个IP地址,好比一个人需要身份证(ID),才能唯一标识一样。否则,你喊一句话,对方不知应该回话给谁。而IP地址的总量是有限的,就好比一个大小固定的蛋糕。美国入场早,切走一大块。接着列强瓜分。等到中国的时候,还剩下点面皮。而该理工大学在这轮“圈地运动”中,只得到2个IP地址,给全校数万师生共用。这下好了,一个IP后面几万人,究竟谁在干什么,从校外是看不清的了。早期的防火墙,只能粗糙地在IP级别上执行封锁,要管束,只能全盘封了整个学校的网络。但毕竟一所国家重点高校,不可能用这种方式来管理,但不封锁,又无法向监管部门交代。

墙早期对用户的“连坐”惩罚策略。制图:金秋枫


说到底,监管当局不乏能工巧匠,他们很快想出一个办法:封杀大约4千个连续的端口(Port)。如果我们把IP地址比作一栋房子 ,那么端口就是出入这间房子的门。不同于真正的房子只有几个门,一个IP地址的端口可以有65536(即2的16次方)个之多。端口在一定时期内是被内网的一个用户独占,于是数据包可以准确地回到始发地。不过,封一个端口不过瘾,只是撞墙者自己倒霉而已。试想,你好不容易把野马制服了,又会有一些原本安顺的良马变野,效果不佳。最好的办法就是让它成为害群之马,以做警示。所以,一旦内网某个用户登陆Google检索“敏感信息”,这意味着一个端口“撞墙”,“墙”就把接连着的约四千多个端口都封掉,令无辜群众也无法上网。这种断网的“连坐惩罚”短则几分钟,长则十几分钟,才能恢复服务。

2010年北京:合租服务器翻墙

3月,Google位于北京中关村的办公室楼下堆满了鲜花,网友以这种方式纪念因“遭受中国骇客攻击”和“网络审查”而决定退出中国市场的Google。

“墙”这个概念越来越清晰,也进入了更多人的视野。2009年,Facebook和Twitter相继被封,昭示着中国政府通过防火墙阻隔国际互联网,建立“局域网”的决心——“局域网”是中国网民对墙内状况的戏称。

“咱们合租一个VPS(Virtual Private Server)吧”,这是技术青年们见面经常谈到的话题,仅次于买房和买车。VPS即虚拟主机,向服务商租取一段时间使用权即可。以前,大家合租VPS,多是为了搭个博客,赶赶时髦。而现在,合租VPS,多是为了翻墙。

墙外丰富多彩的世界吸引着年轻人。制图:金秋枫


对这些年轻人来说,“翻墙”用Google检索最新资讯,使用垃圾邮件最少的Gmail,随时查询在线百科全书Wikipedia,通过Facebook、Twitter与同行保持密切的技术资讯沟通,就像呼吸一样自然。也有更多人翻墙是要选择不同服务器进行联网游戏,或下载最新的影视内容,“翻墙”就像玩猫和老鼠的游戏。

VPS如何帮你翻墙?

当你发一个数据包到Google或者Facebook时,防火墙可以直接识别目的IP地址而自动拦截。而前面提到的VPS,是虚拟主机,自己也有IP地址,但无公开记录其归属,难以确认是否是敌军。既然如此,我们把数据包先发到VPS,再由它中转到目的地,就成功绕开“墙”了。由于VPS的这种特性,它也被称作“跳板”。

“跳板”是所有“翻墙”技术的共通原理。制图:金秋枫


利用一个“跳板”绕过“墙”,正是许多翻墙软件的基本原理。曾经繁荣的翻墙软件“无界”、“自由门”,还有众多的“代理服务器”,包括后来更广泛应用的VPN(Virtual Private Network),都是借用跳板原理。VPN最早是用来帮助一个企业多地的办公室间互联,也可以让员工在异地进入公司内网,方便执行一些高权限的作业。这样一来,跨国公司天然就拥有了穿墙的隧道:数据包先发到海外办公室,再去向世界各地。所以,VPN也成了跨国公司员工翻墙的主流手段。

这年,我第一次用“ssh -D”(一行命令)翻墙。SSH可以让系统管理员连接上主机,进行远程操作。同时它相当于在客户端与服务器之间建立了一个隧道,所以也能传输其他的数据,包括“翻墙”流量。只要这台机器的IP不在墙的“黑名单”中,也就可以成功绕过墙的封锁了。对技术人员来说,买VPS是最简单且低成本的翻墙方法。即便一台VPS被墙,再买一台即可。一年几十美元的价格,合租下来非常便宜。

SSH协议可以建立“隧道”,成为技术人员“翻墙”的最爱。制图:金秋枫


2011-14年香港:“墙”成为一门显学

在Google、Wikipedia中文、Facebook、Twitter等全球流行网络应用被阻隔在防火墙之外后,中国大兴土木建设的“局域网”,这几年也初现雏形。

搜索用百度,邮箱有163/QQ,社交有微博/人人,购物用淘宝/京东,即时聊天用微信——各种互联网服务,墙内应有尽有。对大部分网民来说,翻墙成了越来越不必要的需求。而剩下的一小拨执着于翻墙的用户,以及全世界致力于研究“墙”的学者,他们见证了“墙”的升级,与之斗智斗勇,也从一些滑稽的表象,捕捉到“墙”发展的各种蛛丝马迹。

因“墙”不同的工作原理,越来越多的翻墙工具被开发出来。对“翻墙”这个行当来说,这是个百花齐放的时代。

解析邮件

2011年初,Gmail大规模延迟,这可能是生活在中国的很多“良民”第一次看到墙的影子。他们并不是Twitter、Facebook的忠实用户,对自由世界的“危险信息”也并不感兴趣,只是日常收发邮件,竟也撞墙。实测显示,Gmail与大陆服务商之间的邮件有不同程度的延迟,少则几个小时,多则几个星期。人们纷纷猜测,“墙”已经进化到开始解析邮件。

“墙”开始尝试解析墙内外邮件,终因负载太高,造成大规模延迟。制图:金秋枫


敏感词触发RST,偶尔需要“向内翻墙”

这几年,我在香港求学,当时因为研究需要,我要下载大陆某公司的中文词库,奇怪的是,无论使用何种工具,进度条总是停在70%的地方。后来分析发现,每次下载到这个位置的时候,系统就会收到一个“RST”包──“RST”是“Reset”(重置)的意思。这是一种特殊的数据包,当计算机收到这种包的时候,会重置一条网络链接。这个特点被“墙”广泛用来掐掉“不和谐”的网络链接。好比A和B正在打电话,“墙”想要掐断电话,和以前粗暴地摔电话机不同,“墙”对A说:“B挂你电话了”,同时又对B说,“A挂你电话了”,不明真相的两人就真的自己把电话挂掉了。敏感词触发RST,这种“墙”的工作机制,如今已是衆所周知。而这种监控与阻断是双向的,出入都可能撞墙。有时候在墙内需要翻出来,有时候在墙外需要翻进去。

通过“RST”欺骗通信双方,以阻断链接。制图:金秋枫


走出国门的DNS污染

DNS(Domain Name Service)即“域名解析服务”,功能好比是互联网上的电话簿。早期,仅通过IP来封锁服务的话,“墙”需要查看每个数据包,判断是否放行。但使用“DNS污染”技术,相当于直接给用户一个错误的“电话号码”,从源头就遏制了“不良通信”。值得注意的是,“DNS污染”这种强力武器,不仅能有效封锁国内网民对敏感内容的访问,还会连带影响其他国家。2012年,世界顶级网络通讯会议SigComm上,出现一篇匿名论文。论文发现,中国发动的“DNS污染”已经超越了国界。在测试了全球4万多个域名解析服务器后,他们发现其中26.41%的服务器受到了这种污染的影响,覆盖109个国家。

DNS污染。制图:金秋枫


近500个实体“哨所”

2012年,一组来自Michigan大学的研究者,对“墙”的位置进行了探测。他们发现,就像真实的长城并非连绵不断的,防火墙也并不是密不透风地“堵”在我们的“网络”上,而是一组散落各处的“哨所”,只有当发现威胁的时候,它们才用“RST”或“DNS污染”这样的方式进行干扰。截止2012年底,研究者总共探测到了近500个这样的“哨所”,在中国南方,部署数量头三位的省份为:广东(84个)、福建(29个)、湖南(28个)。

小插曲是,研究者把探测“哨所”的工具在GitHub(世界最大的开源代码托管服务)上开源发布后,引起了激烈的争论。一些人认为,此举会激怒“墙”的管理者,导致GitHub被封锁,影响墙内程序员学习交流,所以应该删除这样的代码仓库,“保持技术社区的纯粹”。另一些人,则认为翻墙是程序员的基本技能,表示不受影响,所以力挺该项目,并极力反对技术社区加入“自我审查”的行列。

深度数据包检测

2012年底,“墙”的总设计师、北京邮电大学时任校长方滨兴的研究团队曾发表论文“网络流量分类,研究进展与展望”,文章提到了多种使用机器学习进行“深度数据包检测”(Deep Packet Inspection,DPI)的技术。随后几年,这些先进的技术逐渐在“墙”上部署开来。

要理解“深度数据包检测”的威力,我们可以把数据包想像成一封信。“浅度”的数据包检测,就好像是看看信封上的发件人和收件人,即决定是否放行。这给“跳板法”留下可乘之机:我们先将信送到中间站(如虚拟主机VPS),再转发到目的地,就绕过检查了。“深度”的数据包检测,可以理解成对信件内容的探查──相比起暴力打开信封,这种基于机器学习的技术更具有艺术性。它并不实际解读数据包的内容,而是搜集周边信息,对数据流进行“肖像刻划”(Profiling)。举个例子,你用Google搜索时,网络上只会有文本和少量图片经过,数据量很小,并且是突发的;但用YouTube看视频时,就会有持续一段时间的大量数据流过。“墙”的监控也是基于这样的抽象指标,比如它监控到到间歇而细小的流量,便推断你不太可能是在用YouTube。将诸如此类的可参考指标放在一起,就组成当前数据流的一副“肖像”。把这个“肖像”与数据库里面已经存放的巨量“翻墙流量肖像”和“非翻墙流量肖像”做个比对,就可以相应归类了。如所有的机器学习算法一样,这种归类会误杀一些非翻墙流量,也会错放一些翻墙流量。但日积月累,“墙”观察的样本越多,准确率也就越高。

浅度与深度数据包检测。制图:金秋枫


2015年深圳:“墙”的疯狂进化

新时代的墙,像是手术刀,精准迅速,直击命门。

在深圳小住半年,我深刻感受到“数字围剿”的压力。随着2014年底,Gmail全面被封禁,墙进化迅速、部署增强,还配合行政措施打击翻墙势力。深度包检测的大规模部署、DNS污染的扩大、转守为攻的国家防火墙策略、ISP的深度合作——“墙”俨然是正规军,而翻墙的社区只能打一场场的游击战,越打越疲惫。

首先,是香港的学校专用VPN开始不好使了。据传,几种主流的VPN协议已经被“墙”破解,手段十分细腻:有时候连上VPN,可以使用Google搜索和Google Drive办公,但一旦链接YouTube或者Facebook,网络链接就立马被掐掉了。

紧接着,一系列政策出台:境外VPN需要备案。像Astrill等常用的商业VPN服务,迅速被封。

同时,“DNS污染”的范围与频度都扩大了。为了抵御“DNS污染”,我曾一度使用“DNSCrypt”——这个开源项目会加密客户端和服务器之间的通信内容,不被墙查探到。然而好景不常在,很快,“墙”将已知的DNSCrypt的服务器IP计入黑名单,这样连访问DNSCrypt的服务器也是需要“翻墙”了……有段时间,我依赖SSH+DNSCrypt翻墙。但这套组合拳,最终打在墙上只是手疼,而墙还是泰然自若。

更有甚者,一些二级ISP(不自建主干网,但提供社区宽带接入到主干网服务的ISP)参与了合作,封禁“非常用”的DNS地址。家庭宽带用户,只能选择ISP默认分配的DNS,或者一些“广为人知”的DNS服务器,如Google多年前提供的8.8.8.8(该服务器的IP地址)就是其中之一。“4个8”曾经是大陆网民用来抵御“DNS污染”的缓冲剂,但它使用普通DNS协议,很容易被攻击。社区很快发现,“墙”会选择性地污染8.8.8.8返回的结果。

“DNS污染”、“RST攻击”、“深度数据包检测”——“防火长城”的一套立体防御体系已经建成。从左到右,精准度逐渐加大,防御成本也逐渐加大。这个时候,不管使用什么VPN,最常见的现象是,翻墙几分钟后,网络延迟加大,进而链接被阻断,导致日常工作都不能正常进行。

“进攻是最好的防守”——2015年3月,国家防火墙突然转守为攻。这是一种与“防火长城”(Great Fire Wall,GFW)部署在一起的设备,网友戏称其为“大加农炮”(Great Cannon,GC)。经过3月初的一系列测试,“大炮”从3月中旬开始发动疯狂攻击,其首轮攻击的重点目标之一是GitHub上“greatfire”这个代码仓库。“greatfire”上集结了大量的翻墙工具与资讯,俨然一个巨大的“翻墙军火库”。“大炮”攻击目标的原理简单而有效:它会劫持跨越中国边境的流量,注入恶意脚本,向指定目标发动“DDoS攻击”。

DDoS

DDoS(Distributed Denial of Service,分布式拒绝服务),是一种通过巨大流量导致目标服务器不堪重负而下线的攻击手法。DDoS是一系列方法的统称,他们使用不同的技术,“大炮”所使用的流量劫持并注入恶意脚本的技术是一种比较新的形式。衡量一场DDoS攻击的能量,可以使用“峰值速率”。如2014年6月,香港的公民投票网站“PopVote”受到超过“300Gbps”的攻击,连提供网络支持服务的Google和Amazon都抵挡不住,宣布退出,最终服务商靠着全球网络服务业者联手,才维持“占中”公民投票持续进行。2015年7月,支持加密功能的即时通信软件Telegram受到超过“200Gbps”的攻击,受影响区域很快从东南亚蔓延到全球,导致大量用户无法通信。要知道100Gbps的流量有多大,可以想像同时在线点播两万部高清(720p)视频。也可以参考的一个数据,据CNNIC报告显示,截至2014年底,中国大陆的所有国际出口带宽总和为4100Gbps。

“墙”转守为攻的这一异常举动,是一个明显的信号,希望GitHub删除“有威胁”的代码仓库。最终,在巨大的舆论压力下,“大炮”停止了攻击。在墙的攻防体系中,“大炮”虽然不直接设防,但它对墙外的“反动势力”是一种威慑的的存在——必要的时候,随时可以出击。

墙的招式列表。大炮作为一种威慑的存在,以攻为守。制图:金秋枫


在“墙”的拼命围剿之下,传统翻墙手段逐一失效。原因很简单:主流方法都有特定的模式,逃不过基于机器学习的“深度包检测”技术。机器学习的准确性是随着样本增加而提升的,所以要逃离“墙”的围剿,就得把自己的流量伪装得不一样。海外专业VPN服务Astrill,以及国内的“曲径”、“红杏”等后起之秀,都是通过打造私有协议,来绕过检测。

在这种形势下,开源翻墙利器ShadowSocks被更多的人注意到,基于SS搭建的翻墙服务如雨后春笋一样出现。它的中文名为“影梭”,社区昵称为“SS”——这是一个由中国程序员发起的开源项目,主要开发者在墙内。

2012年4月,SS第一份代码提交;

2013年,SS完成主要开发;

2014年夏开始,由于墙的升级,SS受到社区更多的关注,进入高频升级的阶段;

……

ShadowSocks开发记录。


ShadowSocks提供的其实是一套框架,支持多种加密方式,可以监听不同的端口,只需要很简单的配置,就可以在客户端和跳板机之间建立一条隧道。这些特点,让SS成为“游击队员”们最喜爱的工具。作为一款“非主流”的工具,SS曾经是非常有效的翻墙手段。但从15年初开始,深圳的部分ISP已经部署针对SS的阻断系统——推测是基于同一套“深度包检测”技术。好在SS的参数衆多,随便调整一下,即可生成不同的“肖像”,令“墙”在观测不足的情况下,无法迅速动手。但随着时间推移,“墙”总会搜集到足够的样本。刚开始的时候,选一套SS的参数可以坚持几个星期,到后来,就只有几个小时了。但墙一天不倒,游击战就一天不停。换密码、换加密协议、换端口,如每天吃饭一样,逐渐变得规律。实在不行,就只有换IP了,即再买一个VPS。SS的高级玩家,会加入自己定制的加密模块,使得流量更隐蔽。总之,SS是一个开源项目,玩法多种多样,打游击的优势巨大。

2015年香港:遥看墙内围剿“造梯人”

还有太多重要的事情要做,不能将时间浪费在与“墙”无休止的游击战中——我决定搬回香港。

而墙内,一场密谋已久的围剿,终于显露。

2015年2月24日,24时。著名kindle电子书分享及讨论论坛“kindle人”在创建者被请“喝茶”后停站

8月20日,ShadowSocks作者在GitHub上关闭了相关项目的Issue面板并清空所有帮助信息,同时GitHub上“shadowsocks”组织的成员信息被隐藏。

8月21日,GoAgent(一款曾经主流的翻墙软件,托管在Google Code)的论坛上传出SS作者“被喝茶”的消息。

8月22日,ShadowSocks作者现身GitHub,证实“喝茶”,并删除了代码库。

8月25日,Google Code转为只读状态,GoAgent论坛散落。

8月25日,GoAgent托管在GitHub上的仓库被删。

8月25日,GitHub受到超过两个小时的DDoS攻击,攻击源目前不明。

8月26日,多处消息源显示,曲径、红杏等大陆多家VPN服务商受到直接或间接的压力,停止服务。

 

……

有哪些知名网站被屏蔽? 查看:维基百科

以前干掉的是制造和售卖梯子的人,现在连设计梯子的人也要干掉。

未来会如何呢?可以想像,大规模的VPN服务会消失;一些小规模的地下服务,继续运行。另一方面,翻墙工具链,势必会持续升级。

公开的成熟项目被封后,社区会衍生出不同变种,以适应“墙”的改变。特别是像SS这样的开放框架,稍作修改,又是一种玩法,无穷无尽。

但没了牵头的人,没了集中的论坛,知识传递的形式将会反古。

原本,互联网让知识可以扁平传递,现在“屠梯”行动恐将人们逼回“口耳相传”的模式。未来,“翻墙”可能是一种手艺,如何传承,任重道远。

(以上文章中的“我”并非本人,摘自互联网:X先生的亲身经历。)

GFW仍然不断的提升,我们能做到的是为言论自由,为畅游互联网而努力。截止2016年可使用的科学上网方式:

SS  VPN  HTTP/HTTPS/SOCKS5   TOR 

文/我毕竟不是神(简书作者)
原文:http://www.jianshu.com/p/199fde0b2bdd

金盾防火墙概述

对于在中国地区的人们来说,要能够自由的上网是非常麻烦的事情。许多人在连到国外网站时,常常会看到连线已重设或是作业逾时的错误讯息(图1、图2)。本文以中国金盾工程(注1)中的的防火墙(注2)为例,说明中国地区的翻墙(或称科学上网)方式,以及防火墙存在的意义。


图1、作业逾时错误讯息


图2、连线已重设错误讯息


原理


要了解翻墙,先要了解网路运作的方式,以及封锁的原理。网路运作是这样的。事实上,当你在浏览器中输入一个网址以后,浏览器就会先拿这个网址去DNS伺服器查询,找出IP。之后在连往IP,取得网页内容。而传输的过程,就是以封包的方式传递资料。如果容量大,就会切割成很多封包来传递。


我知道很多人对这边的描述不太有概念,所以在这边解释一下。浏览器浏览网站,其实就像去一个朋友家里搬东西回来放到面前给你看一样。要去朋友家,那么就要先知道朋友家的地址。通常我们很难记住那么长一串地址,怎么办呢?DNS就像问路的人一样。如果你不知道地址,那么就问DNS,他会告诉你正确的地址在哪里。如果DNS也不知道,他就会去找他的长官一层一层的问,直到问到位址为止。


根据上面的连线原理,金盾防火墙使用了三种不同的封锁方式。金盾防火墙就像警察一样,站在国内、国外网路的交接口。如果这个警察发现你要前往被封锁的地址,他会把你拦下来不给你过。或者是当你在问路的时候,故意报给你一个错误的网址。就算你好不容易找到资料搬回来,警察也会打开每个货物检查。如果在检查货物的时候发现是违禁品,就会没收货物。


这就是三种封锁方式。第一种就是封锁特定IP,第二种是DNS污染,第三种是封包窜改或丢弃(又称为丢包)。在错误讯息上,前两者浏览器会回应作业逾时(图1),第三种会回应连线被重设(图2)。


不过除了技术上的这三种,还有第四种:备案。在中国,每个网站在成立的时候都要向公安备案,负责人要拍照存证,而且内容也会随时被审核。如果网站出了问题,放上了不该出现的内容,公安会联络网站把东西撤下来。如果情节严重,还会直接逮捕网站负责人。在中国,政府也能管DNS的查询内容,因此如果浏览器问中国国内的DNS怎么找到Facebook,他会故意给你错误的IP地址让你连不到(第二种)。


中国政府在每个国外和国内的网路交界处都设立了检查站,国内的网路里也有随机抽查的检查站。这些检查站会检查每一个通过的封包。如果发现IP地址已经列入禁止访问的名单,这些检查站会直接丢弃封包,让你看不到网站(第一种)。如果你连上的网站有敏感词(回应的封包里有敏感词),那么检查站也会把这个回传的封包丢掉,并且阻止你前往那个网站三分钟(第三种)。三分钟之后,又可以正常连线了。


刚刚不是提到问路吗?有的人会说,既然国内的DNS不能问,那我去问国外的好了。但中国的检查站一旦发现了你问的网址是不允许问的,会故意把你问路的封包拦下来,换另外一个伪装的封包来给你错误答案。这个被称作DNS污染(图3)。


结果就是在中国,许多网站都难以访问。就算国外网站可以连,也会因为这些层层检查而连线缓慢。


 

图3:金盾防火墙的封锁方式



突破方式


突破方式其实不难。前面不是有个检查站吗?只要外头有个朋友可以帮你,其实很多东西就方便许多。首先,检查站只防止前往特定网站,你可以先连去别的网站,再从那个网站转往原本要去的网站。再来,为了避免检查站发现你的内容不合法,因此要先把这些内容伪装起来,让检查员不知道那到底是什么。这就是加密。这条路只要建立起来,就可以透过这条路直接询问国外的DNS,也能透过这条路去访问国外的网站了。别人也可以透过先连到你的电脑来突破封锁了(图4)。


从原理来看,我们就能了解目前的翻墙方式了。首先,你需要建立一条加密的连线,连到外面可以访问的一个中继站,再来从中继站前往其他的网站。这些连线方式很多,基本的是VPN,还有ssh加密、goagent等几乎也都是这种方式。


不过,有些加密连线的方式已经被中国政府破解了。像是L2TP、openVPN都已经不能用了。目前为止VPN的通讯协议里只有PPTP使用正常。其他还算正常的有ssh连线的方式。不过这些连线和协议的使用状况依据不同的运营商、不同的连线方式还是有不一样的限制。比如说,虽然ssh协议的连线还算正常,但如果发现传输速度过快,还是可能会把封包丢弃,或是强制降低连线速度。而防火墙也会对部份网站进行间歇性封锁,或是在特殊时期封锁特定网站。这些无法预测、烦不胜烦的阻扰方式才是防火墙令人讨厌的原因。


这边所提到的翻墙方式目前是可以运作的。中国现在的防火墙是只让你不能去访问有问题的网站,其他网站预设都是可以访问的。这被称做黑名单模式。如果变成只能访问没有问题的网站,也就是白名单模式,这条路就没有办法运作了。因为那些网站肯定是不会帮助你浏览其他网站的。这就是北韩所做的网路封锁。


关于更详细的原理,请参考后面所附上的《翻墙路由器的原理与实现》(注3)一文。


图4、翻墙破解方式



为什么要进行网路封锁?


大体而言,中国的网路封锁并不是真正让你没有办法看到外面的网站,而是提高获得外部讯息的成本。在这个网路时代,取得讯息是快速、方便又低成本的事情。一旦取得资讯需要花上大量的精力,就会降低许多人想要获得这些资讯的欲望。


而中国的金盾防火墙就是针对这一点。防火墙的存在不是为了“阻断所有资讯”,而是为了“提高资讯取得的成本”。只要提高成本,减少愿意取得“有害资讯”者的数量,他就已经成功了。金盾防火墙可以有效的阻止那些没有好奇心的人知道不该知道的东西,这些人才是防火墙真正的标的。人们会花时间去寻找游戏和影片,却很少有人愿意花心思、功夫去看一篇可能会改变自己想法的文章。因此虽然突破的方法只要有心就找的到,但对于没有好奇心的人来说,金盾就足以阻止他们的行动了。


防火墙分割了中国和外国的网路,也导致中国的网路文化和世界上其他国家的网路文化格格不入。许多有行动能力进行翻墙的人在第一次接触到外来的网路文化时,常常会因为文化冲突的缘故而不喜欢、甚至对外来思想产生反感。网路论坛上常见的中国愤青就是由此而来。能够放下身段、包容不同文化甚至接受不一样思想的人又更少了。


举个例子来说,中国的魔兽世界由于迟迟无法更新,因此大批中国玩家蜂拥至台湾的魔兽世界伺服器游玩。但他们来到台湾伺服器以后,往往就直接带来当地的游戏文化,甚至用语、说法完全不改,不懂的入境随俗,造成许多台湾玩家的不满。有的台湾玩家和中国玩家甚至在游戏的公共频道上互骂。在这种对中国玩家不友善的环境中,能够包容、接受不一样文化的中国玩家就更少了(注4)。


在行动力、技术能力、文化冲突的多重过滤下,导致能取得“有害资讯”的人数成等比级数的降低。再加上国内网站的关键字屏蔽、过滤,中国政府就能有效的控制那些异议者的数量。剩下来的异议者,只要单纯打为“反革命份子”、“异类”、“精神病”,就能控制他们思想的传递。金盾就像资讯的海关,可以用来保护“政府希望人民所相信的思想”。


中国的网路上又时常出现审查、删帖的讯息(图5)。这些网路警察的行为会先在人们心理中塑造出恐惧。你根本不知道自己的言论何时会受到审查,因此大多数人就会假定“自己的言论会被审查”。这会导致所谓的“自我审查”。自我审查的效果,比起网路审查的效果还来的巨大。有些台湾的新闻网站为了避免被防火墙给封锁,损失来自中国的流量,因此自我审查,过滤对中国不利的新闻,就是最好的例子。


图5、新浪微博的审查讯息(图片来源:微博 @平湖春晓)


恐惧把审查这件事情放大了许多倍。只要大家认为审查是存在的,审查的效果就出现了。这,也就是金盾防火墙的存在意义。(注5)


原文:http://billy3321.blogspot.jp/2013/06/blog-post.html

各种翻墙工具的个人浅见

前言

以前曾有一段日子旅居深圳,对GFW的理解和使用各种工具翻墙算是有点经验,
虽然多年前已回到墙外,但偶尔也须要进入匪区,故此还是保持了解各种工具,
就曾经搭建过或使用过的说说


目前还有效的工具

1) shadowsocks

   这个还是现在最热门的工具,暂时来说没听到大面积阵亡

   优点


   多平台,服务器可部署到由路由器到任何系统,版本众多,轻盈的
shadowsocks-libev
   可在64M/0 vswapLinux VPS运行,而不会跑不动。客户端也是多平台,路由器,

   计算机到移动装置,几乎涵盖所有系统,可以说是
install once, Fuck GFW everywhere
  
    缺点


    因为只使用预定密钥作为客户端和服务器的唯一辨别身份方式,有可能会遇上中间人

    攻击,客户端连上是伪造的目标服务器,在服务器方面的缺点更明显,因为只用预定

    密钥,于是错误的密码或加密方式服务器照样响应客户端的请求,只是不连接到目标

    网站,有无聊者用字典穷举密码,而不是拒绝联机,日志上就出现很多ERROR,我的最

    高万多个错误,共二百多个来自CNIP试着联机,shadowsocks-libev可以开启一次性

    认证,但很多客户端不支持,例如iOSSurge,A.Big.T都没有,变成无法使用这一方式

    ,如果写个脚本纪录日志的错误次数,达到某一数目调动iptables封锁,又会误伤填错

   密码的用户,或者是分配到被封的IP而连不上服务器。


    多用户无法简易控制用户访问的端口,一个人或三数好友使用时问题不大,但用户有

    一定数目时,如果有不良用户通过代理hack其他服务器的sshd,或者滥发邮件,端口扫

   描等等行为,有可能是收到VPS供货商投诉或封权才知道,要防止可能要设置复杂的

   iptables规则作限制,另外限制连接数也要用上iptables,例如要限制14701端口的连

   接数,你得输入,例如32

  
   iptables -A INPUT -p tcp –syn –dport 14701  \
   -m connlimit –connlimit-above 32 -j REJECT –reject-with tcp-reset

   这是shadowsocks-libev官网的举例,由于shadowsocks一端口一用户方式,

   如果有20个端口要输入20次或写脚本自动化,相当麻烦,也不是一般用

   户处理得了。


   结论


   还是推荐为首选搭建的工具,原因还是那个,轻盈,有效,多平台,不论低端VPS

   高端VPS都可部署,应对无聊人士穷举密码方式是设置16位以上字符长度的密码,不

   要理会就成,用命令随机产生比较难以破解的密码,例如
:

    head -c 512 /dev/urandom | md5sum | base64 | cut -c3-18

   每一端口配上不同密码


2) HTTPS/SSL 代理


   这个方式存在很久,暂时仍然有效


   优点


   通常以stunnel作为加密隧道,后端可自由配搭不同的代理,只要支持CONNECT方式

   的都行,我就搭建过配合squid3,3proxytinyproxy,这些后端已很成熟,能控制用户访

   问的端口,或是服务器接受的连接数,也可设置用户认证方式,计算机上无须使用客户

   端,现在大多数browser支持HTTPS代理,在一些限制严格的公司内,如不能下载安装

   软件,控制用户访问的网站,端口,可以购买商业用的SSL证书,设置用户认证,把

   代理设置在443端口,公司不能封这端口,只须在browser设置代理就能突破公司封锁,

   而且网管不知你去了那里。


   这个方式也是多平台,路由器刷了第三方韧体,例如Asuswrt-Merlin,又能扩展
entware
   环境,就可搭建服务器在路由器,使用的资源也不多,也可以设置stunnel为客户端连

   接服务器。移动设备也有支持,iosSurgeA.Big.T都有支援http with tls ,安卓也有

   tls-tunnelapp,只是不太好用。


  缺点


  部署麻烦,如果使用IP + 自签名证书,须要自己gen,同时要把证书导入browser或系统

  ,非常麻烦,而且据说GFW能分辨证书,会按照类型封杀服务器,据说现在还包括免费

   的有效证书,例如Letsencrypt ,通常商业不会用这些,不能混迹其中,危险性便

   增加了。

   另外有说SSL握手特征明显,GFW容易察觉,shadowsocks的作者
clowwindy
   就不建议使用SSL翻墙,
按我看原文
 
   个人浅见以数据安全和防止中间人攻击就高于shadowsocks,对于穷举密码的无聊人仕

   直接拒绝连接,有效得多,而且有网友使用还没见到大量被封。


   搭建成本高昂,为了比较难被封锁,除了VPS的费用,还要购买域名和证书,这无疑比

   较其他方式使费较多,使用域名连接一旦遇到DNS污染,还得修改hosts文件把域名指向

   IP抵御,如果封的是服务器IP,全部投资报销。


  结论


  我还是推荐搭建作为辅助工具,原因是少数用户使用我搭建的SSL代理至今还没有连接

  不上的报告,这些有用Letsencrypt证书或自签名证书,如果条件许可,请购买商业用的

  SSL证书配合域名搭建,可以混迹其中使GFW不会乱封,openvpn之所以失效就是特征

  明显,公司不会以这个协议的VPN作为数据安全信道,于是便大面积失效。使用这类

  SSL代理最好是三两好友算了,我经常怀疑GFW会根据加密连接数目主动检测是否翻墙

 ,为了长久翻墙,不要超过三个用户,最好自己私用。


  另外前端可改为较新的nghttp2 点我
 点我 据说速度惊人,但我未搭建过。

3) Cisco IPSec VPN

    目前算是很流行的VPN,暂时有效


    优点


    StrongSwan搭建服务器,多平台,由路由器到各种*nix系统都可搭建,客户端也是

    涵括各种系统,移动系统2大主流还原生支持,使用共享密钥配合用户认证,连客户

    端都不用安装,而且稳定性高,兼容性好,使用方便加设置容易,数据安全性高。这

    VPN协议为商业公司使用的方案之一,混迹其中可使GFW不敢乱封,当然在共匪开

    大会时会有严重干扰。


    缺点


    全局代理,不能分流,访问匪区网站时等如绕了地球一圈,多用户的时候难以防范不

    良用户,例如作为BT代理,hack其他服务器等等,如要限制有可能要设置复杂的规则

    ,限制用户访问的端口和下载的文件。


   搭建麻烦,单是那一堆iptables规则足够麻烦,使用固定端口,点我看官方论坛讨论

   这被封锁机会大增,现在是GFW无法检测关键词,而且是商业上公司常用VPN,才

   得以不死,据说GFWIT狗已着手研究检测IPSec VPN协议,以求检测到流量特征和

   关键词。


   小弟第一次搭建时看了多篇中英文教学,搞了两天才搭好,后来发现有人写了一键

   安装脚本,第二个服务器干脆用人家的脚本好了,免头痛 点我取得脚本


   结论


   一般我会在服务器搭建2种工具,shadowsocks-libev是主力,如果是用穷鬼级
NAT VPS
   ,就配上自签名证书+IPSSL代理,因为搭建不了IPSec,端口不能改,独立IP的正常

   VPS,则选择IPSec VPN 作为第二工具,以ss-libevIPSec配搭,使用资源不多,一枚

   openvz 128M/128 vswap vps已经足够有余,在iOS下会随时遇到奇怪的
shadowsocks
   客户端问题,这时较稳定的IPSec便会派上用场,对于使用iPhone的朋友,分享给他们

   使用,客户端不须要付款,不必下载,对于女性朋友,0技术更是恩物,只要截一张

   设置的图,她们就会使用。故此我是推荐搭建的选择方案之一。


4) Cisco AnyConnect VPN

    iOS装置上,未有shadowsocks客户端出现前,几乎是ifans的标配工具,目前还是有

    效,未闻有大面积阵亡案例。


    优点


    ocserv搭建,非常稳定,无论客户端还是服务器,可以分流,在iDevice下载了
Cisco
    Anyconnect 客户端,可以使用证书连接,也可以用户认证连接,或是两者相加,不同

    IPSec,端口可以自定,可用域名+有效SSL证书搭建,商业上公司常用VPN协议,据

    说是Cisco力推的VPN协议,混迹其中,GFW不敢乱封,我自己搭建了一枚,用域名加

    Letsencrypt证书,以用户认证登录连接,端口设在443,客户端也是多平台,由路由器

    vpnc客户端到任何主流系统都能使用


    缺点


    搭建困难,须有一定技术,这也是花了我不少时间搭建的货色(技术不好的原因),幸

    好有好人写好了一键安装脚本,如果不想头痛 点我免头痛
 ,第一次搭建时我自己手动
    搭建,重灌系统后使用上面脚本搭建,并自行配上letsencrypt免费证书取代自签名

    证书。速度不是特别出众,感觉上部署在同一服务器上的shadowsocks比它还快速。


    结论


    这也是推荐的辅助工具,在一个服务器上除shadowsocks外可考虑部署,可因应不同情

    况使用,在一枚openvz vps 128M/128M vswap 运行它与shadowsocks

    debian 7 x86下绰绰有余,耗用资源不多


5) gfw.press大杀器


    最新出品的工具,号称除白名单外,再也不能破解的协议,开发者是推特赵国劣绅石

    斑鱼大爷 @chinashiyu
 ,其官网是http://gfw.press ,这是他的github代码仓库

    优点


    确实非常稳定,我搭建了一枚在cloudatcost,顺便测试自己的脚本,有5位推友帮忙

    测试,多天正常使用,直到服务器挂了前都没有受到任何干扰,有测试用户连续

    使用10小时没有断线一次。

    附上推友@FWT_T_O_O
源码分析,后端自由配搭,相当灵活。

    缺点


    Java编写的程序,对VPS有一定要求,少于512M/512M vswapopenvz vps最好

    不要尝试,跑不动的机会极高。文档不足不利第三方开发和搭建,

    计算机系统客户端
外,移动系统只有安卓客户端iOS用户暂时无缘。
    部署并不十分困难,由于它只是一条类似stunnel的加密隧道,搭建的麻烦在于

    后端代理,如果是debian base 用户,或者可以试试小弟编写的简陋脚本
安装

    结论


    如果shadowsocks失效的话,小弟首选转战这个,再配搭HTTPS/SSL代理或

    IPSec VPN在计算机上和iDevice使用,有较强劲VPS的朋友,

    甚么虚拟方式的VPS也可以试试搭建,如果有高手志愿者以Python/C/C++等等

    较少资源改写,相信会火起来。


6) V2Ray

    这也是较新的工具,也是新一代配上混淆流量,躲避GFW流量特征检测,并且兼容

    shadowsocks协议的工具,部署它可除可使用V2Ray外,也可使用shadowsocks而无须

    另外安装 手册在这里
 v2ray project官方github代码仓库

    优点


    这个我部署了一个在低阶VPS上,后来因使用不常使用,且低阶VPS跑起来吃力,就

    把它删除了,搭建非常简单,在Linux VPS上以root执行以下命令就完事了


    bash <(curl -L -s https://raw.githubusercontent.com/v2ray/v2ray-core/master/release/install-release.sh)

    配置文件类似shadowsocks,如果有搭建ss服务器的朋友,很容易就会配置服务器文件,

    算是无痛转移,这个在搭建后测试期间相当稳定,也没有受到任何干扰或失灵。


    缺点


    gfw.press一样,对于VPS要求较高,由于以golang编写,官方建议一人使用VPS最少

    128M RAM,更多用户如此类推,2 vcoreVPS较能发挥速度优势,客户端暂时只有电

    脑系统,在移动装置只能使用兼容的
shadowsocks

    结论


    同样,如果shadowsocks失效,这也是我会转战的目标,配搭其他的工具,在计算机和移

    动装置使用,计算机上主力使用,移动装置使用IPSec,AnyConnectHTTPS/SSL代理,

    果网友的VPS够强劲,建议搭建一枚,即可使用v2rayshadowsocks两件工具,

    计算机和移动装置都可使用


7) lightsword

    nodejs编写的代理,客户端支持计算机和iOSiOS客户端售8元港币,

    官方github代码仓库


    优点

  
    小弟在一枚256/512 vswap openvz vps搭建过,并购买了iOS客户端测试,抱歉,完全

    没有发现有任何优势,大概是shadowsocknodejs改写版本,客户端并不兼容
SS

    缺点


    nodejs编写的程序,和Java一样,RAM Eater ,低阶VPS相当不利,功能上没有

    出彩的特点,用于混淆流量的加密只支持aes-128/192/256-cfb , 而没有较轻量的

    chacha20rc4-md5, 安卓没有客户端,iOS客户端售价便宜,

    本来是针对当时iosss客户端Surge,后者达到天价的$99美元,但随着

    shadowrocket,A.Big.T只售8元港币,这个优势也没有了,ios客户端到我删除之前,

    就只支持全局代理。

    服务器方面,以python shadowsock连系统70个连接只用3X RAM左右,但lightsword

    同一VPS相同条件下,已经使用80M以上内存,而且还不断增加,其实以前也是有

    shadowsocks nodejs版本,后来clowwindy停止开发,原因
 nodejs官方解释
    服务器没有UDP转发,没有一次性认证,没有轻巧的加密方式,官方文文件不全,配置

    描述文件在我删除服务器前没看见,我是把命令行参数写到脚本使用,唯一是搭建不

    难,官方有一键安装脚本,自行搭建只要安装了nodejs,以npm即可安装。

  
    结论


    在没有大改变之前,不建议搭建或使用。


8) shadowsocks-R

    号称根据shadowsocks弱点加以「改良」的版本,支持计算机客户端和部份移动装置,

    这是官方github代码仓库


    优点


    没有使用或搭建,说不出来


    缺点


    移动装置客户端支持不多,其他同上


    结论


    本人不会作出推荐或者不推荐的个人建议,作为用家未来也不会部署服务器或使用,

    如果网友有兴趣,自行往官网看手册文档,这里给出shadowsocksshadowsocks-R

    网络事件和安装脚本

    关于ShadowsocksRShadowsocks的安全性

    ShadowSocks协议的弱点分析和改进 #38

    GPL协议的违反 #28

    ShadowsocksR一键安装脚本

最后,这里并没涵盖所有工具,这些意见非常主观,而小弟也非IT人,只是普通用家
的个人体会,错误和偏见是绝对的,不须要用来参考,当作是笑话阅读最好,然后给
出「哦」一个字就可以了。

🙂

原文:https://victor-notes.blogspot.jp/2016/05/blog-post.html

翻墙问答:谷歌Chromebook如何翻墙+用Mac Linux Loader制作MacBook Air的Tails USB手指(视频)

用Mac Linux Loader制作MacBook Air的Tails USB手指视频地址:http://www.rfa.org/cantonese/video?v=0_mefm2wnf

问:有听众最近买了谷歌的Chromebook,但Chromebook好像没有翻墙软件可以用,到底有哪些翻墙软件,可以在Chromebook上运作?

李建军:其实ChromeBook并不适合翻墙,因为谷歌设计Chromebook的理念,就是电脑只会储存最基本的Linux作业系统,其馀软件都会在云端上运作。换言之,如果你的Chromebook并未连上互联网的话,根本什么软件都执行不了。而以中国当局对谷歌的敌视态度,Chromebook在中国接近得物无所用,机内安装的软件,大部分都因为中国当局封锁谷歌而无法运作。

现时在Chromebook实现翻墙有两个方法,第一个方法是使用Chromebook内置的VPN功能,现时Chromebook内置支援L2TP和OpenVPN技术的VPN,而设定Chromebook VPN的方法,与Linux作业系统上设定VPN的方法大同小异。这不论Chromebook用ARM晶片还是英特尔晶片都可以不用另行安装软件,只不过,中国当局现时封锁VPN都封得相当严,一旦VPN未能成功翻墙,你的Chromebook亦会翻不了墙。

另一个方法,那就是制作Tails的手指,在USB手指上启动Chromebook并在Tails上执行各类软件。由于Tails是一个专用来翻墙的Linux作业系统,那就解决了Chromebook不能翻墙的问题。只不过,并非所有Chromebook都可以用Tails作业系统,因为有部分Chromebook使用并非英特尔的处理器,而是ARM处理器。针对使用ARM处理器的Chromebook,有可能要寻求其他方法翻墙,但如果你的Chromebook是用英特尔处理器型号,那就大致上都可以用Tails来启动系统。

问:那我怎知道我的Chromebook是使用英特尔的处理器晶片?

李建军:一般而言,你的电脑标明用Celeron或Atom晶片,或电脑机身上贴有英特尔公司商标的型号,都是使用英特尔处理器晶片的型号,可以用Tails的启动手指利用Tails来翻墙。如果你的电脑标明使用其他牌子的晶片,又没有英特尔公司商标的话,就很大机会使用ARM晶片。如果你对你的电脑使用的晶片牌子有疑问,可以翻阅使用说明书,或原来的包装盒。

问:在之前都介绍过适合MacBook Air以外电脑的Tails安装手指制作方法,那如果MacBook Air又可以用什么软件来制作安装手指?

李建军:在MacBook Air上,并不可以用一般用来制作Linux启动手指的软件来制作Tails启动手指,这因为MacBook Air的EFI设计上作出一些改动,令大部分Tails启动手指或光碟都无法启动。
现时有一只免费软件,叫做Mac Linux Loader,可以很容易制作MacBook Air等可以启动的Tails或其他Linux作业系统的USB手指,包括不用对启动手指作为DOS兼容的格式化,就算用Mac的HFS+格式都能够成功启动,这集翻墙问答我们有视频示范如何制作手指,欢迎各位听众浏览本台网站收看。

问:除了Tails,还有什么翻墙专用的作业系统?

李建军:除了Tails,还有一个叫Whonix的作业系统,同样以大幅修改的Linux作业系统搭配Tor来翻墙。但Whonix与Tails不同在于,Tails是一个独立运作的作业系统,但Whonix是专为虚拟机而设计,安装在Mac、Windows或Linux下的虚拟机器,藉此达致保障私隐和翻墙的要求,亦由于在虚拟机器下运作,因此这个作业系统的硬件系统要求比较高,在安装程序上亦相对比Tails来得麻烦,因为这是作业系统中的作业系统。但对于部分人而言,这也是安全的作业系统,除了可以翻墙外,只要删除了整个作业系统影像档,一切就灰飞烟灭。而且,这亦避免了部分中国公司推出的防毒软件蓄意将翻墙软件,甚至Tor软件当成病毒,不断暗地删除甚至阻止安装翻墙软件的问题。

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

Docker + DigitalOcean + Shadowsocks 5分钟科学上网

春色满园关不住,一枝红杏出墙来。
– 科学上网办

5分钟?就能科学上网?!!!!
有人肯定要说我标题党了,
如果你已经有一个 DigitalOcean(以下简称 DO) 账号或者 一个 VPS,
5 分钟已经算多了。
不信你自己掐表算,不废话,上教程。

PS:

  • 因为这是给对服务器不熟悉的新手写的教程,像应该创建独立用户而不是使用 root 操作等涉及服务器安全的问题不在讨论范围内。有兴趣的可以自行Google, 因为看完此文你已经能科学上网了。^^
  • Q: Shadowsocks 的安装已经足够简单了,为什么要用 Docker?
    A: 再强调一次,写这个教程的时候,我的假想读者是对 OPS 所知甚少、对科学上网有强烈需求、又想自己折腾一番的初级电脑使用者。在一台全新的主机安装 SS?谁能保证安装过程不会出错?而 Docker 开箱即用,出错率更低。当然还有一个原因,我是强迫症,喜欢 Docker 没道理,也想让更多人认识 Docker.

你需要准备

  1. DO 账号
    利益相关:DO 有一个 Referral Program,
    用我的小尾巴注册 DO 会马上送你 10 刀,
    > 我的小尾巴,
    10 刀相当于可以免费使用 2 个月,当然你可以无视我。

  2. Shadowsocks for OSX 客户端
    本文以 Mac 平台客户端为例,SS 有各个平台的客户端 (传送门)
    ,具体使用不再赘述,请自行搜索。

更新:有朋友反映 Shadowsocks for OSX 给的下载链接不能访问,看来 Sourceforge 也被认证了,提供一个网盘链接给大家:ShadowsocksX-2.6.3.dmg 百度网盘

服务端配置

创建一个 Droplet

  1. 填上 Droplet 名字
  2. 选择一个 Size

  3. 选择 Region

    本人亲测,电信用户选择旧金山速度最快最稳定。

    Ref: 
    知乎:DigitalOcean 选择 Region 的问题?

  4. 选择 Image

    这里选择 Docker

  5. 添加 SSH keys (可选)

    不想每次连 SSH 都输密码的建议还是添加,我这里已经添加过就不再详细说明了。

  6. 点击创建,等待一分钟左右,一台已经装有 Docker 的服务器就已经创建成功,顺便记下 ip 地址。

安装 Shadowsocks

  1. 首先先连上刚刚创建好的主机

    打开『终端』,输入:

    1
    ssh root@ip地址 #没记下 ip 地址的可以去 DO Droplets 页面找到

    如果你添加了 SSH keys 的话,直接就可以连上不需要输密码,
    如果你没有添加的话,DO 会通过邮件把密码发送给你,你只需要输入密码就可以连接上主机。

    看到这个界面的证明你已经连上主机。

  2. 接下来安装 Shadowsocks (以下简称 SS)

    现在就是见证 docker 的强大之处的时候了,安装 SS 你只需要:

    1
    docker pull oddrationale/docker-shadowsocks

    完成后再输入:

    1
    docker run -d -p 1984:1984 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1984 -k paaassswwword -m aes-256-cfb

    上述命令中得 paaassswwword 就是等下配置客户端需要的密码,你可以换成你自己的密码。

    现在来检查一下 SS 有没有安装成功了:

    1
    docker ps

    如果你看到 STATUS 是 up 的话,服务器端已经配置成功,你可以断开 SSH 回到你的本机。

    1
    exit

    至此服务端就已经配置好了。

客户端配置

以 Shadowsocks for MAC 客户端 为例,安装好后添加服务器配置:

填上 ip 地址,端口,密码,密码就是刚刚的 paaassswwword,保存后现在回到浏览器,打开Youtube, 你已经在科学上网了。

Ref: Shadowsocks for Mac 帮助

大功告成。是不是 5 分钟都多余了?有任何疑问请留言。

原文:http://liujin.me/blog/2015/05/27/Docker-DigitalOcean-Shadowsocks-5-%E5%88%86%E9%92%9F%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/

DigitalOcean搭建Shadowsocks服务

自己搭建服务器进行科学上网的最佳操作指南。

作者:生命壹号

原文链接:http://smyhvae.com/20160516/

博客园链接:http://www.cnblogs.com/smyhvae/p/5501734.html

前言

这两年的主流梯子基本围绕着 Shadowsocks 做文章,目前来看相对稳定。

要使用 Shadowsocks 一般有两个办法,各有利弊:

  • 购买商家搭建好的完整服务。优点是相对便宜,不用自己折腾,随买随用。缺点是无法个性化配置,网络稳定性受服务商影响时好时坏,没准哪天还跑路了。

  • 自己租用海外云主机搭建。优点是独享带宽,可配置性强。缺点是相对较贵,且需要自行挑选适合自己网络情况的云主机,自行搭建。

第二种方式除了上面所说的优点之外,还能结合微林的服务实现国内跳板,大幅提升访问速度并减少丢包率,所以这是我现在所采用的方法。

VPS推荐:DigitalOcean

Shadowsocks的正常使用需要服务端,其实所有的翻墙方式都需要服务端,搭建服务端需要你拥有一个属于自己的VPS。个人推荐DigitalOcean。

DigitalOcean 注册地址(使用本链接注册的账户,你我都会到账 10 美元,可使用两个月)。使用前请记得使用 PayPal 充值($5)以激活账户。

DigitalOcean各节点测试域名:

San Francisco: speedtest-sfo1.digitalocean.com

新加坡: speedtest-sgp1.digitalocean.com

New York: speedtest-ny1.digitalocean.com

Amsterdam: speedtest-ams1.digitalocean.com

英国伦敦: speedtest-lon1.digitalocean.com

备注:

可能有些人会选择购买阿里云服务器(香港或美国地区)作为vps。这种方法也可以实现翻墙,但并不推荐。原因:所谓术业有专攻,阿里云主机适合纯粹用来托管博客或作为门户网站,以及平时自己折腾的一些小应用。要翻墙的话,阿里云的网络还是不如国外这些专业优化的。

创建一个 VPS

  1. 进入 DigitalOcean 控制面板,点击右上脚的Create Droplet

  2. 选择系统(CentOS 7.0 x64)、套餐(选最便宜的 $5/mo)、节点选美国的San Francisco或新加坡Singapore(貌似Singapore的丢包率更少)

  3. “Select additional optins” 保持默认;

  4. “Add your SSH keys” 根据自己需要,这里不添加的话可以在创建完之后自己手动添加,暂时可以不用管;

  5. 根据自己的需要修改 hostname;

  6. 点击 “Create” ,VPS 就创建成功了。你的注册 Email 会收到 VPS 的 IP 和 ROOT 密码。

注册完毕后,你的注册邮箱里会收到VPS的IP地址和root密码。DigitalOcean在首次登陆VPS的时候系统会提示你修改密码,输入一次原密码后,连续输入两次新密码就OK了,DigitalOcean默认SSH端口为22,用户名是root。使用Xshell或者putty进行远程登陆即可。

配置 Shadowsocks 服务

安装Shadowsocks 和 Supervisor

输入如下命令:(出现确认提示的时候,输入 y 后,回车即可)

1
2
3
4
5

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

这样 Shadowsocks 和 Supervisor 就已经安装好了。(Supervisor 是一个进程管理工具,详情见Supervisor基础

配置 Shadowsocks

执行如下命令:

1
# vi /etc/shadowsocks.json

复制以下内容到文件 /etc/shadowsocks.json 中(请自行修改 server_port 和 password,其他参数不用改):

1
2
3
4
5
6
7
8
9
10

{
"server": "0.0.0.0",
"server_port": 5080,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "123456",
"timeout": 500,
"method": "aes-256-cfb",
"fast_open": true
}

配置文件说明:

server 服务端监听的地址,服务端可填写 0.0.0.0

server_port 服务端的端口

local_address 本地端监听的地址

local_port 本地端的端口

password 用于加密的密码

timeout 超时时间,单位秒

method 默认 “aes-256-cfb”,建议chacha20或者rc4-md5,因为这两个速度快

fast_open 是否使用 TCP_FASTOPEN, true / false(后面优化部分会打开系统的 TCP_FASTOPEN,所以这里填 true,否则填 false)

配置 Supervisor

配置 Supervisor 是为了方便管理 Shadowsocks 进程。

执行如下命令:

1
# vi /etc/supervisord.conf

用方向键将光标调整至文件尾部的空行处,然后一次性复制下面的内容:

1
2
3
4
5

[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root

添加服务并启动 supervisord:

1
2
3

# systemctl enable supervisord
# systemctl start supervisord
# supervisorctl reload

到此 Shadowsocks 已经在 CentOS 7 x64 下安装配置成功,重启服务器使服务生效:

1
# reboot

此时,你的VPS重新启动,服务端已经完全配置完毕,此时远程连接已断开,关闭即可(不是报错)。

结束以上部分,登陆ShadowSocks客户端,就可以正常使用 Shadowsocks 服务了。

微林 VnetLink(SS 跳板服务)

如果走移动的网,出国带宽比较给力(8M左右),但是网不稳定,因此大部分时间还是得走电信的网。

但是因为我的Shdowsocks部署在DigitalOcean 的SGP机房,电信的网虽然稳定,但是直连DigitalOcean SGP跑到1M都有压力,虽然说基本的搜索服务还是可以满足,但是如果要看Youtube的720p、1080p等,还得找方法优化一下网速的想法。

为了解决观看高清视频卡顿的问题,我购买了微林的 vxTrans 服务,从这个邀请链接注册,咱们每人新增 5GB 流量

vxTrans就是网络优化服务,其实就是一个转发流量的服务,总共可以走七条线路。

注册完成之后,操作如下:

(1)在设置选项里勾上 vxTrans,其他可以不勾。

(2)目前微林创建连接点时需要先验证目标主机,详见https://vnet.link/service/vxtrans/index授权列表的提示,按照提示进行授权操作。授权成功后,授权列表中会出现服务器的ip地址。

(3)在这里新建一个连接,目的地址填你的 SS 服务器地址,目的端口填你的 SS 服务端口,我用的是中国电信的网,所以入口地址选 China Telecom (即CN2),名称随便起。

(4)连接建立成功后,会生成一个新的入口地址和新的入口端口。打开你平时连接 Shadowsocks 的客户端,把 服务器地址 改成新的入口地址 ,把服务器端口改成 新的入口端口,密码不用变。然后连接就好啦!

测试一下,恩~ 果然速度飞起,可以直接连电信国际精品网,访问国外的没有被墙的网站也很快(已经被墙了的还是要走Shadowsocks),看youtube的1080p更是毫无压力。

如果速度不理想,可以在第三步可以尝试选择不同的入口地址试试。

进阶答疑

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

DigitalOcean:VPS控制面板里,Destroy,Rebuild。

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

DigitalOcean:删除原来的,新建一台你想要机房的VPS,需要重新搭建Shadowsocks服务端。

参考链接

我的「云」账单

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

DigitalOcean 搭建 Shadowsocks 服务和优化方案

新公司入职我折腾「科学上网」的那些事



原文:http://smyhvae.com/20160516/

翻墙问答:如何启动“手指” 安装Tails?(视频)

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

问:在介绍Tails作业系统时,有提及用Windows或Mac程式就可以制作安装手指,究竟是怎做?

李建军:其实Tails作为可以提供USB启动功能的Linux作业系统,可以用市面用以制作USB Linux启动手指的程式,利用Tails的ISO影像档去制作启动手指。

这次翻墙问答,我们会有视频示范如何制作USB启动手指,用作进行Tails的安装程序,欢迎各位浏览本台网站收看。

问:Tails作业系统的安装手指,在绝大部分PC机上启动都没问题,但在苹果MacBook Air以及MacBook就特别麻烦,原因何在?

李建军:虽然苹果电脑都是用EFI去管理启动功能,亦是用英特尔处理器,但由于苹果公司在MacBook Air和MacBook的EFI设计上作出了改动,因此,Tails的标准ISO档所制作的USB手指,有可能无法成功启动系统。在这个情况下,就要Mac Linux Loader去制作相关手指。我们会在下一集,教导如何使用Mac Linux Loader,去制作在部分Mac机上的USB启动手指。

至于MacBook Pro、iMac以及Mac Pro,由于他们的EFI并无太大改动,因此,未见有Tails安装手指出现启动失败的问题。

问:其实Tails作为Linux的一种,有没有可能利用Tails去建立主机?

李建军:Tails作为Linux的一种,加上适当的程序,其实是可以作为主机使用,包括用以作在USB手指上运行的网页主机,甚至向其他人提供翻墙上协助的主机等等。但由于Tails上建立主机的技术尚待研究,仍然未非常稳定,而且涉及相关多的技术细节,在翻墙问答上就不方便多加介绍,但有兴趣的听众可以翻墙到Tails计划的网站,研究Tails网站上提供的英文文件。

问:最近有外国黑客发现,中国有公司出产的ARM处理器有后门,黑客很容易就能取得系统的控制权。到底这次是哪一间公司的处理器出问题,而有关问题容易堵塞的吗?

李建军:这次是全志公司的H3、H8和A83T系列晶片出问题,这系列晶片主要用于电视机顶盒、入门级手机以及平板电脑之上,部分廉价自行组装小电脑,亦因使用全志公司晶片而受到影响。这次系统出现漏洞,因为晶片生产商出厂前并无关闭除错功能,令黑客只要向晶片上存留的除错程序发出指令,就能控制整个系统。由于这是处理器出现问题,暂时除了使用H3晶片的FriendlyARM公司向客户提供代码,试图以软件方式堵塞漏洞外,暂时未有其他使用全志公司晶片的公司,有向客户提供任何软件去堵塞漏洞。

如果你发现你的手机或机顶盒使用受影响的处理器,你唯一选择是换机,因为相关的黑客代码已经在世界各地广为传播,黑客要写恶意代码入侵你的手机或机顶盒易如反掌。而平板电脑,亦尽量避免接上互联网,只能局限在离线使用,才能确保安全。

问:现时越来越多手机生产商用中国公司生产的廉价处理器,这个会对听众带来怎样的威胁?

李建军:虽然这次全志公司的漏洞是意外,但亦不排除中国当局要求处理器生产商留有后门,方便公安部门遥控目标人物的手机,甚至利用后门关闭手机的翻墙功能。因此,如果你用廉价的Android手机,或使用ARM处理器的器材的话,就要有心理准备面对来自中国制处理器晶片带来的保安问题。如果要确保自己能够翻墙成功的话,就有可能要避免使用廉价的Android手机或平板电脑,因为无人知道廉价的手机和平板电脑所使用的处理器是否安全可靠,不会有后门。

原文:http://www.rfa.org/cantonese/firewall_features/firewall-tails3-05132016075748.html?encoding=simplified

翻墙神器–开眼–史上操作最简单最快速稳定的谷歌Chrome科学上网插件

     最近突然迷上美国的脱口秀节目《艾伦秀》,Ellen的轻松幽默和吐槽恶搞无底线简直让人欲罢不能,无奈爱奇艺更新太慢,每次跟美国的播出日期迟了近两周才上线,等得我心累啊,无奈中听到有朋友说可以去youtube上,说播出当天就更新了,赶紧输入网址。。结果大家也都知道,哒哒。。你所输入的网址无法打开。。心碎中发了个朋友圈吐槽天朝,结果另一技术大牛的老同学看到后马上给我传了一个神秘的CRX结尾的文件,带着诡异的表情说:试试,马上就能上。

     半信半疑中按照同学的指导,你猜怎么着,没想到一分钟之内就装好了,而且马上就能上到youtube看到ellen show了,嘿,速度还挺快还不卡,稳定,哈哈,好东西怎么能独享呢,所以最懂得分享的我就给大家分享这个叫开眼的谷歌chrome科学上网插件哈。

     首先呐,大家得装一个谷歌chrome浏览器,当然这个开眼插件是支持谷歌chrome、360浏览器、猎豹浏览器,百度浏览器等webkit核心的浏览器,不过呐还是谷歌chrome相对最稳定,装好后打开,然后看下图找到扩展程序这一栏,然后将开眼CRX的文件拖到这里面,点击添加扩展程序就OK啦。



添加好后在右上角可以看到一个眼睛一样的图标,点击然后就看到开眼的本体了,哈哈,然后注册不用我教了,是个人都会,注册好后马上登陆哈。

 


登陆后你会在界面中部看到3个按钮,智能,一直和关闭,智能是你打开国外网站时候会默认翻墙,而看国内网站时候则不翻墙,这样避免在看国内网站时候也翻墙会搞得很卡,是不是很人性化;而一直就是一直是翻墙状态,而且速度也是最稳定的,还有关闭就是关闭翻墙状态了,亲们都学会了么


而且用开眼翻墙后不光是youtube打开神速,谷歌google,facebook,twitter,instagram等等海量国外网站都能快速稳定打开,而且操作超简单,再也不需要去搞什么youtube代理,facebook代理之类的麻烦事了。

 


另外偷偷告诉大家一个秘密,现在开眼是免费的哦,至于什么时候收费,我就不太清楚了,趁着免费赶紧用哈哈,好了不多说了我去看我的ELLEN去了,祝大家用开眼开心自由科学上网,多看看外面的世界哈哈。

 

重要的事情说三遍,目前还是,免费,免费,免费

百度下载地址:http://pan.baidu.com/s/1boKW4eb密码: n67d

开眼(谷歌市场下载地址):

https://chrome.google.com/webstore/detail/%E5%BC%80%E7%9C%BC/kpamljbkjaaljbcgobdealnpalcgicna?hl=zh-CN

L2TP/IPSec一键安装脚本

本脚本适用环境:
系统支持:CentOS6+,Debian7+,Ubuntu12+
内存要求:≥128M
更新日期:2016 年 05 月 09 日

关于本脚本:
名词解释如下
L2TP(Layer 2 Tunneling Protocol)
IPSec(Internet Protocol Security)
IKEv2 (Internet Key Exchange v2)
能实现 IPsec 的目前总体上有 openswan,libreswan,strongswan 这3种。
libreswan 是基于 openswan 的 fork,所以现在各个发行版基本已经看不到 openswan 的身影了。
当然也有使用 strongswan 的。

之所以要更新 L2TP 一键安装脚本,是因为随着各个 Linux 发行版不断推陈出新,原有的脚本已经不适应现在的需求。
本脚本通过编译安装最新版 libreswan 来实现 IPSec(CentOS7 下则是全部 yum 安装),yum 或 apt-get 来安装 xl2tpd,再根据各个发行版的使用方法不同,部署防火墙规则。

写在前面:
基于 OpenVZ 虚拟化技术的 VPS 需要开启TUN/TAP才能正常使用,购买 VPS 时请先咨询服务商是否支持开启 TUN/TAP。
纠正:OpenVZ 虚拟的 VPS 需要系统内核支持 IPSec 才行。也就是说,母服务器的内核如果不支持的话那就没办法。
如何检测是否支持TUN模块?
执行命令:
cat /dev/net/tun
如果返回信息为:cat: /dev/net/tun: File descriptor in bad state 说明正常
如何检测是否支持ppp模块?
执行命令:
cat /dev/ppp
如果返回信息为:cat: /dev/ppp: No such device or address 说明正常
当然,脚本在安装时也会执行检查,如果不适用于安装,脚本会予以提示。

使用方法:
root用户登录后,运行以下命令:

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh
chmod +x l2tp.sh
./l2tp.sh

执行后,会有如下交互界面

L2TP

Please input IP-Range:
(Default Range: 192.168.18):
输入本地IP段范围(本地电脑连接到VPS后给分配的一个本地IP地址),直接回车意味着输入默认值192.168.18

Please input PSK:
(Default PSK: teddysun.com):
PSK意为预共享密钥,即指定一个密钥将来在连接时需要用到,直接回车意味着输入默认值teddysun.com

Please input Username:
(Default Username: teddysun):
Username意为用户名,即第一个默认用户。直接回车意味着输入默认值teddysun

Please input teddysun’s password:
(Default Password: Q4SKhu2EXQ):
输入用户的密码,默认会随机生成一个10位包含大小写字母和数字的密码,当然你也可以指定密码。

ServerIP:your_server_main_IP
显示你的 VPS 的主 IP(如果是多 IP 的 VPS 也只显示一个)

Server Local IP:192.168.18.1
显示你的 VPS 的本地 IP(默认即可)

Client Remote IP Range:192.168.18.2-192.168.18.254
显示 IP 段范围

PSK:teddysun.com
显示 PSK

Press any key to start…or Press Ctrl+c to cancel
按下任意按键继续,如果想取消安装,请按Ctrl+c键

安装完成后,脚本会执行 ipsec verify 命令并提示如下:

If there are no [FAILED] above, then you can connect to your
L2TP VPN Server with the default Username/Password is below:

ServerIP:your_server_IP
PSK:your PSK
Username:your usename
Password:your password

If you want to add users, please modify
/etc/ppp/chap-secrets and add it.
Welcome to visit https://teddysun.com/448.html
Enjoy it!

如果你要想增加用户,有以下命令可以操作用户:
./l2tp.sh -a 新增用户
./l2tp.sh -d 删除用户
./l2tp.sh -l 列出所有用户
./l2tp.sh -h 帮助信息

其他事项:

1、脚本在安装完成后,已自动启动进程,并加入了开机自启动。
2、脚本会改写 iptables 或 firewalld 的规则。
3、脚本安装时,会即时将安装日志写到 /root/l2tp.log 文件里,如果你安装失败,可以通过此文件来寻找错误信息。

使用命令:
ipsec status (查看 IPSec 运行状态)
ipsec verify (查看 IPSec 检查结果)
/etc/init.d/ipsec start|stop|restart|status (CentOS6 下使用)
/etc/init.d/xl2tpd start|stop|restart|status (CentOS6 下使用)
systemctl start|stop|restart|status ipsec (CentOS7 下使用)
systemctl start|stop|restart|status xl2tpd (CentOS7 下使用)
service ipsec start|stop|restart|status (Debian/Ubuntu 下使用)
service xl2tpd start|stop|restart (Debian/Ubuntu 下使用)

更新日志
2016 年 04 月 18 日更新
1、目前在 Debian 7 上测试的结果,因为 libnss3 和 libnspr4 的版本过低而导致编译 libreswan 失败。临时解决办法是 dpkg 安装 libnss3_3.17.2 和 libnspr4_4.10.7 的 deb 包后重试
参考链接:https://libreswan.org/wiki/3.14_on_Debian_Wheezy

2016 年 04 月 19 日更新
2、修复了在 Debian 7 下因为 libnss3 和 libnspr4 的版本过低而导致编译 libreswan 失败的问题。

2016 年 04 月 22 日更新
3、修复了在 Ubuntu 16.04 下因为默认缺少 python 命令而导致 ipsec verify 等命令不能用的问题。

2016 年 04 月 25 日更新
4、在 Vultr 的 Debian 7 的系统模板下安装时,软件包 libcurl4-nss-dev 会出现依赖错误。如下:
The following packages have unmet dependencies:
libcurl4-nss-dev : Depends: libldap2-dev but it is not going to be installed
Depends: librtmp-dev but it is not going to be installed

而 libldap2-dev 和 librtmp-dev 又依赖了其他几种软件包。总之最后的依赖关系如下: 
libldap2-dev : Depends: libldap-2.4-2 (= 2.4.31-2+deb7u1) but 2.4.31+really2.4.40+dfsg-1+deb8u1~bpo70+1 is to be installed
librtmp-dev : Depends: libgnutls-dev but it is not going to be installed
libgnutls-dev : Depends: libp11-kit-dev (>= 0.4) but it is not going to be installed
libp11-kit-dev : Depends: libp11-kit0 (= 0.12-3) but 0.20.7-1~bpo70+1 is to be installed

那么解决办法就是把最底层的依赖包 libp11-kit0 先卸载掉,然后再安装 libcurl4-nss-dev 即可。

apt-get -y remove libp11-kit0
apt-get -y --no-install-recommends install libcurl4-nss-dev

然后再运行脚本安装即可。

2016 年 05 月 09 日更新
脚本新增了几个命令,用于操作用户
./l2tp.sh -a 新增用户
./l2tp.sh -d 删除用户
./l2tp.sh -l 列出所有用户
./l2tp.sh -h 帮助信息

原文:https://teddysun.com/448.html/comment-page-3

翻墙问答:安装Tails的选择及困难(视频)

620

李建军介绍Tails作业系统。(维基百科图片)

Tails系统安装指南视频地址:http://www.rfa.org/cantonese/video?v=1_4aa2day4

问:在上集介绍过Tails,现时Tails安装时,有提供USB和DVD安装两个选择。对大部分人而言,USB简单些,还是经DVD安装简单些?

李建军:除非你的电脑完全没有DVD机,或你公司禁止员工使用DVD启动电脑,否则,DVD安装其实是比用USB手指安装更容易。因为所谓的安装手指,也是一个光碟影像档,将光碟影像档烧录到DVD上是很容易,因为大部分作业系统,除了最新版的苹果Mac OS X 10.11取消了相关烧录支援外,其他的作业系统都很容易烧录光碟。但要抄影像档里面的文件抄到USB上,并成功启动电脑就要花费相当功夫,特别你的电脑若并非Windows作业系统的话,情况就会更麻烦。而且现时DVD光碟相当便宜,而你的光碟亦可以交给你其他有需要用Tails的朋友,用以作安装作业系统之用。

但如果你的电脑没有DVD机,而你的电脑的USB埠口数目亦太少的话,我们就建议你不要用DVD来安装,因为有部分外置DVD光碟机用电比较多,如果你的电脑并没有USB 3.0埠口的话,一旦你的电脑提供USB埠口的供电量不足的话,要占用两个USB埠来推动光碟机时,实际上有可能令你无法安装Tails作业系统。因此,用DVD来安装,那是桌面电脑比较建议的做法,如果你用的手提电脑的USB埠口少,又未支援USB 3.0的话,还是预备两只USB手指来安装比较安全。

问:要安装Tails作业系统,用多大的USB手指或SD Card会比较合适?

李建军:虽然Tails作业系统的支援文件,指2GB已经足以应付安装Tails所需,但实际上,Tails作业系统需要3.5GB空间才能应付所需。换言之,你需要4GB的手指或SD Card,卡能令Tails运作畅顺。而现时市面上的USB手指或SD Card容量,最少都去到4GB甚至8GB,因此,并不一定要特意用低容量的手指或SD Card。

有部分听众有可能会用一些旧的低容量SD Card或手指,用作安装作业系统之用,以求物尽其用。低容量的USB手指或SD Card,固然有可能因容量不足所需,令作业系统未能启动。而旧的低容量USB手指或SD Card,亦有可能因速度太慢,反而令整个使用体验相当不顺畅。只支援USB 2.0的旧款手指,或速度只有Class 4水平的SD Card,在这方面的问题就特别严重。在大容量,支援USB 3.0的手指并不昂贵的今天,并不值得为悭钱而牺牲速度。

问:安装Tails的过程繁复吗?会不会像安装Windows一样烦?

李建军:Windows之所以安装麻烦,除了因为涉及大量档案的抄写工作外,亦因为Windows的驱动程式与硬体配置绑死在一起,在设定硬件驱动程式等方面,都已经花耗大量时间。而Tails的卖点是随时可用,因此,驱动程式务求与大部分英特尔处理器上运作的硬件兼容,都是用最简单的配置,因此,实际上最花时间的部分,那是将作业系统档案抄到USB的部分,由于USB手指的速度普遍及不上硬碟或SSD,因此,抄写档案这部分实际上是最烦,而Windows安装程式中令人困扰的驱动程式问题,反而并非Tails使用者实际要考虑的问题。这也是为何可以用现行Tails的作业系统电脑,复制作业系统到另一个电脑上使用。

这集翻墙问答,我们准备了示范如何安装Tails的片段供听众参考,欢迎本台听众浏览本台网站,收看相关程序。由于程序冗长,因此,我们在片段中作为一定程度上的改动,以利听众掌握到安装Tails的方法,以及当中的理念。

原文:http://www.rfa.org/cantonese/firewall_features/firewall-tails3-05132016075748.html?encoding=simplified

影梭通过A.GIG.T(原Surf)使未越狱的iphone(ios9)实现全局科学上网教程


ios9请越狱后安装cydia版的影梭

或是在Apple Store中购买Surf使用 

购买地址:https://itunes.apple.com/cn/app/surfing-advanced-proxy/id1051326718

比起前些日子下架的surge价格亲民许多,这里主要介绍一下surf的使用方法。

最新提示:surf更新为A.GIG.T修复了很多bug,但是还是有锁屏断线的问题,下面是最新的使用方法。


一、准备工作

1、下载A.GIG.T这款App
购买地址:https://itunes.apple.com/cn/app/surfing-advanced-proxy/id1051326718
2、一个可用的影梭帐号
购买:「影梭」 年付套餐后,按照「教程」 设置好。
一个完整有效的影梭帐号包括服务器地址/端口号/加密方式/密码,这4个信息,缺一不可。
3、iOS设备必须升级到iOS9
Surge应用了最新iOS9的网络特性

二、A.GIG.T上配置影梭

1. 开启程序界面有Edit字样。如图:

2、 选择新建一个with default rules的配置文件。如图:

3、 选择ProxyName。。如图:


4、这里选择[socks5]记得不要选错,里面输入节点密码端口,最后点击[start]看到您的配置信息变绿,左上角出现VPN就可以使用啦~。。

5、当然也可以在配置界面点击。Use Qrcode——Use Camera。。使用二维码进行配置,如图:
.
6、然后扫描您在电脑客户端上扫描已经正确配置的节点二维码。这样能够避免您的输入错误 。


7、最后点击[start]看到您的配置信息变绿,左上角出现VPN就可以使用啦~。

返回看其他教程
回主页

原文:http://www.iyingsuo.com/ios9-A.GIG.T-shadowsocks-tutorials.html

XX-Net V3.1.11

@xxnet xxnet released this 25 minutes ago

Fix bug:

  • div by 0
  • fetch_block

Downloads

更新

  • 手动更新(推荐)
    • 备份data文件夹
    • 下载XX-Net-Release版本或者根据 下载页面提示进行版本选择
    • 解压缩下载文件
    • data文件夹放到解压缩目录
    • 更新完成
    • 注意: data文件夹内保存了appid,ip,配置等信息
  • 自动更新

原文:https://github.com/XX-net/XX-Net/releases/tag/3.1.11

XX-Net V3.1.10

@xxnet xxnet released this an hour ago

Fix bug:

  • h2 fail and retry bug in 3.1.9
  • too many worker

Downloads

更新

  • 手动更新(推荐)
    • 备份data文件夹
    • 下载XX-Net-Release版本或者根据 下载页面提示进行版本选择
    • 解压缩下载文件
    • data文件夹放到解压缩目录
    • 更新完成
    • 注意: data文件夹内保存了appid,ip,配置等信息
  • 自动更新

原文:https://github.com/XX-net/XX-Net/releases/tag/3.1.10

使用kcptun+dante实现高速socksv5翻墙

工具

2. https://www.inet.no/dante/

安装

下载kcptun服务器:
wget https://github.com/xtaci/kcptun/releases/download/v20160507/kcptun-linux-amd64-20160507.tar.gz

下载kcptun客户端(windows版本):
地址:
https://github.com/xtaci/kcptun/releases/download/v20160507/kcptun-windows-amd64-20160507.tar.gz

kcptun的全部平台下载地址为:
https://github.com/xtaci/kcptun/releases/latest

在服务器安装dante-server

$sudo apt-get install dante-server
$cat /etc/danted.conf
logoutput: syslog
internal: 127.0.0.1 port = 10000
external: eth0
method: none
user.privileged: proxy
user.notprivileged: nobody
user.libwrap: nobody
client pass {
from: 127.0.0.0/8 port 1-65535 to: 0.0.0.0/0
}
pass {
from: 127.0.0.0/8 to: 0.0.0.0/0
protocol: tcp udp
}

$service danted restart
Restarting Dante SOCKS daemon: May  8 10:31:09 (1462703469) danted[27339]: socks_seteuid(): old: 0, new: 13
May  8 10:31:09 (1462703469) danted[27339]: socks_reseteuid(): current: 13, new: 0
May  8 10:31:09 (1462703469) danted[27339]: socks_seteuid(): old: 0, new: 65534
May  8 10:31:09 (1462703469) danted[27339]: socks_reseteuid(): current: 65534, new: 0
May  8 10:31:09 (1462703469) danted[27339]: socks_seteuid(): old: 0, new: 65534
May  8 10:31:09 (1462703469) danted[27339]: socks_reseteuid(): current: 65534, new: 0
danted.





在服务器端启动kcpserver

$./server_linux_amd64 -t “127.0.0.1:10000” -key “你的密码” -l “:43212” -tuncrypt
2016/05/08 10:33:25 version: 20160507
2016/05/08 10:33:25 listening on  [::]:43212
2016/05/08 10:33:25 communication mode: fast
2016/05/08 10:33:25 tunnel encryption: true




在客户端启动kcpclient

用记事本编辑kcptun.bat,内容为:
client_windows_amd64.exe -r “服务器IP:43212″ -key “你的密码” -tuncrypt

双击kcptun.bat运行:
2016/05/08 18:35:37 version: 20160507
2016/05/08 18:35:37 listening on: [::]:12948
2016/05/08 18:35:37 communication mode: fast
2016/05/08 18:35:37 remote address: 服务器IP:43212
2016/05/08 18:35:37 tunnel encryption: true
2016/05/08 18:35:39 stream opened




浏览器设置socks5代理:

Chrome浏览器推荐使用SwitchyOmega 配合gfwlist使用.

实测速度快过shadowsocks,而且长时间稳定,观看youtube的时候1080p很少有卡顿。

原文:http://bullshitlie.blogspot.com/2016/05/kcptundantesocksv5.html

XX-Net V3.1.7

@xxnet xxnet released this 4 hours ago

Update:

  • refactor RangeFetch faster and compatible
  • keep 1 link after idle, for faster access
  • process http OPTIONS command

Downloads

更新

  • 手动更新(推荐)
    • 备份data文件夹
    • 下载XX-Net-Release版本或者根据 下载页面提示进行版本选择
    • 解压缩下载文件
    • data文件夹放到解压缩目录
    • 更新完成
    • 注意: data文件夹内保存了appid,ip,配置等信息
  • 自动更新

链接

使用方法:
https://github.com/XX-net/XX-Net/wiki/使用方法

更新历史:
https://github.com/XX-net/XX-Net/wiki/更新历史

问题报告:
https://github.com/XX-net/XX-Net/issues

如何帮助项目

https://github.com/XX-net/XX-Net/wiki/How-to-contribute

原文:https://github.com/XX-net/XX-Net/releases/tag/3.1.7

做自己的科学上网,让别人羡慕去吧

科学上网是如何上网学科学的第一步,翻出去,看更大的世界,学更多的知识,了解更多的文化,开阔更广袤的技术视野。笔者总结和实践了一些自己搭建VPN的经验和经历,分享给大家。

Posted by figotan on May 4, 2016

首先讲为什么所有的事情都要自己做,当下市面上已经有了如此之多的解决方案和产品,开源的,免费的,收费的,各种各样的,因为某些原因这里就不一一列举了。但是除了全程参与客户端设置和服务器部署的开源解决方案之外,几乎所有的产品和解决方案都有一个值得用户质疑的问题:安全。或者说的更准确一些,那就是:隐私安全
如果你是科学上网的用户,你可以问问自己这样一个问题,你花钱或者不花钱用的某一种科学上网服务,它保证不会监听你的上网行为吗?
所以我决定自己花钱买VPS,搭建一个专属自己的VPN服务器。

如何选择VPS

说起自费自搭自建VPN上网服务,第一步是如何选择购买VPS服务。

VPS(Virtual Private Server 虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的服务。每个VPS都可分配独立公网IP地址、独立操作系统、独立空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。每一个VPS主机均可独立进行重启,并拥有自己的root访问权限、用户、IP地址、内存、进程、文件、应用程序、系统函数库以及配置文件。

选择VPS比自己租用机房的硬件服务器的成本要低。关于VPS的详细介绍可以参考维基百科
国内和国外有很多VPS的供应商,出于某些需求,我选的是国外的VPS,选择国外的VPS服务主要考虑三个方面的问题,

  • 服务商的口碑
  • 访问速度
  • 性价比

服务商的口碑

服务商的口碑是个很难衡量的问题,其他两个问题其实也和这个问题有直接或者间接的联系。关于口碑,一般是去一些靠谱的VPS推荐网站看看别人的评价。比如国内比较知名靠谱的熠锋美国主机评论,或者去quora,知乎(知乎上目前一般会推荐给你Linode, DigitalOceanVultr)上找找答案。

访问速度

关于访问速度,如果服务商提供试用可以自己评测,或者去前面提到的网站上找找别人的评测文章,另外一个需要注意的是机房的选择,如果选择美国的主机,机房最好选在西海岸的一些城市,比如洛杉矶之类的,因为中国大陆相较于美国的城市中,西海岸是最近的,如果你在欧洲,那选东海岸的吧。如果有台湾,香港,日本和新加坡的机房那就最好不过了,不过就算有,貌似价格贵不少的,所以到了最后一个问题。

性价比

性价比这个要自己看,选择几核心的CPU,多大的内存,多少容量的磁盘,多大的带宽,几个独立的IP地址,虚拟方式(OpenVZ, Xen, KVM)等,最后这些性能都会映射到价格。一分钱一分货,我的建议是合适就好,土豪除外。服务商一般会提供一些套餐组合,以及某段时间放出的特惠套餐,每年在圣诞节前后还会有一些优惠套餐的推出以及优惠码的放送。熠锋美国主机评论这个网站时常有收集最近的一些优惠信息,如果想找可以去看看。

如何测试VPS性能

一些测试VPS性能的脚本工具可供参考:

选择操作系统

再来是主机操作系统的选择,一般廉价的VPS都只提供Linux操作系统,我目前只有购买过安装Linux的VPS主机,所以想看Windows的可以就此打住了。就算是Linux操作系统,也只有提供某几个发行版的选择,Ubuntu, CentOS, Debian, Arch Linux是常客。对于Linux操作系统,我个人除了GentooLFS以外,基本上不太常用其他的发行版。而支持Gentoo的VPS供应商(Linode)非常少,LFS几乎就没有了,至少还没有找到过。我购买的第一个VPS主机服务是Chicago VPS提供的年付12美刀基于Gentoo 64位的VPS,当时购买只是因为廉价和Gentoo,但是配置超烂,而且速度狂慢无比,所以在上面也没有做什么东西,基本上是为了以前给公司的一个创新项目做demo用了一下,后来废弃掉再也没有使用了。
再后来入手一个VPS(已被Chicago VPS收购),看起来配置还可以,性价比较高,配置是

2048MB RAM 
4 CPU Cores  
40GB DiskSpace 
2500GB Bandwidth 
1 IPv4 Address 
OpenVZ/SolusVM

价格年付只要$30,平均每月$2.5,访问速度还可以,主要是年付30刀这样的价格应该算蛮便宜了。已经在上面成功运行http/https的网络代理服务tinyproxy和基于PPTP的VPN,手机上访问G+和Youtube比较流畅。唯一遗憾是不支持Gentoo系统,我选择了安装Ubuntu系统。想要知道更多的Linux发行版情况,请参考DistroWatch
非Linux系统,除了Windows外,UNIX世界里最流行的估计是FreeBSD
了,它是Gentoo的灵感来源。

以上提到的Linux,除了Gentoo和LFS适合Linux系统的开发者外,其他都适合用来做服务端部署和网站运营。个人觉得Ubuntu和CentOS是目前服务器市场份额较大且资料最全的两个选择了。

从VPS到VPN

因为我租用的VPS是基于OpenVZ虚拟技术的。在网上查了下,有说只有基于Xen虚拟技术的VPS才可以做VPN,其实也不尽然。后来看到一篇帖子总结了什么样的VPS才可以做VPN服务,摘录如下:
OpenVZ一般可以搭建OpenVPN(只需开启Tun模块)有些还能搭建PPTP VPN和L2TP VPN(纯L2TP没有IPSEC加密)(只需开启PPP模块)(另外都需开启iptable nat模块以便转发上网),Xen/KVM的VPS可以搭建各种常见类型VPN。

OpenVZ(不开Tun/Tap模块)

有些OpenVZ的VPS服务商连Tun/Tap模块都不给开更别说PPP模块了(比如Host1Free的免费VPS),这样基本上就没办法直接搭建VPN服务了。

OpenVZ(开Tun/Tap模块)

一般收费VPS服务商(比如123systems)都会开Tun/Tap和iptable nat模块,有些VPS服务商的Tun/Tap模块默认开启,有的可以在面板后台自己打开,有的需要TK客服帮助打开,一般开Tun/Tap模块的服务商都会同时开启开iptable nat模块,这样就可以搭建OpenVPN服务了。 登录VPS后输入命令

cat /dev/net/tun

如果返回

cat: /dev/net/tun: File descriptor in bad state

就说明tun模块已经开启
输入命令

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

如果返回

iptables: No chain/target/match by that name

就说明nat模块正常(也不一定都是返回这个结果,只要不提示iptables或nat不存在就行

OpenVZ(开PPP模块)

不少VPS服务商除了可以开Tun/Tap和iptable nat模块外还可以开PPP模块(比如buyvm),这样不但可以搭建OpenVPN还可以搭建PPTP VPN和L2TP VPN(纯)了,PPP模块有的服务商默认开启,有的面板可自行开启,有的需要TK客服开启或编译。
登录VPS后输入命令

cat /dev/ppp

如果返回

cat: /dev/ppp: No such device or address

就说明ppp模块启动了(但是并不一定能用,如果不能用还是要TK客服开启相关设置的)

Xen/KVM

Xen/KVM类型的VPS基本上可以搭建所有常见类型的VPN,比如OpenVPN、PPTP VPN、L2TP VPN(纯)、L2TP IPSec VPN、IPSec VPN(兼容Cisco或Windows 7及更高版本系统适用的IKEv2或适用塞班系统mVPN客户端)、SSTP VPN(需要VPS上安装Windows2008及更高版本)

总结

在VPS上搭建VPN,对于虚拟方式的考虑,直接关系到VPN协议的支持与否,所以总结在这里

  • OpenVPN最容易实现也被最多VPS服务商支持
  • 其次是PPTP/L2TP
  • OpenVZ貌似还不能虚拟IPSec所以目前都不支持L2TP IPSec VPN、Cisco IPsec VPN、IKEv2 IPSec VPN
  • Xen/KVM都比较强大,常见VPN都能搭建,所以是最好的选择,可惜价格一般比OpenVZ贵了不少

PPTP

下面就介绍下如何在VPS上搭建VPN的服务,从PPTP开始。 其实我在网上找了一堆资料,失败过N次后爬起来再折腾,最后终于成功。失败的实验就不讲了,这里讲讲整理过后的流程。

开启ppp

首先ssh登录到申请的VPS机器上,检测PPP是否开启,命令如下

cat /dev/ppp

开启成功的标志: > cat: /dev/ppp: No such file or directory 或者 cat: /dev/ppp: No such device or address

可以继续安装过程;
开启不成功的标志: > cat: /dev/ppp: Permission denied

登录到VPS供应商提供的web portal端去自行”Enable PPP”,如果没有提供这样的开关的话那就只能给VPS提供商Submit一个Ticket请求开通了:

Hello
  Could you enabled PPP for me? I want run pptp-vpn on my VPS.
Thank you.

成功开启PPP以后,就可以安装了。有些教程里说还需要输入cat /dev/net/tun检测tun/tap是否开启,实际上这是完全不必要的。只是搭建PPTP,不需要TUN/TAP模块。

安装必要软件

安装ppp和iptables

sudo apt-get install ppp pptpd iptables iptables-persistent

配置pptp

编辑/etc/pptpd.conf文件,把下面字段前面的#去掉即可,此处的IP段可以任意,但是尽量注意不要跟本地网络的IP段有冲突。

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

配置ppp

编辑/etc/ppp/pptpd-options文件,去掉ms-dns前面的#,并修改成如下字段:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

设置PPTP VPN密码,修改/etc/ppp/chap-secrets文件,添加一行,内容如下(空格隔开):

用户名    pptpd    密码    *

第二行pptpd表示服务名称,在/etc/ppp/pptpd-options里name配置项中指定
最后一行”*“表示任何客户端ip都允许

ip转发

修改内核设置,使其支持IP转发,编辑/etc/sysctl.conf文件,去掉”net.ipv4.ip_forward”左边的“#“:

net.ipv4.ip_forward=1

如下命令让配置生效

sudo sysctl -p

iptables设置

添加iptables转发规则,并保存

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source ***.***.***.*** 
sudo iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m tcp --tcp-flags 
FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

或者这样

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

注意

  • 192.168.0.0/24为/etc/pptpd.conf里分配的remoteip的地址范围
  • 转发规则可以用VPS的ip地址,也可以用VPS的对外网络接口, 分别是 -j SNAT --to-source 111.111.111.111(111.111.111.111为你VPS的公网IP地址) 或者 -j MASQUERADE -o eth0(eth0为你VPS的对外网络接口,可以用命令ifconfig查看)

持久化保存iptables的规则

sudo service iptables-persistent save

服务生效

重启pptpd服务

sudo service pptpd restart

L2TP

因为Android客户端已经不再支持非IPSEC加密方式的VPN配置了,所以这里只说L2TP on IPSEC的搭建方式

安装软件

sudo apt-get install strongswan strongswan-plugin-xauth-generic ppp xl2tpd

配置ipsec

编辑文件/etc/ipsec.conf, 输入如下内容

conn vpnserver
        type=transport
        authby=secret
        pfs=no
        rekey=no
        keyingtries=1
        left=%any
        leftprotoport=udp/l2tp
        right=%any
        rightprotoport=udp/%any
        auto=add

编辑文件/etc/ipsec.secrets,添加认证方式

#验证用户所需的信息
: PSK "SECRET" # 这里 SECRET 可随意替换成你想要的密钥

这里的SECRET就是iOS客户端配置里的”Secret“或者Android客户端配置里的”IPSec pre-shared key

配置xl2tpd

编辑文件/etc/xl2tpd/xl2tpd.conf,输入如下内容

[global]
ipsec saref = yes
saref refinfo = 30
port = 1701
access control = no
;debug avp = yes
;debug network = yes
;debug state = yes
;debug tunnel = yes

[lns default]
ip range = 172.16.1.30-172.16.1.100
local ip = 172.16.1.1
refuse pap = yes
require authentication = yes
;ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

配置ppp

编辑文件/etc/ppp/options.xl2tpd,输入如下内容

require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
auth
mtu 1200
mru 1000
crtscts
hide-password
modem
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noccp
nodefaultroute
lock
silent

设置PPTP VPN密码,修改/etc/ppp/chap-secrets文件,添加一行,内容如下(空格隔开):

用户名    l2tpd    密码    *

第二行l2tpd表示服务名称,在/etc/ppp/options.xl2tpdname配置项中指定

ip转发以及iptables配置

配置内容可参考pptp的相关配置,iptables转发ip地址根据文件/etc/xl2tpd/xl2tpd.confip range配置的ip地址范围来设置

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

服务生效

重启服务

sudo service strongswan restart
sudo service xl2tpd restart

启动或者重启xl2tpd服务的时候是不是会遇到 > setsockopt recvref[30]: Protocol not available xl2tpd.

甭管它,继续就可以了。

IPSEC

是不是觉得L2TP on IPSEC的配置过于繁琐?那么去掉ppp的配置,直接上IPSEC如何?关于什么样的VPS支持IPSEC,可以参考前面的内容。

安装软件

sudo apt-get install strongswan strongswan-plugin-xauth-generic

IPSEC配置

编辑文件/etc/ipsec.conf,实例配置如下

config setup
	uniqueids=no

conn ipsec_xauth_psk
	keyexchange=ikev1
	authby=xauthpsk
	xauth=server
	left=%defaultroute
	leftsubnet=0.0.0.0/0
	right=%any
	rightsubnet=10.0.0.0/24
	rightsourceip=10.0.0.0/24
	rightdns=8.8.8.8
	auto=add

编辑文件/etc/ipsec.secrets,添加认证方式

#验证用户所需的信息
: PSK "SECRET" # 这里 SECRET 可随意替换成你想要的密钥
你的用户名 : XAUTH "你的密码"

这里的SECRET就是iOS客户端配置里的”Secret“或者Android客户端配置里的”IPSec pre-shared key

ip转发以及iptables配置

配置内容可参考pptp的相关配置,iptables转发ip地址根据文件/etc/ipsec.conf rightsourceip配置的ip地址范围来设置

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

服务生效

重启服务

sudo service strongswan restart

IKEv2

安装EAP

sudo apt-get install strongswan-plugin-xauth-eap strongswan-plugin-eap-mschapv2

编辑文件/etc/ipsec.conf,实例配置如下

config setup
	uniqueids=no

conn ipsec_ikev2_eap_psk
	keyexchange=ikev2
	left=%defaultroute
	leftsubnet=0.0.0.0/0
	leftauth=psk
	leftid=vpn.example.server
	right=%any
	rightsubnet=10.11.1.0/24
	rightsourceip=10.11.1.0/24
	rightdns=8.8.8.8
	rightauth=eap-mschapv2
	rightsendcert=never
	rightid=vpn.example.client
	eap_identity=%any
	auto=add

设置iptables地址转发,具体请参考PPTP/L2TP/IPSEC等

编辑文件/etc/ipsec.secrets,加入EAP认证用户名和密码

: PSK "SECRET" # 这里 SECRET 可随意替换成你想要的密钥
用户名 : EAP "密码"

IKEv2客户端配置(MAC&iPhone)

MAC OS X/iOS 客户端配置,虽然MAC OS X EI Capitan(10.11.4)和iOS 9的系统设置中可以手动添加IKEv2配置了,但是没法输入PSK(共享密钥),所以只能用描述文件的方式了。

  1. 在MAC的App Store中搜索并安装Apple Configurator 2
  2. 启动Apple Configurator 2,点击”文件”->”新建描述文件”
  3. 选择”VPN”,然后点击”配置”
  4. 输入”连接名称“,”连接类型“选择”IKEv2”,“服务器”输入VPN服务器IP地址,“远程标识符”输入文件/etc/ipsec.conf中的”leftid“的值,“局部标识符”输入文件/etc/ipsec.conf中的”rightid“的值,”设备鉴定“请选择”共享密钥“,”共享密钥“请输入文件/etc/ipsec.secrets中的”SECRET“,勾上“启用 EAP”,“EAP 鉴定”选择“用户名/密码”,“账户”和“密码”是文件/etc/ipsec.secrets中的”用户名“和”密码“(这里必须填写,不然保存的描述文件中的“EAP 鉴定”会变成”证书“,从而导致连接VPN失败),具体内容可以参考下图所示
  5. 在设备上安装描述文件,这样设备上就可以使用这个VPN了。安装方式,如果是安装到MAC上,双击描述文件即可安装;iPhone则可以通过Apple Configurator 2来安装,用USB将iPhone连接到MAC,然后打开Apple Configurator 2安装描述文件;如果没有MAC,可以将描述文件部署到Web Server上,然后iPhone上打开Safari,输入描述文件完整的URL地址,完成安装。

证书访问方式

是个大主题,先按下不表,留坑,后期更新。

最近笔者购买了DigitalOcean的VPS,所有上述方案,均本人亲测可行!!!如果有问题,可留言探讨解答相关技术,仅限技术讨论,其他免谈!!!

分流与加速

可以参考iOS8 不越狱翻墙方案如何在 VPS 上搭建 VPN 来翻墙里提到的方案,留坑,待学习实践后再分享。

其他非VPN科学上网方案

Shadowsocks

影梭

Lantern (P2P)

蓝灯

Tor

Tor

gfw.press

GFW.Press

谷歌镜像

谷歌镜像

怀念下曾经的翻墙利器

GoAgent以及所有曾经借助Google App Engine服务翻墙的工具们,毁誉参半吧,实在不好说!
自由门,涉及政治问题,实在不便说!

如果以上你实在是不愿意折腾折腾折腾,那么你可以选择买买买!反正这里我是不会荐荐荐的,如果你确实想要要要,那么,你可以去找找找。小道消息,Google Play上有大量的免费VPN,但是前提是,想上Google Play,需要先翻墙。又是一个鸡生蛋蛋生鸡的问题。

后记

OpenVPN因为移动客户端(iOS和Android)配置非常麻烦,且翻墙效果不佳,这里不在赘述,感兴趣的朋友可以自行搜索资料学习。
Openswan据说热度被Strongswan甩了好几条街,所以这里也不介绍了。L2TP和IPSEC文中均采用Strongswan来搭建。

参考资料

感谢网路上各位前辈高人大牛老司机的带路指点,排名不分先后,感恩不分轻重

为什么有的VPS不能搭建VPN
centos系统下安装VPN(pptp)
Gentoo搭建PPTP服务器
CentOS系统下OpenVZ VPS安装PPTP VPN的方法
IPsec L2TP VPN server
IPSEC L2TP VPN on Ubuntu 14.04 with OpenSwan, xl2tpd and ppp
IPSEC VPN on Ubuntu 15.04 with StrongSwan
strongSwan 5 based IPSec VPN, Ubuntu 14.04 LTS and PSK/XAUTH
用 strongSwan 搭建免证书的 IKEv2 VPN
如何在 VPS 上搭建 VPN 来翻墙
iOS8 不越狱翻墙方案
Strongswan官方文档

原文:http://www.figotan.org/2016/05/04/cook-your-own-vpn/

安卓版: 无界一点通3.6a测试版(2016年5月6日)

无界一点通3.6a测试版,做了以下改进,请帮忙测试并反馈:

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

sha1:c97cc983ee851cb94c71c9033a44d7ed443718fb
md5:5766b5e1b470cf3edbd1528a51487e3a

1. 解决了一些手机上不能正常浏览一些网页的问题, 如:脸书(facebook)/youmaker/谷歌应用商店/谷歌搜索;
2. 解决了一些手机上不能正常看youtube的问题;
3. 允许用户选择下载文件夹;
4. 增加下载程度及通知;
5. 支持多标签浏览;
6. 增加“清除历史记录”选项;
7. 增加“禁止cookie”选项;
8. 增加浏览界面顶部的功能键, 方便浏览;
9. 看电视机听广播时不自动锁屏, 除非用户自己关掉屏幕;
10. 增强安全及联通能力。

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

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

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=21447.0

XX-Net V3.1.6

@xxnet xxnet released this 12 minutes ago

Fix:

  • http/1.1 slow problem
  • fix linux support
  • fix block after 10 min, win10 need confirm.

Update:

  • add public appid

Downloads

更新

  • 手动更新(推荐)
    • 备份data文件夹
    • 下载XX-Net-Release版本或者根据 下载页面提示进行版本选择
    • 解压缩下载文件
    • data文件夹放到解压缩目录
    • 更新完成
    • 注意: data文件夹内保存了appid,ip,配置等信息
  • 自动更新

原文:https://github.com/XX-net/XX-Net/releases/tag/3.1.6

科学上网工具xSocks的安装与使用

最近在FinalSpeed(简称FS)的网站看到,FS已经有了所谓高级版(从而从免费走向了收费),其名字已改为XSocks。由于想到FS已经开源,所以有点好奇这个XSocks是不是开源的。于是就去GitHub上搜xsocks,结果果然没有找到此处的XSocks。不过,名字相同或相似的却有好几个,其中一个叫做xSocksx为小写)的引起了我的注意,因为它的一个页面提到了GFW,说明这个xSocks很可能也是中国人写的。于是,我就尝试在自己的VPS(系统为Debian Jessie)上安装它。当然,在安装的过程中遇到一些麻烦,主要是缺少一些依赖,但都逐一解决。由于至今没人写过这个工具的使用,于是我就写一写吧。

归纳起来,使用xSocks的主要步骤如下。

(A)服务端的安装

(1)安装最新版的libtool(xSocks-0.4.4要求libtool的版本为1.4.2或其以上)。到GNU libtool的官网首页查看其最新版的版本号及其下载链地址,最新版为2.4.6,于是安装它:

wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
tar zxvf libtool-2.4.6.tar.gz
cd libtool-2.4.6
./configure && make && make install

装完后,用 libtool –version 查看版本,确认已是最新的 2.4.6。

注意:不要用apt-get install libtool来安装,因为这样装上的版本太低。

(2)安装autoconf和pkg-config:

apt-get install autoconf pkg-config

(3)下载源码包:

git clone https://github.com/lparam/xSocks.git
cd xSocks
make    //这一步有点漫长。
make install    //GitHub上的项目主页中写上了make install,但是执行之后什么貌似什么也没发生。

至此,xSocks就安装完成了。

在服务端运行,使用xSocksd命令,直接执行xSocksd或xSocksd –help(注意大小写),就能输出该命令的使用方法:

root@hostname:~# xSocksd
xSocksd Version: xSocksd/0.4.4 Maintained by lparam
Usage: xSocksd [-l bind] <-k password> [-p pidfile] [-c concurrency] [-t timeout] [-s signal] [-nhvV]

Options:
-k <password> : password of server
[-l <bind address>] : bind address:port (default: 0.0.0.0:1073)
[-d <dns>] : name servers for internal DNS resolver
[-t <timeout>] : connection timeout in senconds
[-u] : enable udp relay
[-c <concurrency>] : worker threads
[-p <pidfile>] : pid file path (default: /var/run/xSocks/xSocksd.pid)
[--signal <signal>] : send signal to xSocksd: quit, stop
[-n] : non daemon mode
[-h, --help] : this help
[-v, --version] : show version
[-V] : verbose mode

于是运行:

xSocksd -k passpass    //假设使用密码“passpass”

但是出错,提示没有xSocksd.pid文件:

root@hostname:~/xSocks# xSocksd -k passpass
root@hostname:~/xSocks# 2016/04/27 06:16:41 [ERR]: open "/var/run/xSocks/xSocksd.pid" failed (2: No such file or directory)

于是只好尝试手动创建一个xSocksd.pid(可以放在你想要的任何路径)。这里假设放在/root目录中。于是就这样运行:

xSocksd -k passpass -p /root/xSocksd.pid

没有任何输出,但是运行是成功的。通过 cat /root/xSocksd.pid,可以看到xSocksd.pid中的进程号xxx。如果想终止xSocks的运行,直接kill xxx即可。

(B)客户端

(1)Windows客户端。作者已经提供了编译好的Windows客户端。如下图:

xSocks

诶,这个界面是不是和我们所熟悉的某个工具极其相似呢?没错,这很可能就是经过修改的SS吧。使用方法和SS的客户端几乎一样,就不多说了。

(2)Linux客户端

Linux客户端的安装与服务端一样,不是的是,通过xSocks命令来运行。类似地,可以执行xSocks或xSocks –help来查看使用说明。可能也需要手动创建pid文件。由于本人还未在Linux客户端用过,就不在此啰嗦了。感兴趣的可以试试。

GitHub:https://github.com/lparam/xSocks

原文:https://www.oixxu.com/anti-gfw-xsocks-install-use/#more-535

XX-Net V3.1.4

@xxnet xxnet released this an hour ago

Fix Bug:

  • crash on windows update cryptograph
  • beep remove log in hyper hpack

Downloads

更新

  • 手动更新(推荐)
    • 备份data文件夹
    • 下载XX-Net-Release版本或者根据 下载页面提示进行版本选择
    • 解压缩下载文件
    • data文件夹放到解压缩目录
    • 更新完成
    • 注意: data文件夹内保存了appid,ip,配置等信息
  • 自动更新

原文:https://github.com/XX-net/XX-Net/releases/tag/3.1.4

「 自由浏览 」1.9.12 版发布并启动「 用户资助用户翻墙 」的募捐计划

「 自由浏览 」 是一个免费的安卓应用,可以提供不经审查的互联网接入。之所以免费提供是因为我们始终坚信不受审查的获取信息是每个人的天生的权利,并且也不应为此付出任何成本。

官方网站:https://freebrowser.org/zh/
Google Play 下载地址:https://play.google.com/store/apps/details?id=org.greatfire.freebrowser
GitHub 下载地址:https://github.com/greatfire/wiki

自由浏览是由 Greatfire.org 开发,它是一款免费的 Android 应用程序,像其他手机浏览器一样,它的不同之处是提供给您一个访问不经审查的互联网的途径,它的使命是要终结中国的网络审查。

只要有一部运行Android操作系统的设备即可。自由浏览可以免费下载和使用,我们一直坚持这一点。自由浏览上架了Google Play商店,但是Google Play商店在中国是被屏蔽的。自由浏览也能在GitHub上下载,这里在中国还没有被屏蔽。我们让自由浏览保持免费是因为我们始终相信,未经审查的获取信息本应当免费提供给大家,这不应该成为一种成本。

为促进自由浏览的发展,现在,用户可以使用任何的信用卡,Paypal,甚至是支付宝、比特币(但仅用于一次性付款)捐赠自由浏览。

自由浏览的成本是0.20美元/用户/月。用户的捐助将会抵消这些成本,这也就意味着会有更多的人可以畅游不受审查的网络。

自由浏览的目标是在2016年6月1日时达到赞助 100,000 个能访问无审查网络的用户,目前收到的捐助已经可以支持 2,595 位用户。

原文:http://www.chinagfw.org/2016/05/1912.html

XX-Net V3.1.3

@xxnet xxnet released this 3 hours ago · 7 commits to master since this release

Fix bug:

Downloads

更新

  • 手动更新(推荐)
    • 备份data文件夹
    • 下载XX-Net-Release版本或者根据 下载页面提示进行版本选择
    • 解压缩下载文件
    • data文件夹放到解压缩目录
    • 更新完成
    • 注意: data文件夹内保存了appid,ip,配置等信息
  • 自动更新

原文:https://github.com/XX-net/XX-Net/releases/tag/3.1.3

Tor Browser 6.0a5-hardened is released

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

This release features important security updates to Firefox.

It contains a bunch of noteworthy changes. We switched the browser to Firefox ESR 45 and rebased our old patches/wrote new ones where necessary. We also ship a new Tor alpha version, 0.2.8.2, which makes meek usable again and contains a number of other improvements/stability fixes.

Note: There is no incremental update from 6.0a3-hardened available due to bug 17858. The internal updater should work, though, doing a complete update.

Here is the complete changelog since 6.0a4-hardened:

Tor Browser 6.0a5-hardened — April 28 2016

  • All Platforms
    • Update Firefox to 45.1.0esr
    • Update Tor to 0.2.8.2-alpha
    • Update Torbutton to 1.9.5.3
      • Bug 18466: Make Torbutton compatible with Firefox ESR 45
      • Translation updates
    • Update Tor Launcher to 0.2.8.4
      • Bug 13252: Do not store data in the application bundle
      • Bug 10534: Don’t advertise the help desk directly anymore
      • Translation updates
    • Update HTTPS-Everywhere to 5.1.6
    • Update NoScript to 2.9.0.11
    • Update meek to 0.22 (tag 0.22-18371-2)
      • Bug 18371: Symlinks are incompatible with Gatekeeper signing
    • Bug 15197 and child tickets: Rebase Tor Browser patches to ESR 45
    • Bug 18900: Fix broken updater on Linux
    • Bug 18042: Disable SHA1 certificate support
    • Bug 18821: Disable libmdns support for desktop and mobile
    • Bug 18848: Disable additional welcome URL shown on first start
    • Bug 14970: Exempt our extensions from signing requirement
    • Bug 16328: Disable MediaDevices.enumerateDevices
    • Bug 16673: Disable HTTP Alternative-Services
    • Bug 17167: Disable Mozilla’s tracking protection
    • Bug 18603: Disable performance-based WebGL fingerprinting option
    • Bug 18738: Disable Selfsupport and Unified Telemetry
    • Bug 18799: Disable Network Tickler
    • Bug 18800: Remove DNS lookup in lockfile code
    • Bug 18801: Disable dom.push preferences
    • Bug 18802: Remove the JS-based Flash VM (Shumway)
    • Bug 18863: Disable MozTCPSocket explicitly
    • Bug 15640: Place Canvas MediaStream behind site permission
    • Bug 16326: Verify cache isolation for Request and Fetch APIs
    • Bug 18741: Fix OCSP and favicon isolation for ESR 45
    • Bug 16998: Disable for now
    • Bug 17506: Reenable building hardened Tor Browser with startup cache
    • Bug 18898: Exempt the meek extension from the signing requirement as well
    • Bug 18899: Don’t copy Torbutton, TorLauncher, etc. into meek profile
    • Bug 18890: Test importScripts() for cache and network isolation
    • Bug 18726: Add new default obfs4 bridge (GreenBelt)
  • Build System
    • Bug 16224: Don’t use BUILD_HOSTNAME anymore in Firefox builds
    • Bug 18699: Stripping fails due to obsolete Browser/components directory
    • Bug 18698: Include libgconf2-dev for our Linux builds

原文:https://blog.torproject.org/blog/tor-browser-60a5-hardened-released

Tor Browser 6.0a5 is released

A new alpha Tor Browser release is available for download in the 6.0a5 distribution directory and on the alpha download page.

This release features important security updates to Firefox.

This will probably be our last alpha release before the stable 6.0 and it contains a bunch of noteworthy changes.

First, we switched the browser to Firefox ESR 45 and rebased our old patches/wrote new ones where necessary.

Second, we ship a new Tor alpha version, 0.2.8.2, which makes meek usable again and contains a number of other improvements/stability fixes.

Third, this alpha release introduces code signing for OS X in order to cope with Gatekeeper, the OS X mechanism for allowing only authorized applications to run. There were bundle layout changes necessary to adhere to code signing requirements. Please test that everything is still working as expected if you happen to have an OS X machine. We plan to post instructions for removing the code signing parts on our website soon. This should make it easier to compare the bundles we build with the actual bundles we ship.

The fourth highlight is the fix for an installer related DLL hijacking vulnerability. This vulnerability made it necessary to deploy a newer NSIS version to create our .exe files. Please test that the installer is still working as expected if you happen to have a Windows machine.

Known issues:

  • It seems there is a bug regarding our search engine selection in non-en-US bundles. The search engines actually used are the ones contained in the respective language packs but not those we ship. There is no easy workaround for this short of disabling the language pack or adding the search engines one wants to have by hand. We are sorry for this inconvenience.
  • An other issue is an error “Unable to start tor” after upgrading from an older version, on Mac OS (Bug 18928). Quitting and restarting a second time should fix the problem.

Here is the full changelog since 6.0a4:

Tor Browser 6.0a5 — April 28 2016

  • All Platforms
    • Update Firefox to 45.1.0esr
    • Update Tor to 0.2.8.2-alpha
    • Update Torbutton to 1.9.5.3
      • Bug 18466: Make Torbutton compatible with Firefox ESR 45
      • Translation updates
    • Update Tor Launcher to 0.2.9.1
      • Bug 13252: Do not store data in the application bundle
      • Bug 10534: Don’t advertise the help desk directly anymore
      • Translation updates
    • Update HTTPS-Everywhere to 5.1.6
    • Update NoScript to 2.9.0.11
    • Update meek to 0.22 (tag 0.22-18371-2)
      • Bug 18371: Symlinks are incompatible with Gatekeeper signing
    • Bug 15197 and child tickets: Rebase Tor Browser patches to ESR 45
    • Bug 18900: Fix broken updater on Linux
    • Bug 18042: Disable SHA1 certificate support
    • Bug 18821: Disable libmdns support for desktop and mobile
    • Bug 18848: Disable additional welcome URL shown on first start
    • Bug 14970: Exempt our extensions from signing requirement
    • Bug 16328: Disable MediaDevices.enumerateDevices
    • Bug 16673: Disable HTTP Alternative-Services
    • Bug 17167: Disable Mozilla’s tracking protection
    • Bug 18603: Disable performance-based WebGL fingerprinting option
    • Bug 18738: Disable Selfsupport and Unified Telemetry
    • Bug 18799: Disable Network Tickler
    • Bug 18800: Remove DNS lookup in lockfile code
    • Bug 18801: Disable dom.push preferences
    • Bug 18802: Remove the JS-based Flash VM (Shumway)
    • Bug 18863: Disable MozTCPSocket explicitly
    • Bug 15640: Place Canvas MediaStream behind site permission
    • Bug 16326: Verify cache isolation for Request and Fetch APIs
    • Bug 18741: Fix OCSP and favicon isolation for ESR 45
    • Bug 16998: Disable <link rel=”preconnect”> for now
    • Bug 18898: Exempt the meek extension from the signing requirement as well
    • Bug 18899: Don’t copy Torbutton, TorLauncher, etc. into meek profile
    • Bug 18890: Test importScripts() for cache and network isolation
    • Bug 18726: Add new default obfs4 bridge (GreenBelt)
  • Windows
  • OS X
    • Bug 6540: Support OS X Gatekeeper
    • Bug 13252: Tor Browser should not store data in the application bundle
  • Build System
    • All Platforms
      • Bug 18127: Add LXC support for building with Debian guest VMs
      • Bug 16224: Don’t use BUILD_HOSTNAME anymore in Firefox builds
    • Windows
      • Bug 17895: Use NSIS 2.51 for installer to avoid DLL hijacking
      • Bug 18290: Bump mingw-w64 commit we use
    • OS X
      • Bug 18331: Update toolchain for Firefox 45 ESR
      • Bug 18690: Switch to Debian Wheezy guest VMs
    • Linux
      • Bug 18699: Stripping fails due to obsolete Browser/components directory
      • Bug 18698: Include libgconf2-dev for our Linux builds

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

Tor Browser 5.5.5 is released

Tor Browser 5.5.5 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 38.8.0esr. Additionally, we bump NoScript to version 2.9.0.11 and HTTPS-Everywhere to 5.1.6.

Moreover, we don’t advertise our help desk anymore as we are currently restructuring our user support.

Here is the full changelog since 5.5.4:

Tor Browser 5.5.5 — April 26 2016

  • All Platforms
    • Update Firefox to 38.8.0esr
    • Update Tor Launcher to 0.2.7.9
      • Bug 10534: Don’t advertise the help desk directly anymore
      • Translation updates
    • Update HTTPS-Everywhere to 5.1.6
    • Update NoScript to 2.9.0.11
    • Bug 18726: Add new default obfs4 bridge (GreenBelt)

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