内网穿透 frp

介绍

5年前就开始断断续续使用frp,除了 nat 功能外,在某些网络协议受限的情况下使用它也非常有效。这篇文章稍微记录它的一些操作。

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

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

官网:https://gofrp.org/

下载

https://github.com/fatedier/frp/releases/tag/v0.52.3

我的服务端是Linux,下载:frp_0.52.3_linux_amd64.tar.gz

客户端是Mac,下载:frp_0.52.3_darwin_arm64.tar.gz

服务端

使用 systemd管理:

文件/etc/systemd/system/frps.service

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /var/local/frp/frps -c /var/local/frp/frps.toml

[Install]
WantedBy = multi-user.target

配置文件frps.toml:

bindPort = 7000

命令行设置:

systemctl daemon-reload
systemctl enable frps.service
systemctl restart frps.service

客户端

Mac 下使用 launchd 管理:

文件 ~/Library/LaunchAgents/frpc.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>KeepAlive</key>
  <true/>
  <key>Label</key>
  <string>frpc</string>
  <key>ProgramArguments</key>
  <array>
    <string>/Users/kelu/Workspace/bin/frp_0.52.3_darwin_arm64/frpc</string>
    <string>-c</string>
    <string>/Users/kelu/Workspace/bin/frp_0.52.3_darwin_arm64/tmp.toml</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

命令行设置:

launchctl load ~/Library/LaunchAgents/frpc.plist 
launchctl restart frpc

image-20231211094334367


git 一次性拉取所有分支并缓存到本地 & 一次性push本地分支到远端 置身事内:中国政府与经济发展 摘抄