orangle / blog

博客--自我学习监督
http://orangleliu.info
3 stars 0 forks source link

科学上网小折腾 #8

Open orangle opened 7 years ago

orangle commented 7 years ago

PC端可以使用的自由网络代理(科学上网)

提示:需求较多,请谨慎, windows也没测试, macos上使用。 需要 国外主机一个,Python比较多的依赖环境,了解Python还有对ss代理原理有一定理解。(自己本来用Python开发较多,所以基础环境都有)

用到了 Twistedtwunnel (感谢这个库的作者) 这两个Python的库。主要是折腾着玩,不过也挺好用。

orangle commented 7 years ago

SSL 隧道

浏览器 --> 本地socks5代理 --> ssl隧道 --> 国外代理(ssl) --> 自由网络

浏览器通过sockt5连接 本地代理,本地代理通过ssl隧道转发请求到国外代理,然后就能访问 google等网站了。

  1. 浏览器安装 SwitchyOmega,并设置本地的socks5代理(端口就是本地代理的端口)
  2. 本地和服务器端都要安装 Twisted 和 twunnel,pip 就能安装
  3. 使用 ssl_ca_generate.py 生成ca证书,本地生成也行
  4. 配置远程代理 启动服务端代理 twunnel_socks5_server_proxy.py
  5. 配置本地代理 启动本地代理,注意权限 twunnel_socks5_local_proxy.py

具体的说明在配置中,都是Python程序,直接 python xx.py就可以运行。osx 测试了下,用起来挺好的。 嘿嘿。

脚本地址在这里

orangle commented 7 years ago

SSH 隧道

浏览器 --> socks5代理 --> ssh隧道 --> 开启ssh服务的国外服务器 --> 自由网络

用ssh命令更简单,这里还是折腾下,远程服务器开启ssh服务,本地能登录ssh就可以了,假如 ip 45.78.37.246, 端口为 2222, 用户名 lzz 密码 123456

  1. 运行 generate.py, 得到 KP.pem
  2. 配置 twunnel_ssh_local_proxy.py 里面的配置
  3. 启动 twunnel_ssh_local_proxy.py 服务
  4. 浏览器 socks5 代理设置为 127.0.0.1 1081端口

然后就能自由访问网络了。。 其实有个国外的vps,科学上网有n种方式呀