frpc 基本使用指南 您所在的位置:网站首页 sakura节点官网 frpc 基本使用指南

frpc 基本使用指南

2023-07-05 08:45| 来源: 网络整理| 查看: 265

本文档中给出的命令大多需要 root 权限才能运行,请确保您现在已经处于有 root 权限的环境下。

如果您现在没有切换到 root 账户下,那么请使用 su 或者 sudo -s 命令来进行切换。

# 确认处理器架构

下载 frpc 前,请先确认您的处理器架构。执行下面的命令,根据输出结果查表:

uname -m 输出架构i386, i686i386x86_64amd64arm, armelarm_garbagearmv7l, armhfarmv7*aarch64, armv8larm64mipsmips*mips64mips64*如果您使用 armv7 版时出现 Illegal instruction 报错,请下载 arm_garbage 版本重试mips/mips64 架构还需要确认字节序,请参考 下一节 进行操作,其他架构无需执行此操作如果您使用 Termux+PRoot 运行其他发行版,或使用某 "开源手机 AI 开发框架",可能会碰到 Segmentation fault 报错。这是一个已知的 UPX 与 PRoot 及部分 Linux 内核协作的 Bug,请使用 upx -d 解压程序使用,或在下载地址后加 _noupx 下载已解压的版本# 确认处理器字节序 (mips/mips64)# 一般来说只需要使用这条命令: echo -n I | hexdump -o | awk '{print substr($2,6,1); exit}' # 如果上面的命令报错,请尝试这条: echo -n I | od -to2 | awk '{print substr($2,6,1); exit}' 输出架构0mips / mips641mipsle / mips64le# 安装 frpc

登录管理面板,转到 “软件下载” :

选择 Linux 系统,然后选择正确的架构,点击按钮复制下载链接:

使用下面的命令进入 /usr/local/bin 目录并下载文件:

cd /usr/local/bin # 一般来说只需要使用这条命令: wget -O frpc # 如果上面的命令报错,请尝试这条: curl -Lo frpc # Linux frpc 通常已经过 UPX 压缩,如需下载未压缩的版本请在下载地址尾部加上 _noupx

然后设置权限并校验文件是否有损坏:

chmod 755 frpc ls -ls frpc md5sum frpc

此时 frpc 就安装完成并可以正常使用了。您可以用此命令查看 frpc 版本号:

frpc -v # 使用 frpc

请查看 启动隧道 一节了解如何启动 frpc 并连接到您的隧道。

通过本文档中介绍的方法安装后,您应该可以在任何目录直接输入 frpc 运行 frpc ,不需要 输入完整路径

# 简易后台运行

注意

不推荐采用 & 将 frpc 放到后台运行,建议参考下面的 配置开机自启 一节将 frpc 注册为系统服务

如果要临时将 frpc 放到后台运行,可以在运行命令的后面加 &,例如:

frpc -f wdnmdtoken666666:12345 & # 配置开机自启

提示

本文档暂未覆盖到 Upstart 和 SysV-Init,如果您熟悉这些初始化系统,欢迎提交 PR在新窗口打开

本文档提供下列初始化系统的自启配置指南:

Systemd~Upstart~~SysV~

以及下列发行版的服务配置指南:

OpenWrt

如果您不清楚您的 Linux 系统使用的 初始化系统 是什么,请执行下面的命令然后查看输出:

if [[ `/sbin/init --version` =~ upstart ]]; then echo Upstart; elif [[ `systemctl` =~ -\.mount ]]; then echo Systemd; elif [[ -f /etc/init.d/cron && ! -h /etc/init.d/cron ]]; then echo SysV-Init; else echo Unknown; fi

在 macOS 安装 frpc 需要在 终端 (Terminal.app) 下执行一些命令。

如果您对 macOS 的命令行操作不熟悉,请严格按照文档进行操作避免出现意外。

# 打开终端并提升到 root 权限

按下键盘上的 ⌘ + 空格 调出聚焦搜索并键入 终端,双击终端图标

您应该会看到类似下图的窗口

执行下面的命令

sudo -s

输入您当前账户的密码并按下回车

提示

您会发现终端并没有显示您输入的密码,不用担心,“摸黑”输入密码后按下回车即可,退格按键同样可用

