Skip to content

SpringMomu/Frp-Tool-Android

Repository files navigation

Frp-Tool-Android

FRP Manager for Android

一款让你在手机上轻松管理和监控服务器 frpc 服务的强大工具。

你可以点击这里下载最新自动构建的debug版本

应用截图1 应用截图2 应用截图3

项目简介

在服务器上部署和管理多个 FRP (Fast Reverse Proxy) 客户端 (frpc) 服务,通常需要通过 SSH 登录服务器,手动编辑配置文件、执行 systemd 命令,操作相对繁琐。

FRP Tool 是一款原生的安卓应用,旨在彻底改变这一体验。它通过 SSH 连接到您的 Linux 服务器,提供了一个直观的图形化界面,让您可以随时随地完成 frpc 的环境部署、配置管理、状态监控和日志查看等一系列操作,极大地提升了管理效率。

它可以做什么?

简单来说,这款软件将您从繁琐、重复且容易出错的服务器命令行操作中彻底解放出来,让您能通过一部安卓手机,以一种前所未有的直观、高效的方式,全面掌控和管理部署在远程Linux服务器上的所有frpc服务。

它不仅仅是一个简单的远程执行命令的工具,更是一套完整的、自动化的frpc生命周期管理方案。


彻底颠覆传统:Frp Tool 与传统方式的核心区别

传统的frpc配置与管理,是一系列严谨但枯燥的命令行任务。而 Frp Tool 将这些过程变成了轻松的点触操作。

对比一:部署方式的革命 —— 从“手动”到“自动”

  • 传统方式 (命令行操作):

    1. 登录: 通过SSH客户端(如PuTTY, Xshell)登录到服务器。
    2. 判断架构: 手动执行 uname -march 命令,判断服务器是 x86_64 还是 aarch64
    3. 下载解压: 去FRP的GitHub发布页找到对应的版本链接,使用 wget 下载,再用 tar -zxvf 解压。
    4. 部署与授权:frpc二进制文件移动到 /usr/local/bin 等路径,并使用 chmod +x 赋予执行权限。
    5. 创建目录: 手动创建 /etc/frp/ 以及 /etc/frp/conf.d/ 等配置文件目录。
  • Frp Tool (一键式向导):

    1. 输入凭据: 在手机App上输入SSH连接信息。
    2. 自动完成: 点击“连接并设置”后,App会在后台自动完成以上所有步骤。它会自动检测服务器架构,下载并部署最合适的frpc版本,创建所有必要的目录和systemd服务文件。整个过程对用户完全透明,只需几秒钟。

核心区别: 将复杂、多步、易错的手动部署流程,简化为一次授权、零干预的自动化任务。

对比二:配置管理的飞跃 —— 从“Vim”到“表单”

  • 传统方式 (命令行编辑):

    1. 连接: 再次SSH登录服务器。
    2. 编辑: 使用 vimnano 等命令行编辑器打开 .ini 配置文件。
    3. 记忆与输入: 需要精确记忆[common][section]local_ipremote_port等所有配置项的语法和拼写。少一个字母,多一个空格,都可能导致服务启动失败。
    4. 保存退出: 完成编辑后,执行保存退出命令。
  • Frp Tool (图形化管理):

    1. 点击添加: 在手机App上点击“添加端口”按钮。
    2. 填写表单: 在图形化界面中,直观地填写“本地IP”、“本地端口”、“远程端口”等信息,就像填写一张调查问卷。
    3. 点击保存: App会自动根据您填写的内容,在服务器上生成一个格式完美、语法正确的 .ini 配置文件。

核心区别: 用直观、规范、防错的图形表单,取代了对记忆和手打要求极高、学习曲线陡峭的命令行文本编辑。

对比三:服务监控的演进 —— 从“指令”到“仪表盘”

  • 传统方式 (命令查询):

    1. systemctl start frpc@xxxx 启动服务。
    2. systemctl status frpc@xxxx 查看服务是否在运行,输出的是大段的文本日志。
    3. journalctl -u frpc@xxxx 查看实时日志,需要手动筛选关键信息。
    4. top / htop / free -h 等命令切换着查看服务器的CPU和内存状态。
  • Frp Tool (可视化仪表盘):

    1. 状态总览: 主界面以进度条和数字清晰展示服务器实时的CPU、内存负载。
    2. 服务分类: 自动将所有frpc服务分类为“运行中”和“错误”,状态一目了然。
    3. 一键诊断: 对于“错误”的服务,点击即可直接查看格式化、高亮显示过的关键日志,快速定位问题。
    4. 便捷启停:(在管理页)通过开关按钮即可启停/重载服务,无需输入任何命令。

核心区别: 用集中、实时、可视化的数据面板,取代了分散、静态、纯文本的命令查询,让监控和诊断效率实现了质的飞跃。

对比四:操作平台的解放 —— 从“电脑”到“手机”

  • 传统方式:

    • 你必须守在一台安装了SSH客户端的电脑前。
  • Frp Tool:

    • 你可以在任何地方,只要手机有网络,就能随时随地处理服务器上的一切frpc事务——无论是在通勤路上,还是在咖啡馆里。

核心区别: 打破了物理空间的限制,赋予了服务器管理真正的移动性和便利性。

