Skip to content

StellarFrpc 使用教程

本教程将指导您在 Linux 系统上使用 StellarFrpc,并支持多条隧道配置及后台运行。


1. 检查系统架构

在下载前,我们需要确认您的系统架构。

执行以下命令查看系统架构:

bash
uname -m

常见的返回值和对应架构如下:

  • x86_64:64 位系统
  • i386i686:32 位系统
  • armv7laarch64:ARM 架构

根据输出选择正确的下载文件。


2. 下载 StellarFrpc

根据您的系统架构,前往以下地址下载对应的 StellarFrpc 客户端:

StellarFrpc 下载页面

下载完成后,将文件保存到您的工作目录中。


3. 解压并设置权限

假设下载的文件名为 stellarfrpc.tar.gz,使用以下命令解压并设置权限:

bash
tar -xvzf stellarfrpc.tar.gz
cd stellarfrpc
chmod +x stellarfrpc

4. 配置隧道

StellarFrpc 的启动命令格式为:

bash
./stellarfrpc -u <token> -t <隧道名1,隧道名2,...>

示例:启动多条隧道

假设您的 tokenexample_token,需要启动 隧道1隧道2隧道3,执行以下命令:

bash
./stellarfrpc -u example_token -t 隧道1,隧道2,隧道3

此命令会同时启动多个隧道。


5. 持续运行

为了让 StellarFrpc 持续运行,您可以选择以下方法之一:

方法 1:使用 screen

安装 screen

bash
sudo apt-get install screen

创建一个新的 screen 会话并运行 StellarFrpc:

bash
screen -S stellarfrpc ./stellarfrpc -u example_token -t 隧道1,隧道2,隧道3

按下 Ctrl + A,然后按 D 退出 screen,进程将继续在后台运行。

方法 2:使用 nohup

使用 nohup 命令运行:

bash
nohup ./stellarfrpc -u example_token -t 隧道1,隧道2,隧道3 > output.log 2>&1 &

此方式会将输出记录到 output.log 文件中。

方法 3:使用 pm2

安装 pm2

bash
npm install -g pm2

使用 pm2 启动 StellarFrpc:

bash
pm2 start ./stellarfrpc -- -u example_token -t 隧道1,隧道2,隧道3

查看运行状态:

bash
pm2 status

停止服务:

bash
pm2 stop stellarfrpc

方法 4:使用 systemd(推荐)

使用 systemd 可以将 StellarFrpc 设置为系统服务,实现开机自启动和便捷管理。

  1. 创建服务配置文件:
bash
sudo nano /etc/systemd/system/stellarfrpc.service
  1. 在文件中添加以下内容:
ini
[Unit]
Description=StellarFrp Client Service
After=network.target
Wants=network-online.target
# 如果需要在其他服务之后启动,可以添加以下行
# After=mysql.service

[Service]
# 服务类型
Type=simple
# 运行服务的用户
User=root
# 可选:运行服务的用户组
# Group=root

# 工作目录设置(非常重要)
# 这里必须设置为 StellarFrpc 所在的完整路径
# 例如:如果您的 stellarfrpc 在 /home/username/stellarfrpc 目录下
WorkingDirectory=/path/to/stellarfrpc/directory

# 启动命令设置
# 必须使用完整路径指向可执行文件
ExecStart=/path/to/stellarfrpc/directory/stellarfrpc -u example_token -t 隧道1,隧道2,隧道3

# 环境变量设置(可选)
# Environment="VAR1=value1" "VAR2=value2"

# 重启策略
Restart=always
RestartSec=5

# 资源限制(可选)
# LimitNOFILE=65535

# 进程优先级设置(可选,-20 到 19,-20 最高优先级)
# Nice=0

# 安全设置(可选,增强安全性)
# ProtectSystem=full
# PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. 服务配置文件关键参数详解:

[Unit] 部分

  • Description:服务描述,便于识别
  • After:指定本服务应在哪些服务之后启动
  • Wants:指定本服务与其他服务的弱依赖关系