如果您看到和图里一样的输出(出现 #),说明您已成功提升到 root 权限

# 安装 frpc

使用下面的命令进入 /usr/local/bin 文件夹:

mkdir -p -m 755 /usr/local/bin && cd /usr/local/bin

注意

我们建议您使用此处的命令下载 frpc,如果您使用浏览器下载可能会出现无法运行的问题 如果出现上述问题,您可以参考 此 FAQ 解决

然后,使用下面的命令下载 frpc:

# 如果您使用的是 Apple Silicon 设备 (如 M1 CPU),请使用下面的命令 curl -Lo frpc https://getfrp.sh/d/frpc_darwin_arm64 # 否则 (如 Intel CPU),请使用下面的命令 curl -Lo frpc https://getfrp.sh/d/frpc_darwin_amd64

使用下面的命令设置权限并检查输出:

chmod 755 frpc ls -ls frpc

如果您看到和图中红框标记匹配的输出,说明 frpc 已完成安装并准备就绪

您可以执行下面的命令再次确认以及查看 frpc 版本号

frpc -v # 使用 frpc

请查看 启动隧道 一节了解如何启动 frpc 并连接到您的隧道。

通过本文档中介绍的方法安装后,您应该可以在任何目录直接输入 frpc 运行 frpc,不需要 输入完整路径

我们不推荐在 Windows 系统上直接使用 frpc,除非您有特殊需求,否则请 使用启动器。

# 确认系统架构

下载 frpc 前,请先确认您的处理器架构。按 Win+R 打开运行窗口:

输入 msinfo32 然后点确定,找到 系统类型 一栏显示的 基于 XXX 的电脑:

然后根据下表确认您的系统架构:

系统类型架构x86i386x64amd64ARM64ARM64# 下载 frpc

登录管理面板,转到 “软件下载”:

选择 Windows 系统,然后根据您的系统架构选择一个合适的版本下载

# 使用 frpc

请查看 启动隧道 一节了解如何启动 frpc 并连接到您的隧道。

这里提供一个简单的命令行启动示例:

首先找到您之前下载的 frpc,在本示例中,文件名为 frpc_windows_amd64.exe

按住 Shift 然后 右键 点击空白区域,选择 在此处打开 Powershell 窗口 或者 在此处打开命令窗口:

然后按下图中的说明输入您下载的 frpc 文件名和启动参数,按回车启动 frpc:

使用 frpc 前,请先 查看您的访问密钥。您可以通过下列方式启动 frpc:

启动方式说明TUI易于上手,适合不熟悉命令行的新手用户命令行支持更复杂的配置,适合高级用户# 查看访问密钥

本文档所提到的 访问密钥(有时也叫 Token)是专门用于客户端(启动器、frpc)登录的一个 专用密码,与您的账户登录密码 不同。

安全警告

请妥善保管您的访问密钥,截图时注意打码。若访问密钥不慎泄露,请尽快到 用户信息在新窗口打开 界面进行重置

您可以在 管理面板在新窗口打开 点击 查看访问密钥 按钮查看并复制访问密钥:

本文档通常使用 wdnmdtoken6666666 作为示例密钥,实际操作时请将其替换为您自己的访问密钥。

# 通过 TUI 启动隧道

在 frpc.ini 不存在的情况下,不带参数直接运行 frpc 会打开 TUI(文本图形界面)。

在 Token 后面的文本框内输入访问密钥,然后使用 Tab 键切换到 Login 按钮并按 回车 键登录 (若终端支持也可使用鼠标进行操作):

登录成功后 TUI 会显示当前账户下的隧道列表,使用方向键选中想要启动的隧道,按空格标为绿色 (或使用鼠标直接点击隧道):

提示

可以一次性启用多个隧道,您也可以直接选中节点来启用该节点下的所有隧道

选择完毕后,按 Ctrl-C 即可启动隧道,相关启动参数会被保存到配置文件 frpc.ini 中,下次不带参数直接运行 frpc 时不再显示 TUI 而是直接启动隧道:

提示

自 v0.42.0-sakura-3 版本起,启动时若不带参数 且 frpc.ini 存在,您会看到 正在使用配置文件运行,在 3 秒内按任意键进入配置模式 的提示。按下任意按键即可进入配置界面,否则 frpc 会自动加载 frpc.ini 并启动里面保存的隧道

# 通过命令行启动隧道# 从面板获取启动参数

要获取启动参数,最简单的方法就是在管理面板中直接查看了。点击隧道操作中的 配置文件 选项即可进行查看:

如果要同时启动多条隧道,先勾选要启动的隧道再点击 批量操作 中的 配置文件 选项:

弹出对话框后,如图所示复制启动参数并粘贴到 frpc 命令后面即可,注意中间要用空格分开。

在上面这个例子中,我们启动隧道的命令就是:

frpc -f wdnmdtoken6666666:114514,114516 # ^ # 注意这里有一个空格 # 启动参数格式

注意

如果您没有按照 基本使用指南 安装 frpc,或您使用的是 Windows 系统,启动时要把 "frpc" 换成下载到的的文件名,例如 frpc_windows_386.exe、./frpc_linux_amd64

frpc 支持通过 ID 启动单条或多条隧道,也可以直接开启位于某个节点的所有隧道。旧版 frpc 同时启动多条隧道时,这些隧道必须位于同一节点,新版 frpc 无此限制,详见 常见问题-一个 frpc 可以连接多条隧道吗。

启动参数的格式如下:

frpc -f :[,启动目标2[,启动目标3...]]

多个 启动目标 使用半角逗号 "," 分开,中间不能有空格或其他字符。每个 启动目标 可以是一个隧道 ID(如 123456)或是 n 前缀加上节点 ID(如 n233)。

# 使用举例

假设您使用的是 Linux 系统,且已跟随文档正确安装了 frpc,您的隧道列表如下图所示:

启动第一条 隧道 ID 为 114514 的隧道:

frpc -f wdnmdtoken666666:114514

启动 #29 圣何塞CUVIP 节点下的所有隧道,则有两种方法:

# 直接使用节点 ID frpc -f wdnmdtoken666666:n29 # 一个个输隧道 ID frpc -f wdnmdtoken666666:114514,114515

启动图中的所有隧道

# 使用节点 ID frpc -f wdnmdtoken666666:n20,n29 # 一个个输隧道 ID frpc -f wdnmdtoken666666:114514,114515,114516 # 混着用也可以 frpc -f wdnmdtoken666666:n29,114516 # 进阶使用

这是一篇适合绝大多数用户的简明使用教程,因此文中省略了很多特性和配置说明。

如果您是高级用户,您还可以在 用户手册 获取更多关于 frpc 的信息,例如命令行开关和配置文件细则。

SakuraFrp 提供 frpc 镜像 (Docker Hub在新窗口打开, GitHub Packages在新窗口打开) 以便您借助 Docker 运行 frpc。

关于镜像源

如果您的网络访问 Docker Hub 存在困难,对于所有使用 natfrp/frpc 镜像名处,您可以尝试替换为下面的内容之一:

ghcr.io/natfrp/frpcregistry.cn-hongkong.aliyuncs.com/natfrp/frpc

部分位于中国大陆的镜像源缓存了一个有问题的 frpc 且一直没更新,如果您碰到 exec: "infocmp": executable file not found in $PATH 的错误,请使用上面列出的镜像源或官方源

# 图形用户界面

本教程只介绍命令行操作,如果您使用以下平台,点击链接可查看对应的 GUI 操作说明:

群晖 DSM威联通 QNAPUnraid绿联 NAS# 设置隧道的本地 IP

因为 Docker 的网络模型不同,把隧道的 本地IP 设置为 127.0.0.1 已经不再奏效,必须修改 本地IP。

因为默认的 bridge 网桥模式兼容性和安全性更高,下面的教程默认采用此方案。

首先运行下面的命令检查 Docker 默认网桥的 网关IP:

ip addr show docker0 |grep inet # 输出大概长这样: # inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 # inet6 fe80::xx:xxxx:xxxx:xxxx/64 scope link

其中 172.17.0.1 我们后面要用到的 网关IP,在创建隧道时请将其设置为 本地IP:

或者在 隧道列表在新窗口打开 中编辑要启动的隧道,将 本地IP 修改为正确的内容:

# 创建容器并启动 frpc

注意

切记不要创建不同名字、相同启动参数的容器,这会造成严重的冲突,隧道将无法正常启动 可以用 docker ps 查看已启动的容器

执行下面的命令就能创建一个容器并启动 frpc:

docker run \ -d \ --restart=on-failure:5 \ --pull=always \ --name=sakura1 \ natfrp/frpc \ -f --remote_control

请注意每行(除了最后一行)末尾都有一个 \,并且 \ 后面没有任何东西(包括空格)。

下面是对各行参数的说明:

参数说明-d在后台运行--restart=on-failure:5系统重启或隧道崩溃时自动重启 frpc--pull=always总是检查镜像更新--name=sakura1为容器设定一个名字,这里以 sakura1 为例natfrp/frpc使用 DockerHub 源,也可以换成其他的。- 阿里云香港镜像,适合内地用户:  registry.cn-hongkong.aliyuncs.com/natfrp/frpc- GitHub Packages:  ghcr.io/natfrp/frpc--remote_control 远程管理功能的相关配置,如果不需要可以不写

如果一切顺利,Docker 会为我们下载并启动镜像,您会看到一行 Hash 输出,这就是容器的 ID。

# 获取连接信息

连接信息在容器的日志中会输出,执行 docker logs 即可查看。

在上面的示例命令中容器名是 sakura1,因此您应该执行 docker logs sakura1 进行查看。

# 停止、删除与更新容器

停止:docker stop

删除:docker rm

更新:停止并删除当前容器,然后使用带有 --pull=always 的启动指令重新启动。

# 挂载文件到容器内

提示

Docker 镜像的工作目录默认为 /run/frpc/

如果您需要挂载文件到容器内(例如为自动 HTTPS 配置自定义证书),您可以在启动命令中加入 -v 参数,语法为 -v ::ro。

下面的例子将容器外的 /root/my.{crt,key} 挂载到容器内的 /run/frpc/example.com.{crt,key},并且设置为只读:

docker run \ -d \ # 后台运行 --restart=on-failure:5 \ --pull=always \ --name=sakura1 \ -v /root/my.crt:/run/frpc/example.com.crt:ro \ -v /root/my.key:/run/frpc/example.com.key:ro \ natfrp/frpc \ -f --remote_control


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有