快捷搜索:  汽车  科技

有些要登录才能看(突破网络限制访问音乐网站)

有些要登录才能看(突破网络限制访问音乐网站)1.1 启动服务端下载地址: 链接: https://pan.baidu.com/s/108_3fGP14o8REfRJBtZE4g 提取码: w93c图2代理软件有很多 比如squid goProxy等.squid主要是http的代理比较局限.无论是goProxy还是squid配置起来都比较麻烦本次采用我基于go-socks5实现的 使用简单不用配置 不记日志 默认端口8000 启动时可加-p参数修改.

当您在工作时想查些资料 正好这些资料是视频或音乐形式的. 咦为啥打不开 但是手机4G/5G可以打开呀 原来是办公网络限制访问了视频音乐等网站.用手机多费电 还费流量 还不方便.

突然想到家里的宽带网速也挺快的.要是在公司也能用家里宽带就好了…
满足你 这就是今天要说的正向代理 上原理图:
正常工作时的网络是这样的

有些要登录才能看(突破网络限制访问音乐网站)(1)

图1

一.架设代理

我们使用代理后是这样的.

有些要登录才能看(突破网络限制访问音乐网站)(2)

图2

代理软件有很多 比如squid goProxy等.squid主要是http的代理比较局限.无论是goProxy还是squid配置起来都比较麻烦

本次采用我基于go-socks5实现的 使用简单不用配置 不记日志 默认端口8000 启动时可加-p参数修改.

下载地址: 链接: https://pan.baidu.com/s/108_3fGP14o8REfRJBtZE4g 提取码: w93c

1.1 启动服务端

在上边 图1 中右侧 服务端操作 进入mysocks5所在的目录 运行

./mySocks -p 7777

1.2 客户端配置代理

在上边 图1 中左侧 PC端操作.使用chrome或火狐浏览器.下载SwitchyOmega插件 https://proxy-switchyomega.com/download/ 用于连接服务端的代理进行上网.安装后新增情景模式参考如下:

有些要登录才能看(突破网络限制访问音乐网站)(3)

服务端的IP地址为公网IP.如果没有 请往下滑参考最底部的附言

并在浏览器的右上角启用

有些要登录才能看(突破网络限制访问音乐网站)(4)

1.3 测试

打开网址 cip.cc
看显示的IP是不是服务端的IP. 惊不惊喜 意不意外!

二.加密代理请求 突破限制

别着急 完成上面的步骤后 仅是用代理换了个IP上网 发现视频音乐网站依然上不去 这是为什么呢.因为是明文的请求 那么把所有请求加密下就可以了么? 对 并且要在代理服务端解密 原理图如下:

有些要登录才能看(突破网络限制访问音乐网站)(5)

图3

说到这个连接加密就不得不提Stunnel了 主要用于隧道加密. 上图中淡蓝色背景即是它完成的功能.客户端对数据进行加密 服务端对数据解密 然后再走代理.

2.1 下载

stunnel下载地址 https://www.stunnel.org/downloads.html
如果是Linux 建议用yum或apt安装 mac建议用brew安装. 因为这个下载的是源码(win可以直接安装) 需要编译安装.
安装后的Stunnel即可以是客户端也可以是服务端 只是配置文件不一样

2.2 配置并启动服务端

这里配置实现的是上边 图3 中右侧淡蓝色背景部分

2.2.1 生成自签名证书

这里推荐使用mkcert 下载地址 https://github.com/FiloSottile/mkcert/releases

用它不需要一堆复杂的参数.非常简单 执行如下两条命令

./mkcert -install

./mkcert testxxx.com

会生成两个文件 一个cert(testxxx.com.pem) 一个key(testxxx.com-key.pem).

2.2.2 配置文件(默认在/etc/stunnel目录下)

; **************************************************************************

; * Global options *

; **************************************************************************

; It is recommended to drop root privileges if stunnel is started by root

setuid = stunnel4

setgid = stunnel4

; PID file is created inside the chroot jail (if enabled)

pid = /var/run/stunnel4/stunnel.pid

debug = info

output = /var/log/stunnel4/stunnel.log

[socksProxy]

accept = 6666

connect = 7777

cert = /etc/stunnel/testxxx.com.pem

key = /etc/stunnel/testxxx.com-key.pem

注* pid的文件目录必须存在 且属主属组均是setuid和setgid设定的stunnel4

accept 是要暴露到公网的端口 防火墙中放行

connect 是解密数据要连接的代理的端口

cert和key设置为上一步生成的证书

2.2.3 启动服务

stunnel4 /etc/stunnel/stunnel.conf

不确定是否启动成功可用命令查看 ps -ef|grep stunnel

2.3 配置并启动客户端

这里配置实现的是上边 图3 中左侧淡蓝色背景部分.

2.3.1 配置文件

; It is recommended to drop root privileges if stunnel is started by root

; PID file is created inside the chroot jail (if enabled)

pid = /usr/local/var/run/stunnelSocks.pid

[socksProxy]

client = yes

accept = 5555

connect = testxxx.com:6666

verifyChain = no

client 客户端一定要为yes

accept 客户端的代理端口也就是SwitchyOmega连接的端口.

connect 服务端的公网IP及端口

verifyChain 可以先为no 后续玩转了再深究

2.3.2 启动服务

stunnel4 /etc/stunnel/stunnel.conf

如果是windows客户端的就更简单的 直接有界面.

2.4 测试

参考1.2中的SwitchyOmega插件配置 把代理地址设置为localhost 端口设置为5555 并启用代理后.

打开网址 cip.cc

看显示IP是否为服务端的IP.

实际打开视频音乐网站. 搞定!

如果你的服务端部署在阿里云或亚马逊云的国外服务器 科学上网也是一样的道理 在此不再深究!

附言:

要完成上述功能 需要在公网上暴露出Stunnel的服务端端口 如果家中宽带无公网IP且不想拥有 可参考<<没有公网IP的机器如何能被外网访问>>

如果想拥有公网IP参考<<如何拥有自己的公网IP>><<免费域名申请(一) >><<免费域名申请(二) >><<如何通过外网访问家中闲置的电脑>>

只要你的机器暴露到公网就可能会面临网络攻击.可参考<<如何对服务器进行安全加固>>

-----------------end-----------------

欢迎大神补充指正! 如有疑问请留言!

原创不易 感谢各位 关注、点赞、评论、转发 !

猜您喜欢: