通过frp内网穿透实现外网访问校内资源
又到了要交论文的毕业季,如何在外网访问学校免费的万方、知网等数据库是个问题,本文记录了通过frp工具实现内网穿透从而实现外网访问校内资源的过程。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。项目地址:frp
准备工作
我们需要用到的有:
- 一台具有公网IP的VPS(本文使用的CentOS 64位)
- 一台学校内网电脑(不要求有固定公网IP,能免费访问万方等数据库就行,本文使用的系统为win7 64位)
根据系统环境从项目版本页 下载对应的版本。这里我们下载 frp_0.18.0_linux_amd64.tar.gz与frp_0.18.0_windows_amd64.zip
配置服务器端
将 frp_0.18.0_linux_amd64.tar.gz
上传到服务器中并解压,这里服务器端只需要用到 frps
与 frps.ini
两个文件,其他的可以删除。
配置文件使用默认,执行:1
2sudo chmod +x frps
./frps -c frps.ini
输出信息为1
22018/05/05 11:45:23
即可。
配置客户端
解压 frp_0.18.0_windows_amd64.zip
,这里客户端也只需要用到两个文件,frpc.exe
与 frpc.ini
我们这里使用 http_proxy
模式,关于frp的其他功能配置见frp项目首页 使用notepad++修改 frpc.ini
如下:1
2
3
4
5
6
7[common]
server_addr = 你的服务器IP
server_port = 7000
[http_proxy]
type = tcp
remote_port = 6000
plugin = http_proxy
打开命令提示符cmd,CD到解压目录
执行:1
frpc.exe -c frpc.ini
无error即可。
同时在服务器端输出类似于1
2018/05/05 11:45:39
信息即表示测试通过。
正式部署
服务器端
将服务器端的程序丢到后台执行:1
nohup ./frps -c frps.ini & #这里是将命令./frps -c frps.ini在后台执行不挂起,忽略输入并把输出追加到"nohup.out,可以使用jobs -l查看该进程
客户端
通过vb来实现后台启动frp客户端:
新建文件 frp.vbs
,添加内容为:1
2
3dim objShell
set objShell=wscript.createObject("WScript.Shell")
iReturnCode=objShell.Run("C:\Windows\frp\frpc.exe -c C:\Windows\frp\frpc.ini",0,TRUE)
这里 C:\Windows\frp\frpc.exe -c C:\Windows\frp\frpc.ini
我是将 frpc.exe
与 frpc.ini
两个文件置于C盘Windows\frp文件夹下的,大家可以根据自己的路径来修改。
这样我们直接双击 frp.vbs
即可执行,可以在任务管理器中看到 frpc.exe
的进程。
打开运行(开始菜单-运行)输入1
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
并回车弹出资源管理器,将 frp.vbs
放入该目录下,即可实现开机后台自启(具体有什么用,你懂的)
浏览器设置
现在我们已经在家里准备用学校的万方了,应该怎样设置呢?
由于我们frp客户端使用的是 http_proxy
模式,所以需要在我们的浏览器中添加一个代理服务器:
点击浏览器设置——代理服务器设置(360极速浏览器直接在地址栏输入chrome://settings/proxy360)
在代理服务器列表中输入: 你的IP:6000
,并在代理服务器设置中勾选该代理即可。
现在你已经能够免费下载万方等数据库的论文了。
其他注意事项
- 客户端与服务器端时间不能相差太大!否则会出现认证超时的错误:authorization timeout,关于如何同步服务器时间,可见CentOS服务器设置自动时间同步
温馨提示: 请根据学校的政策来决定是否使用这种方法来下载论文,仅供参考,引起的一切法律后果与本人无关,参考:
被指控 13 项重罪仅因过量下载论文,互联网之子 26 岁被迫自缢而终