[Service] 部分

  • Type:服务类型,常用选项:

    • simple:默认值,ExecStart 启动的进程为主进程
    • forking:ExecStart 启动的进程会调用 fork() 创建子进程,父进程退出后服务启动成功
    • oneshot:类似 simple,但进程退出后服务就结束
  • User/Group:指定运行服务的用户和用户组

    • 建议:出于安全考虑,最好创建专用的低权限用户运行服务
    • 示例:useradd -r -s /sbin/nologin stellarfrp
  • WorkingDirectory工作目录设置(非常重要)

    • 必须设置为 StellarFrpc 可执行文件所在目录的完整路径
    • 错误的工作目录会导致服务无法正常启动
    • 示例:如果您的文件在 /home/username/stellarfrpc/ 目录下,则设置为该路径
  • ExecStart:启动命令

    • 必须使用可执行文件的完整路径
    • 参数中的 token 和隧道名称根据实际情况修改
  • Environment:设置环境变量(可选)

    • 格式:Environment="VAR1=value1" "VAR2=value2"
  • Restart:重启策略

    • always:总是重启
    • on-failure:仅在异常退出时重启
    • on-abnormal:在收到信号、超时或异常退出时重启
  • RestartSec:重启前等待的秒数

[Install] 部分

  • WantedBy:定义服务的启动目标,multi-user.target 表示多用户模式
  1. 工作目录设置实例

假设您的 StellarFrpc 位于 /home/username/stellarfrp/ 目录下:

ini
[Service]
User=username
WorkingDirectory=/home/username/stellarfrp
ExecStart=/home/username/stellarfrp/stellarfrpc -u your_token -t 隧道1,隧道2

如果您使用 root 用户并将 StellarFrpc 放在 /opt/stellarfrp/ 目录:

ini
[Service]
User=root
WorkingDirectory=/opt/stellarfrp
ExecStart=/opt/stellarfrp/stellarfrpc -u your_token -t 隧道1,隧道2
  1. 保存并关闭文件

  2. 重新加载 systemd 配置:

bash
sudo systemctl daemon-reload
  1. 启用服务(设置开机自启):
bash
sudo systemctl enable stellarfrpc.service
  1. 启动服务:
bash
sudo systemctl start stellarfrpc.service
  1. 查看服务状态:
bash
sudo systemctl status stellarfrpc.service
  1. 管理服务的常用命令:
bash
# 停止服务
sudo systemctl stop stellarfrpc.service

# 重启服务
sudo systemctl restart stellarfrpc.service

# 禁用开机自启
sudo systemctl disable stellarfrpc.service
  1. 日志管理:
bash
# 查看服务日志
sudo journalctl -u stellarfrpc.service

# 查看最近的50行日志
sudo journalctl -u stellarfrpc.service -n 50

# 实时查看日志(类似 tail -f)
sudo journalctl -u stellarfrpc.service -f

# 查看特定时间段的日志
sudo journalctl -u stellarfrpc.service --since "2023-01-01" --until "2023-01-02"

# 查看今天的日志
sudo journalctl -u stellarfrpc.service --since today
  1. 日志轮转配置(可选):

如果您希望对 StellarFrpc 的日志进行自动轮转,可以创建 logrotate 配置:

bash
sudo nano /etc/logrotate.d/stellarfrpc

添加以下内容:

/var/log/stellarfrpc.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 root root
}

使用 systemd 管理 StellarFrpc 的优势在于:

  • 服务异常退出时会自动重启
  • 开机自动启动
  • 便于管理和查看日志
  • 可以设置资源限制和安全策略
  • 可以与其他系统服务建立依赖关系

查看运行状态:

bash
pm2 status

停止服务:

bash
pm2 stop stellarfrpc

6. 查看运行状态

您可以使用以下命令检查 StellarFrpc 是否正在运行:

bash
ps aux | grep stellarfrpc

如果使用 pm2,可以直接执行:

bash
pm2 status

7. 停止 StellarFrpc

找到运行的进程 ID (PID) 并终止:

bash
ps aux | grep stellarfrpc
kill -9 <PID>

如果使用 pm2,执行以下命令停止服务:

bash
pm2 stop stellarfrpc

8. 常见问题

  1. 无法启动
    检查是否有执行权限:

    bash
    chmod +x stellarfrpc
  2. 无法连接
    确保您的网络环境可以访问 StellarFrp 服务器。

  3. 后台服务意外中断
    使用 pm2screen 可以更好地保证稳定运行。


9. 官方交流

如有其他问题或需要技术支持,欢迎加入 StellarFrp 官方群:

点击链接加入群聊【StellarFrp 官方群①】


皖ICP备2024033748号-6