Frp Tool 的诞生,标志着frpc管理从一个手动、繁琐、易错的命令行时代,迈向了一个自动化、直观、高效的移动管理新范式。让强大的FRP功能变得更加平易近人,无论您是经验丰富的运维专家,还是偶尔有穿透需求的普通玩家,都能从中获得极致的便利。

核心功能

  • 🚀 一键式环境部署:

    • 自动化向导: 首次连接服务器时,自动检测环境(支持 Ubuntu, Debian, CentOS 等主流 systemd 发行版)。
    • 智能识别架构: 自动识别服务器 x86_64aarch64 架构,并部署对应版本的 frpc 可执行文件。
    • 自动配置: 自动创建必要的目录 (/etc/frp/) 和 systemd 服务模板 (frpc@.service),无需手动操作。
  • 📊 可视化仪表盘:

    • 实时状态监控: 在主界面实时显示服务器的 CPU内存使用率。
    • 服务状态总览: 清晰地展示端口总数、正在运行、以及有问题的服务数量。
    • 快捷列表视图: 点击各项数字,即可快速查看对应的端口列表。
  • 🛠️ 强大的端口管理:

    • 提供完整的 frpc 端口配置管理功能,包括添加、删除、修改和应用单个端口的转发规则。
    • 智能端口检测: 自动检测端口是否可用,有效防止端口冲突,确保配置顺利。
    • 协议灵活支持: 全面支持 TCPUDP 两种协议,满足多样化的穿透需求。
    • 代理开关控制: 允许单独控制每个端口的代理启用/禁用,此操作不影响其他端口,灵活管理服务状态。
    • 所有配置以 port_*.ini 的形式独立保存在服务器的 /etc/frp/conf.d/ 目录下,结构清晰。
  • 📄 多维度日志与信息查看:

    • 服务错误诊断: 对于状态错误的服务,可一键查看其详细的 systemd 状态和 journalctl 日志,快速定位问题。
    • 服务器信息总览: 集中展示服务器的运行时间、系统负载、内存和硬盘使用情况、内外网 IP 以及防火墙状态。
  • ⚙️ 灵活的配置中心:

    • SSH 连接管理: 保存和管理连接到服务器的 SSH 认证信息(主机、端口、密码/密钥)。
    • FRP 通用配置: 统一设置所有 frpc 服务需要连接的 frps 服务器地址、端口及 token
    • 防火墙管理:(可选)集成对 firewalld / ufw 的自动端口开放管理。
    • 强大的筛选功能: 轻松筛选和查找您需要的端口配置,尤其适用于管理大量端口的场景。

项目特点

  • 完全移动化: 摆脱电脑束缚,随时随地通过手机管理您的内网穿透服务。
  • 高度自动化: 从环境部署到服务管理,大量重复性工作被自动化脚本和流程取代,降低手动操作的出错率。
  • 用户友好: 精心设计的多步骤向导和强大的筛选功能,提供流畅舒适的操作体验。
  • 安全可靠: 所有操作均通过标准的 SSH 协议进行,保证通信过程安全性。
  • 清晰的架构: 服务器端的配置遵循 systemd 标准实践,配置文件分门别类,易于理解和手动维护。

技术栈

  • 前端: Android (Java) + Material Components
  • 后端 (服务器端): Bash Script
  • 核心协议: SSH (基于 net.schmizz.sshj 库)
  • 核心服务: FRP (frpc)

如何使用

  1. 下载并安装:首先,请下载并安装最新版的 FRP Tool 应用。
  2. 配置 SSH 连接
    • 首次打开应用时,会弹出一个“SSH 连接配置”窗口。
    • 在这里,你需要填入你的服务器 IP 地址SSH 端口(默认为 22)以及 root 用户的密码
    • 重要提示:本工具需要 root 权限才能执行自动化管理。请务必确保你的服务器允许 root 用户通过密码登录。如果连接失败,请检查服务器的 /etc/ssh/sshd_config 文件,确认 PermitRootLogin yes 是否已设置。
  3. 完成环境初始化向导
    • 保存 SSH 连接信息后,应用会自动检查服务器环境。
    • 如果是首次使用,应用会提示你启动“环境初始化向导”。请根据向导的指引,完成 frpc 运行环境的自动化部署。
  4. 配置 FRP 服务连接
    • frpc(FRP 客户端)需要与 frps(FRP 服务器)配合才能工作。因此,在开始使用 FRP Tool 管理端口转发之前,请确保你的远程服务器上已经部署了 frps 服务
    • FRP Tool 的“配置中心”中,你需要统一设置所有 frpc 服务需要连接的 frps 服务器地址、端口和 token
  5. 开始管理你的 frpc 服务
    • 完成上述配置和部署后,你就能在主界面的仪表盘看到服务器的实时状态。
    • 现在,你可以进入端口管理页面,添加、删除、修改和控制你的 frpc 端口转发服务了!

待办事项 (TODO)

欢迎社区贡献力量,共同完善本项目!以下是一些可以着手的方向:

  • 支持非 root 用户,通过 sudo 执行指令。
  • 增加对 Windows 系统的支持。
  • 日志总览查看器

贡献

欢迎任何形式的贡献!您可以:

  1. Fork 本项目
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 将您的分支推送到远程 (git push origin feature/AmazingFeature)
  5. 提交一个 Pull Request

署名

该项目由 Momu 开发和维护(QQ:2323563421)。

许可证 (License)

本项目采用 MIT license 开源协议。

About

通过SSH轻松管理和监控Linux服务器上的frpc服务

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published