Alliot's blog

通过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 上传到服务器中并解压,这里服务器端只需要用到 frpsfrps.ini 两个文件,其他的可以删除。
配置文件使用默认,执行:

1
2
sudo chmod +x frps
./frps -c frps.ini

输出信息为

1
2
2018/05/05 11:45:23 [I] [service.go:96] frps tcp listen on 0.0.0.0:7000
2018/05/05 11:45:23 [I] [root.go:172] Start frps success

即可。

配置客户端

  解压 frp_0.18.0_windows_amd64.zip ,这里客户端也只需要用到两个文件,frpc.exefrpc.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 [I] [proxy.go:86] [0dasdasdaadf3] [http_proxy] get a new work connection: [xxxxxx:xxx]

信息即表示测试通过。

正式部署

服务器端

  将服务器端的程序丢到后台执行:

1
nohup ./frps -c frps.ini & #这里是将命令./frps -c frps.ini在后台执行不挂起,忽略输入并把输出追加到"nohup.out,可以使用jobs -l查看该进程

客户端

  通过vb来实现后台启动frp客户端:
新建文件 frp.vbs ,添加内容为:

1
2
3
dim 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.exefrpc.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 岁被迫自缢而终

本文标题:通过frp内网穿透实现外网访问校内资源

文章作者:Alliot

发布时间:2018年05月05日 - 11:05

最后更新:2018年05月09日 - 15:05

原始链接:https://www.iots.vip/post/frp-nat-proxy.html

许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 转载请保留原文链接及作者。

如果此文为您解决燃眉之急或是带来些许明朗,不妨打赏Alliot一杯香茗或是一杯咖啡