设为首页收藏本站

BC Morning Updates

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 34|回复: 0

Windows PC翻墙:shadowsocks-libev+simple-obfs+TFO

[复制链接]
发表于 2019-9-24 04:41:39 | 显示全部楼层 |阅读模式
本帖最后由 瀚文 于 2019-9-24 05:09 编辑

https://fanqiang.software-download.name/ebook/04.8.html

Shadowsocks 有好几种Windows客户端:

    Shadowsocks Windows
    Shadowsocks QT5
    Outline Google 开发,因为 Google 擅长收集个人隐私,不推荐使用

shadowsocks-libev 作为资源占用最少的 shadowsocks 实现,官方却不提供 Windows 预编译可执行文件下载,虽然他们知道 Windows 用户最多,但是开发者可能倾向于 Mac Linux 多一点,也就忽视了 Windows 用户的需求:Windows 用户如果有需要,可以自己修改编译,是不是?

shadowsocks 官方建议大家在Windows下用 docker,一个 docker 社区版500多MB,如果是仅仅为了使用才丁点大的 shadowsocks-libev,有必要安装这么大的东东吗?

还好 cokebar 自己编译了 Windows 下的 shadowsocks-libev 和 simple-obfs。下面我们来看看怎么在 Windows PC 上用这两者翻墙。


Windows 10 开启 TCP Fast Open

下面的示范包含了 TFO,TFO要操作系统支持才行,因为翻墙软件要调用操作系统的API

请注意:

TCP Fast Open(TFO)仅适用于Windows 10, 1607或更高版本(精确地,build> = 14393)


怎么知道自己的 Windows 10的版本号?

按 Windows + R键,输入 winver 回车

Check Windows 10 version number

上图显示版本1803,build 17134.285

如果您使用的是1709(内部版本16299)或更高版本,则还需要手动开启

    按 Windows + X

    选择 Command Prompt(Admin) - 打开控制台(管理员)

    运行命令:

   
  1. netsh int tcp set global fastopenfallback=disabled
复制代码


    重启系统以后,验证 TFO 是否已经开启:

   
  1. netsh interface tcp show global
复制代码


    其中 fast open: enabled 说明 TCP fast open 已经启用

    Windws check TCP fast Open enabled

下载 shadowsocks-libev simple-obfs Windows binary可执行文件

https://software-download.name/2 ... ws-binary-download/

我下载的是64位版本,并重命名为 ss-local.exe 以及 obfs-local.exe

shadowsocks-libev + simple-obfs + TFO 服务端设置

!路由器 停止 shadowsocks-libev 翻墙服务

如果你已经按照本教程设置了路由器翻墙,那么在测试 Windows PC 客户端翻墙前,首先要停止路由器里面的 shadowsocks-libev

  1. <a href="mailto:root@192.168.1.1" target="_blank">root@192.168.1.1</a>
  2. kige@Openwrt:~# /etc/init.d/shadowsocks stop
复制代码



更改网络连接设置

假设你的电脑是 WIFI 上网,原来通过路由器翻墙时,我们指定了WIFI连接的静态 IP,并把DNS设为路由器的内网 IP,现在要改成动态分配IP,自动获取DNS

    按 Windows 键,输入 control panel 回车打开控制面板

    选择 View ntetwork status and tasks

    View Network Status

    点击连上的 WIFI 连接

    Click WIFI Connection

    点击 Properties (属性)

    Click WIFI properties

    点击 Internet Protocol Version 4(TCP/IPv4)

    Click Internet Protocol Version 4

    选择 Obtain an IP address automatically(自动获取IP地址), Obtain DNS server address automatically(自动获取DNS服务器地址),OK(确认)

    WIFI obtain an IP address automatically


shadowsocks-libev + simple-obfs for Windows 客户端设置

更改网络连接设置后,确认能上国内网站,上不了 https://youtube.com

首先创建一个配置文件 shadowsocks.json

  1. {
  2.     "server": "1.0.9.8",
  3.     "server_port": 80,
  4.     "password": "killgfw",
  5.     "local_port": 7654,
  6.     "method": "chacha20-ietf-poly1305",
  7.     "timeout": 600,
  8.     "fast_open": true,
  9.     "plugin": "obfs-local",
  10.     "plugin_opts": "obfs=http;obfs-host=32.kige.com;fast-open"
  11. }
