分类目录归档:网络

【教程】在 Windows 上使用 plink.exe 与 SSH 建立 SOCKS 安全隧道代理服务器

  1. 前往 PuTTY 官方网站(https://www.chiark.greenend.org.uk/~sgtatham/putty/)下载 plink.exe 程序,找到「Download: Stable」链接点进去可以下载到 32 位或 64 位版本;
  2. 通过开始菜单的运行入口或按 Windows + R 键激活,查找浏览你刚刚下载的 plink.exe 程序;
  3. 在你电脑的路径名 plink.exe 后加参数,如:plink.exe IP -P 22 -l USERNAME -pw PASSWORD -v -N -D 1080;其中 IP 为你在海外可正常访问的 VPS 云主机的 IP 地址,-P 参数是指端口,如果没有改过 SSH 服务器配置则默认端口为 22;其中 USERNAME 为用户名,你在 VPS 云主机上的用户名,或者某些主机使用 root 也可以;其中 PASSWORD 替换为你自己的密码;其中 -D 参数指启用 SOCKS 代理服务,端口为 1080,也可以自己修改,只要使用的时候一致就可以;(示范:plink.exe 8.8.8.8 -P 8888 -l google -p Alphabet -v -N -D 1080);
  4. 首次运行会提示 Store key in cache? (y/n),可以输入 y 来保存 key 的 session,下次不会再提示,否则每次都会提示确认,此时应该可以看到终端连接的信息,并且开始监听 1080 端口;
  5. 使用 Internet Explorer 浏览器的用户,在代理服务器配置中,将 SOCKS(套接字)的后面,填上 127.0.0.11080 理论上就可以让你的 IE 浏览器正常就访问真正的国际互联网了。

科学上网相关工具

  • MyEnTunnel – 一款以 PuTTY Plink 为基础的安全隧道,相当于 Plink 的 GUI 图形界面客户端增强版。
  • PuTTY – 大名鼎鼎的 PuTTY 是一款简单易用的 SSH 远程终端管理套件,带很多 SSH 小工具。
  • Wintunnel – 一个简单的 SSH 安全隧道程序,也算是 plink 的前端程序。
  • Entunnel – VanDyke Software 公司的商业化 SSH 安全隧道应用,个人使用多年,不过停止更新也多年。
  • SSHWindows – Windows 版 OpenSSH,支持 SSH / SCP / SFTP 的服务器和客户端软件,由 Cygwin 构建但不需要系统支持。
  • freeSSHd – 一个 Windows 版免费实现的 SSH 服务器软件。
  • UDP Tunnels – Performing UDP tunneling through an SSH connection (unix)
  • Zebedee – Creates secure and compressed TCP/UDP tunnels on both unix and windows
  • Key-Based SSH Logins With PuTTY – How to generate and use a private/public key pair to log in to a remote system

iPhone通过VPS和Wi-Fi访问Google的方法

此前介绍过几种 iPhone 和 iPad 等 iOS 设备的 GFW 方法,除了需要在海外有 VPS 主机之外,还需要依赖一台本地的电脑主机来做安全隧道代理服务器。

在 Android 上有很多 App 可以解决依赖另一台主机的问题,经典的诸如 SSH Tunnel(https://play.google.com/store/apps/details?id=org.sshtunnel&hl=zh_CN)这样的 App 就可以在手机上直接建立安全隧道。

而在 iOS 这种权限管理严谨苛刻的系统上,则会相对麻烦一些。经过测试发现了两款勉强可以在手机上自行建立安全隧道的应用 Serverauditor 和 vSSH Lite。

Serverauditor – SSH Shell / Console / Terminal by Crystalnix https://appsto.re/us/K8AUG.i

在 Serverauditor 应用主界面的右上角有个图标可以添加 New Host(新主机),依次输入 Alias(别名),即显示的名称;Username(用户名);Hostname(主机名),也就是海外 VPS 的 IP 地址;冒号后面的数字 22 是端口号,如果你没有修改过,则为默认的 SSH 端口号;Password(密码);最后点击右上角的 Save(保存),完成主机的创建。

接下来点击主界面左上角的图标或者侧滑弹出菜单,选择 Port Forwarding(端口转发),进入端口转发界面后,接着是创建转发规则,依然是点击右上角的图标添加 New Rule(新规则),默认选定了 Local(本地)端口转发,在 Host(主机)项,选择刚才创建的主机,Port From(来源端口)输入 8888,Destination(目标主机)输入 127.0.0.1,Port To(目标端口)也输入 8888,最后点击右上角的 Save(保存),完成端口转发的创建。

轻触则可建立 SSH Tunnel 安全隧道,黑色的“L”字母会变成蓝色,代表连接成功。下次启动应用时,通过左侧的菜单,选择端口转发,会出现此前保存的端口转发信息,在这个地方开启就好。

vSSH Lite by Velestar Private Enterprise https://appsto.re/us/iYe5F.i

在 vSSH Lite 应用的左上角,点击“+”号 Add new(添加)Connection(连接),输入 Name(名称);Protocol(协议)选择 SSH 安全;Host(主机名),自然还是海外 VPS 的 IP 地址;Port(端口)默认为 22;Username(用户名);Password(密码);Autoconnect on startup(自动启动)根据个人意愿随意选择;No shell(-N mode)这个建议选择,建立安全隧道没必要其他交互。

更关键的来了,在 Port forwarding 项,Add port forwarding(添加端口转发),多了一项 Dynamic SOCKS proxying,不过此项我测试建立连接失败,提示主机、端口被占用,不知道是否 Lite 版本限制原因。

因此我们仍然选择 Local port is forwarded to the server(本地端口转发到服务器),在 Source 项目下 Host 输入 127.0.0.1,Port 输入 8888,在 Destination 项目下 Host 也输入 127.0.0.1,Port 输入 8888,其中 Options 打开的话,还可以给其他主机当安全隧道代理服务器,就是手机的 IP 地址和 8888 端口。

最后是 Save(保存),Done(完成),然后在 Booksmarks 轻触则可以建立 SSH Tunnel 安全隧道,终端界面上可以看到连接状态,下次再开启应用时,自动就会建立安全隧道代理服务器了。

关于代理设置,可以手动将服务器设置为:127.0.0.1,端口:8888;但这样每次使用不太方便,建议选择自动,在 URL 处输入一个 pac 文件链接(如: http://ca.lxl.cn/https.pac),其实就是自动代理配置脚本,只是返回本机代理。

function FindProxyForURL(url,host){return “PROXY 127.0.0.1:8888”;}

至此,打开 Safari 浏览器,久违的 Google 终于回来了。不过由于 iOS 有近于洁癖的种种限制,还是没有办法高兴得太早,那就是无论是 vSSH Lite 还是 Serverauditor,都会因为 App 不在前台而被“挂起”,那么辛辛苦苦创建的安全隧道就会在可以使用的数分钟后而无法使用了。

好在这两个应用基本上都会在收到挂起消息前,发送一个消息告诉自己被挂起,此时可以再回到那个界面,安全隧道又会再次有效,是不是觉得很苟且呢?据我对 iOS 的了解,似乎还是有保持长连接的方法,比如我们知道某些云盘应用可以背景自动传输照片,印象中只要定时播放一个没有声音的声音,也就是“震动”,就可以保持应用不被挂起。希望未来的某个版本可以解决这个挂起问题,让我们这些生活在这墙内的群众体验国际互联网。

Android 6.0代理服务器的设置方法

iOS 代理服务器的设置方法无论不同版本 iPhone、iPod touch 还是 iPad 都是大同小异,但 Android 就不完全是那么回事了,因为被很多厂商“深度定制”过,我先针对手里这台 Nexus 5X 来举个例子。

首先通过右上角那个梅花(六角)设置图标进到 WLAN 设置界面,或者通过下拉菜单,出来消息通知栏,在第二页里面就有无线网络设置图标,在图标右下度有个小箭头,点触那里也可以进去设置。

Screenshot_20160420-154112

在“无线和设置”界面,点触进入“WLAN”项目。

Screenshot_20160420-154123

在“WLAN”里,在已经开启并连接 Wi-Fi 的情况下,可以看到第一项热点的名称下方显示“已连接”字样。

Screenshot_20160420-154129

选中的方法是“长按”那项热点的名称,弹出菜单点触“修改网络”。

Screenshot_20160420-154141

这时候弹出来该热点的“高级选项”,点选他,将下方覆盖的画面滑动至上方,在“代理”的选项卡里面,选择“手动”选项。

Screenshot_20160420-154421

代理服务器主机名,如:192.168.31.120,端口号:8888,这是我那台 MacBook 上跑的安全隧道。

Screenshot_20160420-154518

代理自动配置,这个就是 PAC 配置文件了。

Screenshot_20160420-154553

说到自动配置,我希望将来可以把这个方法发扬广大,让大家省心省力,据说已经有个 gfw lists 但我上次发现更新频率不高,不知道是否我搞错了,等我再研究一下,好的话推荐给大家。

iOS代理服务器的设置方法

在 iPhone 和 iPod touch(iPad 界面布局略有不同)上找到“设置”图标,选择“Wi-Fi”项目,如下图所示表示已经连接了“XINEN”的热点 。

1

进到“Wi-Fi”项目后,会看到无线网络清单,我们选取已经建立连接即已经打了勾号的“XINEN”网络进入下一个设置环节。

2

这一步可以看到由 DHCP 动态分配的 IP 地址、子网掩码、路由器和 DNS 等详细信息,而“HTTP 代理”项则处于“关闭”选项卡上。

3

在“HTTP 代理”选项卡上,选择“手动”可以设置代理服务器的 IP 地址和端口号,如我在 MacBook Pro 上通过与 VPS 建立了 SSH TUNNEL 安全隧道的 HTTP 代理器,并且对局域网内开放,我只要写上我的 IP 地址和端口号就可以访问绝大多数海外网站。

4

上次我们讲到进阶,如果采用 Proxy auto-config 则只需指定一个 URL,这个网址其实是一个 JavaScript 写的代理服务器自动配置文件,里面最关键的是 FindProxyForURL 方法(函数),如将 Facebook.com、Google.com、Twitter.com 和 YouTube.com 加进白名单,而其他默认不走代理,则可以自由访问国内国外的网站,不会因为设置了代理服务器导致访问国内的网站时很慢。

5

这个自动方法的方便之处,是即便配置 proxy.pac 了的这台电脑假如没开机,也不会影响对国内网站的影响,不像手动模式,如果设置了,但是电脑没有开机或开户安全隧道代理服务,则无法访问一切网络。

SAE变本加厉

以前逢人推荐 SAE 新浪云,对于很多初创团队,能节约成本、提高效率。开始对开发者认证还有云豆送,后来云豆不送了,改成所谓每个月免5G流量,再后来这5G流量也不知道哪去了。

现在即便不用,每日也要10个云豆起,MySQL共享时间每小时2个云豆,每天48云逗起,就是说开个 wordpress 没有任何访问量,每天至少也要上交58个云豆。每个账号,默认不能超过5个应用,每个应用默认只能绑定1个域名,所有一切很简单的配置修改都用云豆来体现。

有个未备案的域名,放在上面,只是放个留言板,没多少流量,结果一个月也被扣了8000多云豆,赶紧迁走,昨天把自己在 SAE 上面限制多多的 wordpress 也迁走了。