通过frp内网穿透实现外网访问校内资源

原文地址 https://www.iots.vip/post/frp...
  又到了要交论文的毕业季,如何在外网访问学校免费的万方、知网等数据库是个问题,本文记录了通过frp工具实现内网穿透从而实现外网访问校内资源的过程。<!--more-->
  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两个文件,其他的可以删除。
配置文件使用默认,执行:

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

输出信息为

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.exe 与frpc.ini
我们这里使用http_proxy模式,关于frp的其他功能配置见frp项目首页 使用notepad++修改frpc.ini如下:

[common]
server_addr = 你的服务器IP 
server_port = 7000
[http_proxy]
type = tcp
remote_port = 6000
plugin = http_proxy

打开命令提示符cmd,CD到解压目录
执行:

frpc.exe -c frpc.ini

无error即可。
同时在服务器端输出类似于

2018/05/05 11:45:39 [I] [proxy.go:86] [0dasdasdaadf3] [http_proxy] get a new work connection: [xxxxxx:xxx]

信息即表示测试通过。

正式部署

服务器端

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

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

客户端

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

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:Windowsfrpfrpc.exe -c C:Windowsfrpfrpc.ini 我是将frpc.exe与frpc.ini两个文件置于C盘Windowsfrp文件夹下的,大家可以根据自己的路径来修改。
  这样我们直接双击frp.vbs即可执行,可以在任务管理器中看到frpc.exe的进程。
  打开运行(开始菜单-运行)输入

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

并回车弹出资源管理器,将frp.vbs放入该目录下,即可实现开机后台自启(具体有什么用,你懂的)

浏览器设置

现在我们已经在家里准备用学校的万方了,应该怎样设置呢?
由于我们frp客户端使用的是http_proxy模式,所以需要在我们的浏览器中添加一个代理服务器:
点击浏览器设置——代理服务器设置(360极速浏览器直接在地址栏输入chrome://settings/proxy360)
在代理服务器列表中输入: 你的IP:6000,并在代理服务器设置中勾选该代理即可。
现在你已经能够免费下载万方等数据库的论文了。

其他注意事项

相关推荐