复制代码



这个配置文件其实和 OpenWrt 路由器编译使用 Simple-obfs for shadowsocks-libev 混淆插件翻墙 是一样的,默认把这个文件放在 ss-local.exe obfs-local 同一目录,这样写命令行时可以简短一些

其中 "local_port": 7654 指的是 ss-local 监听本机的 7654 端口,其他软件转发到这个端口的请求都由 ss-local 接收

Windows PC上用 shadowsocks-libev + simple-obfs + TFO 翻墙调试

按 Windows + X,然后选择 Command Prompt 可以打开控制台,默认目录是 C:\Users\your_name> 可以用cd命令进入要操作的目录,或者把文件复制到 C:\Users\your_name> 下

Womdpws 10 修改相应设置后,按住 Shift 再在目录里右击,可以在当上目录打开控制台

建议安装 Git for Windows,安装时选择 OpenSSH,然后在任何目录右击,可以打开当前目录的控制台,这个控制台的操作习惯和 Linux 类似,另外可以和 Linux 下一样的方式操作 ssh

先打印一下 ss-local 的命令行选项,如果我们用了无效的选项,ss-local 会直接退出

  1. C:\shadowsocks-libev\64> ss-local -h
  2. shadowsocks-libev 3.2.0
  3. maintained by Max Lv and Linus Yang

  4. usage:

  5. ss-local

  6. -s <server_host>           Host name or IP address of your remote server.
  7. -p <server_port>           Port number of your remote server.
  8. -l <local_port>            Port number of your local server.
  9. -k <password>              Password of your remote server.
  10. -m <encrypt_method>        Encrypt method: rc4-md5,
  11.     aes-128-gcm, aes-192-gcm, aes-256-gcm,
  12.     aes-128-cfb, aes-192-cfb, aes-256-cfb,
  13.     aes-128-ctr, aes-192-ctr, aes-256-ctr,
  14.     camellia-128-cfb, camellia-192-cfb,
  15.     camellia-256-cfb, bf-cfb,
  16.     chacha20-ietf-poly1305,
  17.     xchacha20-ietf-poly1305,
  18.     salsa20, chacha20 and chacha20-ietf.
  19.     The default cipher is chacha20-ietf-poly1305.

  20. [-a <user>]                Run as another user.
  21. [-f <pid_file>]            The file path to store pid.
  22. [-t <timeout>]             Socket timeout in seconds.
  23. [-c <config_file>]         The path to config file.
  24. [-i <interface>]           Network interface to bind.
  25. [-b <local_address>]       Local address to bind.

  26. [-u]                       Enable UDP relay.
  27. [-U]                       Enable UDP relay and disable TCP relay.

  28. [--reuse-port]             Enable port reuse.
  29. [--fast-open]              Enable TCP fast open.
  30. with Linux kernel > 3.7.0.
  31. [--acl <acl_file>]         Path to ACL (Access Control List).
  32. [--mtu <MTU>]              MTU of your network interface.
  33. [--no-delay]               Enable TCP_NODELAY.
  34. [--key <key_in_base64>]    Key of your remote server.
  35. [--plugin <name>]          Enable SIP003 plugin. (Experimental)
  36. [--plugin-opts <options>]  Set SIP003 plugin options. (Experimental)

  37. [-v]                       Verbose mode.
  38. [-h, --help]               Print this message.
复制代码



然后在命令行输入:

  1. ss-local -c shadowsocks.json -v
复制代码



注意,我们启用了 -v 以在控制台打印出活动记录,这在调试时十分有用,调试完成后可以去掉这个选项

控制台显示类似下面的信息:

