比各种网盘更好用!无需上传!用frp内网穿透将当前桌面或图片文件夹实时分享到互联网

535 阅读3分钟

互联网是个很开放的工具,我们可以将自己桌面的内容, 实时共享到互联网

图片

实时访问当前桌面的资源

图片

演示

上图实现的原理是内网穿透, 由于公网ip的数量有限, 我们无法通过ip直接访问自己某台电脑的资源

但我们可以分别在客户端和服务器安装frp内网穿透程序,服务端接收到浏览器请求后,自动从客户端取资源,实时返回给浏览器。

以上内网穿透方案的优点

  • 无需向运营商申请公网ip,即可完全自由可控地,将本地数据实时同步到互联网。

  • 使用简单,本地内容和web端内容完全同步,无中间服务器中转,即可发布到互联网。

  • 数据绝对安全!(因为没有第三方服务器的接入)由于消除了第三方服务器同步过程,还能节省上传流量。

  • 真的便宜!买一台5M带宽的服务器做穿透,一口气买三年,一天才几毛钱。

  • 非常适合计算密集型服务器,本地高性能cpu做运算,结果直接同步到弱鸡CPU服务器,节省运算时间,也节省服务器成本。

涉及的技术

内网穿透 技术开源地址 github.com/fatedier/fr…

frp分为客户端和服务端,服务端大多采用Linux

图片

服务端

  • 登录服务器将frp 的 Linux版下载到/opt 目录并解压
cd  /opt/

wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_386.tar.gz

tar zxvf https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_386.tar.gz

进入解压后的文件夹 frp_0.37.0_linux_386 会发现里面同时有客户端和服务端

客户端程序为 frpc 配置文件为 frpc.ini 服务器程序为 frps 配置文件为 frps.int

图片

frp目录说明

我们需要修改服务端配置文件 frps.ini

图片

image.png

[common]
bind_port = 7000
vhost_http_port = 8080

这里的意思是,服务端frp(frps) 运行在7000端口, 同时占用了8081端口,用于接收浏览器请求

然后运行 frps

./frps -c frps.ini

frps默认前台运行,如果你想以后台守护进程运行, 可以使用node.js版的pm2,

  • pm2 全局安装方式

首先安装node.js, npm默认和node.js一起安装

然后通过npm安装 pm2, npm i pm2 -g

pm2的使用也很简单

首先将 ./frps -c frps.ini 存入名为  start_frps.sh 的文件

然后 pm2 start start_frps.sh ,即可以守护进程的方式运行frps !

此时运行 pm2 list, 可以看到脚本正在运行中...

图片

守护运行中

如果要关闭frps服务, 运行 pm2 stop start_frps.sh 即可

来到客户端

如果是Windows客户端

下载  github.com/fatedier/fr…

图片

Windows

图片

Windows版

修改 frps.ini , 运行 ./frps -c frps.ini (做这步前, 请先将自己的域名解析到对应的主机IP上,否则没法填)

[common]
server_addr = 110.56.136.* (自己服务器的公网ip)
server_port = 7000

[web]
type = http
local_port = 8080
custom_domains = www.v2fy.com

图片

运行成功

此刻,所有 www.v2fy.com:8080的请求,都会转向本地机器的8080端口

图片

但是现在我们本地的8080端口没有任何http服务,所以报错了

我们通过http-server开启一个服务

首先安装node.js 然后通过 npm i http-server -g 安装 http-server

图片

安装nodejs

图片

安装http-server

运行hs -p 8080, 客户端运行成功

图片

在浏览器访问域名以及相应的端口, 搞定!

本文永久更新地址(欢迎来读留言,写评论):

www.v2fy.com/p/2021-07-0…