在教室里上网课没法使用寝室里的台式机,不如利用frp给寝室里的台式做一个内网穿透,顺便直接把jupyter广播出去。教室里可以使用寝室电脑的算力,岂不美哉

P.S. 实测腾讯云学生机1M带宽远程桌面也还行

github地址:
https://github.com/fatedier/frp

Frps 服务器端

首先是把服务端的文件从GitHub下载到服务端上

wget https://github.com/fatedier/frp/releases/download/v0.34.2/frp_0.34.2_linux_amd64.tar.gz

解压

tar -xzvf frp_0.34.2_linux_amd64.tar.gz

打开文件夹

cd frp_0.34.2_linux_amd64

创建配置文件的文件夹

cd /etc
sudo mkdir frp
cd frp

将配置文件放入文件夹
注意
/path/to指的是你刚才解压文件的地方 :--)

cd /path/to/frp_0.34.2_linux_amd64
sudo cp frps.ini /etc/frp

将服务模块放入服务文件夹

cd /path/to/frp_0.34.2_linux_amd64/systemd
sudo cp frpc.service /lib/systemd/system/frps.service

将frp程序放入bin文件夹

cd /path/to/frp_0.34.2_linux_amd64
sudo cp frpc /usr/local/bin

修改配置文件,vim的使用方法请自己查找教程

vim /etc/frp/frps.ini

下面是详细的配置情况,由于我用到的只有这么多,所以只写了这么多
bind_port 是指frp服务绑定服务器的端口
vhost_http_port是指穿透的http服务绑定到服务器的端口,如果要访问穿透的HTTP服务,请访问http://www.yourdomain.com:vhost_http_port
vhost_https_port是指穿透的https服务绑定到服务器的端口, 如果要访问穿透的HTTPS服务,请访问https://www.yourdomain.com:vhost_http_port
dashboard_port是frp监控台的服务器端口, 如果要访问frp监控台,请访问https://www.yourdomain.com:dashboard_port
dashboard_user是登陆frp监控台需要的用户名
dashboard_pwd是登陆frp监控台需要的密码
token是连接frp需要的token密钥
log_file是frp的日志信息的存放地址
log_level是frp日志信息记录的等级
log_max_days为了防止日志信息过大,只储存log_max_days的天数
subdomain_host服务器网址

bind_port = 1900

vhost_http_port = 8082
vhost_https_port = 4434
dashboard_port = 9991
dashboard_user = username
dashboard_pwd = *********

token=*******

log_file = ./frps.log
log_level = info
log_max_days = 3

subdomain_host = www.mhrooz.xyz

刷新服务

sudo systemctl daemon-reload

开启frps

sudo systemctl start frps

如果没有返回信息,查看运行状态

systemctl status frps

如果成功,返回状态为

● frps.service - Frp Server Service
   Loaded: loaded (/lib/systemd/system/frps.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-11-15 10:03:24 CST; 13h ago
 Main PID: 20170 (frps)
    Tasks: 3 (limit: 2126)
   CGroup: /system.slice/frps.service
           └─20170 /usr/local/bin/frps -c /etc/frp/frps.ini

frpc 服务端

下载frpc windows端
https://github.com/fatedier/frp/releases/download/v0.34.2/frp_0.34.2_windows_amd64.zip

解压缩

编辑配置信息 frpc.ini

server_addr是服务器的IP地址
server_port是对应frps.inibind_port
token是对应frps.initoken

[common]
server_addr = your_domain_ip
server_port = 1900
http_proxy =
token = **********
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

如果要添加HTTP或者其他服务(比如远程桌面)

web项必须要填custom_domains,是服务器的域名
其他的服务对应填
type是指协议类型
local_port是本地服务的端口
remote_port是远程服务的端口

理论上只要服务器端的端口没有被占用就可以一直加服务 = =

[web]
type=http
local_port = 8888
custom_domains = www.yourdomain.com
[Mhrooz]
type=tcp
local_port=3333
remote_port=3333

接着用power shell打开当前文件夹,执行指令

.\frpc.exe -c frpc.ini

如果成功

大功告成!

到这里为止就将本地机通过服务器广播到公网上了,要访问对应的服务,只需要访问www.yourdomain:your_server_port即可

1M是真滴慢 = =


Humble Halten