C:\shadowsocks-libev\64> ss-local -c shadowsocks.json -v
2018-10-01 11:28:48 INFO: plugin "obfs-local" enabled
2018-10-01 11:28:48 INFO: using tcp fast open
2018-10-01 11:28:48 INFO: initializing ciphers... chacha20-ietf-poly1305
2018-10-01 11:28:48 INFO: listening at 127.0.0.1:7654
2018-10-01 11:28:48 [simple-obfs] INFO: using tcp fast open
2018-10-01 11:28:48 [simple-obfs] INFO: obfuscating enabled
2018-10-01 11:28:48 [simple-obfs] INFO: obfuscation http method: GET
2018-10-01 11:28:48 [simple-obfs] INFO: obfuscating hostname: 32.kige.com
2018-10-01 11:28:48 [simple-obfs] INFO: listening at 127.0.0.1:57373



显示 ss-local 启用了 obfs-local 插件,应用了 tcp fast open, 并监听在本机 7654 端口。obfs-local 应用了 tcp fast open,应用了混淆,并监听在本机随机端口和 ss-local 通信

这时我们打开浏览器,能翻墙吗?显然不能,因为浏览器并不知道 ss-local 监听在本机 7654端口,更不会把请求发送到那里,怎么可能翻墙呢

设置 Chrome 浏览器翻墙

接下来我们得告诉浏览器把请求转发到 本机 7654 端口

假设你已经安装了 Chrome 浏览器

    按 Windows 键,输入 chrome,在出来的 Google Chrome 图标上点右键
    选择 Open File Location 打开文件所在位置
    这时会打开 Chrome 快捷方式所在文件夹,并默认选中,Ctrl + C 复制
    来到桌面,Ctrl + V 粘贴,把刚粘贴的快捷方式重命名为 Proxy
    在 Proxy 图标上右击,选 Properties 属性

    在 Target (目标)后面加一个英文空格,再加上下面的内容:

   
  1. --proxy-server=socks5://127.0.0.1:7654
复制代码


    Chrome set Proxy Socks5 Server

设置好以后,退出已经打开的 Chrome,点击这个 Proxy(Chrome),然后 浏览 https://youtube.com

如果设置都正确,应该翻墙无障碍了。这是本浏览器内全局翻墙,不区分国内、国外 IP,挺好,否则打开有些外网会很慢或者根本打不开

这时 DNS 是谁在解析呢?我们曾在 OpenWrt 路由器里设置 ss-tunnel 把域名解析请求发送到 shadowsocks 服务端,服务端把解析结果返回到客户端,从而避免了域名污染

客户端用 ss-local 的时候,由 ss-local 自动把域名解析请求发送到服务端了,不需要我们干预。在路由器里也可以用 ss-local 来代替 ss-redir + ss-tunnel + dnsmasq 三者,不过这样的话国内域名的解析也发到了服务端,浏览国内网站会有一些延迟

Windows PC 浏览器翻墙最佳方法总结

  •     设置 ss-local 随机启动
  •     桌面放二个 Chrome 图标,一个重名为 Proxy 用来翻墙,另一个命名为 Chrome不翻墙
  •     浏览外网,关闭打开的 Chrome,再运行 Proxy
  •     浏览内网,关闭打开的 Proxy,再运行 Chrome
  •     广告屏蔽可以用 host 文件和浏览器插件

shadowsocks-libev + simple-obfs 占用资源极少,电脑随机启动占用的资源可以忽略不计

本文所述方法是Windows PC浏览器翻墙最佳方法,适合主要用浏览翻墙的用户。如果是路由器翻墙,如果打开较多网页,路由器计算资源有限,会有压力

如果电脑有较多的需要翻墙的软件,需要分别设置代理地址,稍显麻烦,路由器翻墙会比较方便

相关资源:

    https://github.com/shadowsocks/simple-obfs/releases/
    Shadowsocks-libev, simple-obfs for Windows 下载 (支持TFO)
    Shadowsocks-libev, simple-obfs for Windows 下载 (不支持TFO)
    https://fanqiang.software-download.name/

Source here



来自群组: 有关互联网及电子商务
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|BC Morning Website ( Best Deal Inc. 001 )  

GMT-8, 2019-10-13 14:32 , Processed in 0.087510 second(s), 21 queries .

Supported by Bestdeal Online

© 2008-2019 BestDeal Online Inc.

快速回复 返回顶部 返回列表