/ Technical / 4浏览

FRP——网络代理服务

FRP是一个开源的网络代理服务,支持HTTPS、HTTP、TCP、UDP、P2P协议转发,常用于网络代理和内网穿透,也是迄今为止一个性能最好,服务最稳定的代理软件,很遗憾像NPS没有再继续维护了,和一些国内闭源的各种代理都是打着免费其实各种收费圈线的幌子。

以下是项目的主要地址:希望项目越来越好!

https://github.com/fatedier/frp

1. 项目简介

以下是子项目:

  • frp 插件仓库,收录了基于 frp 扩展机制实现的各种插件,满足各种场景下的定制化需求。

https://github.com/gofrp/plugin
  • 基于 ssh 协议实现的 frp 客户端的精简版本(最低约 3.5MB 左右),支持常用的部分功能,适用于资源有限的设备。

https://github.com/gofrp/tiny-frpc

2. 配置参数详解

  • 详细内容可以参考中文说明文档:

https://gofrp.org/zh-cn/docs/overview/

2.1 Frp使用systemd服务管理

  • 在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。

(1)安装systemd服务

# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd

# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd

(2)创建 frps.service 文件

  • 使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

sudo vim /etc/systemd/system/frps.service
  • 写入启动服务

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

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

[Install]
WantedBy = multi-user.target

(3)使用 systemd 命令管理 frps 服务

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

(4)设置 frps 开机自启动

sudo systemctl enable frps

2.2 TCP & UDP代理

  • TCP 和 UDP 是 frp 中两种最基础的代理类型,用于代理监听在 TCP 和 UDP 端口的服务。

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
  • 通过 type 指定代理类型。

  • 监听远程6000端口,同时透传本地22端口,双向转发连接请求

达达下雨不吃鱼
Python全能依赖环境管理工具uv
基于H2O的AutoML机器学习详细说明
Glusterfs——开源分布式存储
声音大模型之音色克隆
深度学习机大模型领域相关术语及解释
Mysql慢查询优化