请遵守当地法律,科学上网与内网穿透仅作为个人学习科研之用。谨记:没有任何技术可以突破法律的约束,要想人不知,除非己莫为。
本文内容:科学上网与内网穿透理论 + 实践 + 常用资源 + 常见问题
科学上网与内网穿透理论
科学上网 百度百科:科学上网,网络流行语,某种通过科学的方法绕过上网限制访问。
内网穿透 百度百科:让外网(拥有公共IP)的电脑与处于内部局域网(没有公共IP)的电脑通信。
科学上网原理示意图
电脑PC通过一种科学上网工具SS访问Google/Twitter/Facebook的示意图,核心要点是SS科学上网工具在GFW之间架起一条虚拟通道,网络流量通过SS代理转发,从而绕过GFW审查。
内网穿透原理示意图
外部访问通过一种内网穿透工具frp访问内部局域网的电脑,核心要点是:外部访问与VPS(Virtual Private Server 虚拟专用服务器)上的frps(frp的服务端)交互,frps通过互联网与frpc(frp的客户端)交互,frpc最后与内部局域网电脑交互,好似外部访问可以通过一条frp虚拟连接直接访问内网的内容。
互联网的组成
互联网 = 明网 + 深网 + 暗网
整个互联网可以分为明网和深网,区别在于内容能否被普通的搜索引擎检索到,其中占了 96% 份额的深网中还有一小部分被称为暗网,需要特定的浏览器、特殊授权或是特殊设置才能访问,隐秘性强且大部分都是非法的内容。科研人员科学上网的主要目的是访问互联网中明网的内容。
科学上网原理
- 加密,让审查系统无法判断你在浏览什么内容。
- 代理,与第三方能正常访问被封锁的信息的代理服务器创建连接,以连接到未经审查地区的计算机,以间接的形式绕过审查设备访问互联网
- 伪装,将真实的信息混淆在其他信息当中,实现网络流量的伪装。
加密算法对比
更多理论知识见 科学上网原理 或者 scientific_network_summary
科学上网实践
谷歌镜像
蓝灯
蓝灯(Lantern)是一款开源网络代理软件。
shadowsocks
A secure socks5 proxy,
designed to protect your Internet traffic.
shadowsocks 官网
shadowsocks-windows 发布页面;使用说明
shadowsocks-android 发布页面
shadowsocks Server
- Install.
pip install shadowsocks
- Usage. To run in the background:
sudo ssserver -p 443 -k password -m aes-256-cfb --user nobody -d start
To stop:sudo ssserver -d stop
另外一种方法就是通过配置文件启动,先在 /etc/shadowsocks/
目录下新建一个config.json文件,写入如下的配置:
1 | { |
如果你想在后台运行ss服务,需要输入如下命令 ssserver -c conf.json -d start
v2ray
Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络。Project V 的核心工具称为V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。
Linux 安装脚本
1 | bash <(curl -L -s https://install.direct/go.sh) |
脚本运行完成后,你需要:
- 编辑
/etc/v2ray/config.json
文件来配置你需要的代理方式; - 运行
service v2ray start
来启动 V2Ray 进程; - 之后可以使用
service v2ray start|stop|status|reload|restart|force-reload
控制 V2Ray 的运行。
Blook
Brook is a cross-platform(Linux/MacOS/Windows/Android/iOS) proxy/vpn software
outline
Outline 可让新闻机构轻松地为自己的网络提供更安全的访问开放式互联网的方式,旨在让新闻发布变得更安全。
Tor
匿名网络浏览器
SwitchyOmega
SwitchyOmega 作用:快速轻松地管理和切换多个代理。
- 下载SwitchyOmega GitHub备用下载地址;在谷歌应用商店安装SwitchyOmega。
- 使用SwitchyOmega设置Chrome代理。
查看更多科学上网内容
- 对于懒人党直接推荐使用 ToyoDAdoubi/doubi,简单便捷
- 科学上网工具使用教程
- 《这本书能让你连接互联网》
内网穿透实践
frp
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
frp搭建过程可以参考 frp内网穿透神器搭建 萌新也看得懂的教程系列
SSH端口转发
方式一:直接使用命令行 ssh -fND localhost:8888 root@remote_ip -p=remote_port
,意思是通过ssh协议与IP为remote_ip、SHH端口为remote_port、用户名为root的服务器建立一个socks5代理,把本地发往8888的数据都转交给该代理。-N 不执行任何指令 (只连接主机不打开shell)、-f 在后台执行、-D 建 socks5 的 proxy。参见SSH Tunnel绕过防火墙穿透内网
方式二:使用bitvise软件,bitvise 官网。参见Bitvise_SSH_Client
常用资源
- GFWList地址:https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
- 谷歌扩展程序下载:https://chrome-extension-downloader.com
常见问题
- 怎样设置应用程序开机启动
- crx插件怎样安装到goole浏览器?
- chrome 73 版本上安装crx插件出现「程序包无效 CRX_HEADER_INVALID」的报错解决办法
- Ubuntu 终端临时设置代理
$ export https_proxy=https://用户名:密码@代理地址:代理端口
比如export https_proxy=http://192.168.1.197:1080