72 lines
2.9 KiB
Markdown
72 lines
2.9 KiB
Markdown
# FRP 一键配置脚本
|
||
|
||
这是一个简化 FRP (Fast Reverse Proxy) 服务器 (frps) 和客户端 (frpc) 配置过程的 Bash 脚本。它自动化了 FRP 的下载、解压、配置文件生成以及 Systemd 服务的创建和启动。
|
||
|
||
---
|
||
|
||
## 功能特性
|
||
|
||
* **交互式选择**:允许用户选择配置 FRP 服务器 (frps) 或客户端 (frpc)。
|
||
* **自定义 FRP 下载**:用户可以提供 FRP 的完整下载链接,脚本会自动下载并解压。
|
||
* **自动配置 frps**:
|
||
* 引导用户输入服务器端口和认证 Token。
|
||
* 自动生成 `frps.toml` 配置文件。
|
||
* 创建并启用 `frps.service` Systemd 服务,实现开机自启动和后台运行。
|
||
* **自动配置 frpc**:
|
||
* 引导用户输入服务器地址、端口、认证 Token 以及要映射的远程端口。
|
||
* 自动生成 `frpc.toml` 配置文件,并预设了 SSH (22 端口) 的 TCP 转发配置。
|
||
* 创建并启用 `frpc.service` Systemd 服务,实现开机自启动和后台运行。
|
||
* **日志管理**:frps 和 frpc 的日志都将输出到 `/opt/frp.log`,并支持日志按天轮转。
|
||
|
||
---
|
||
|
||
## 如何使用
|
||
|
||
1. **下载脚本**:
|
||
将脚本内容保存为一个 `.sh` 文件,例如 `frp_setup.sh`。
|
||
|
||
2. **赋予执行权限**:
|
||
在终端中运行以下命令为脚本添加执行权限:
|
||
```bash
|
||
chmod +x frp_setup.sh
|
||
```
|
||
|
||
3. **运行脚本**:
|
||
使用 `sudo` 权限运行脚本:
|
||
```bash
|
||
sudo ./frp_setup.sh
|
||
```
|
||
|
||
4. **根据提示操作**:
|
||
脚本会引导你选择配置服务器或客户端,并要求输入相应的参数(如端口、IP 地址、Token 和 FRP 下载链接)。
|
||
|
||
* **下载链接示例**:你需要提供一个 FRP 发行版的 `.tar.gz` 文件的下载链接,例如:
|
||
`https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz`
|
||
请根据你的系统架构 (arm64, amd64 等) 和所需版本选择正确的下载链接。
|
||
|
||
---
|
||
|
||
## 脚本详情
|
||
|
||
* **安装目录**:FRP 可执行文件和配置文件将安装到 `/opt/frp/` 目录下。
|
||
* **配置文件**:
|
||
* 服务器配置文件:`/opt/frp/frps.toml`
|
||
* 客户端配置文件:`/opt/frp/frpc.toml`
|
||
* **日志文件**:`/opt/frp.log`
|
||
* **Systemd 服务**:
|
||
* 服务器服务:`frps.service` (位于 `/etc/systemd/system/`)
|
||
* 客户端服务:`frpc.service` (位于 `/etc/systemd/system/`)
|
||
* **服务状态检查**:
|
||
* 检查 frps 状态:`sudo systemctl status frps`
|
||
* 检查 frpc 状态:`sudo systemctl status frpc`
|
||
|
||
---
|
||
|
||
## 注意事项
|
||
|
||
* 运行此脚本需要 `sudo` 权限,因为它涉及到系统文件的修改和服务的管理。
|
||
* 请确保你提供的 FRP 下载链接是有效的 `.tar.gz` 压缩包。
|
||
* 脚本中客户端的 SSH 映射是预设的,如果你有其他端口映射需求,可以手动修改 `/opt/frp/frpc.toml` 文件。
|
||
* 请确保服务器和客户端的认证 Token 保持一致。
|
||
|
||
--- |