mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 16:15:49 -06:00
[GH-ISSUE #1938] 提供一套完整的 RESTful api #1542
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#1542
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @liuweiGL on GitHub (Aug 11, 2020).
Original GitHub issue: https://github.com/fatedier/frp/issues/1938
需求
希望 frps 服务端能对外提供一套标准的 api,方便第三方使用。
暂时期望的 api 列表:
示例 api
Dreamacro/clash
使用场景
想要基于 api 开发一个代理管理服务,方便查看、维护代理配置。
解决的问题
@QQ2017 commented on GitHub (Aug 12, 2020):
其实自己也可以做的,frpc可以reload,所以支持动态增删代理,你只需要提供额外的管理程序。
至于信息获取方面,frps和frpc都有web管理接口,获取的数据都是标准json数据。
@liuweiGL commented on GitHub (Aug 12, 2020):
自己做,每个客户端都部署一套管理程序?
@liuweiGL commented on GitHub (Aug 12, 2020):
而且一般客户端都是内网环境,那我的管理程序本身还得再来个穿透?
@QQ2017 commented on GitHub (Aug 12, 2020):
可以这样做的,没有问题。你也可以做成DLL,让GO加载你的DLL,所有管理工作都在DLL中进行。
@QQ2017 commented on GitHub (Aug 12, 2020):
你自己应该有中间服务器吧,管理程序服务端放中间服务器就行了呀
@liuweiGL commented on GitHub (Aug 12, 2020):
不知道你说的中间程序是指什么呢?我目前使用 frp 就是 frps 跟 frpc 两个端。
@liuweiGL commented on GitHub (Aug 12, 2020):
我要 frps 暴露接口,就是为了把代理管理服务做成一个云管理平台。
这样的话,搭建内网穿透的时候,只需要部署 frps 跟 frpc 服务(不用配置),然后去管理服务进行维护就好了。
@QQ2017 commented on GitHub (Aug 12, 2020):
@liuweiGL commented on GitHub (Aug 12, 2020):
不一样,我这边的内网环境不止一套。
而且就算是放到能访问所有内网的跳机上,这样也不行: 如何自动更新客户端服务?自己弄只能手动维护这个信息。
@fatedier commented on GitHub (Aug 12, 2020):
@liuweiGL API 之后会重新设计,在计划中,但是只能用于获取信息,不能提供创建修改的能力。
客户端的配置目前的架构是客户端自己维护,服务端无法指定,这样的安全性会更高,不容易有漏洞暴露整个内网机器。
frpc 目前也有接口可以增删改查代理,这一块之后也会优化。
目前可能的一种方式,就是 frpc 提供一个选项,可以支持将自己的接口开放给 frps,frps 作为一个代理,再将这个接口提供给外部调用者。实际上目前也已经可以通过暴露 frpc admin service 的端口到 frps 来实现这一能力。
@skywalkerscott commented on GitHub (Sep 6, 2020):
目前我就是通过frpc admin 端口暴露给服务端,然后热加载配置实现的客户机的配置更新的
@liuweiGL commented on GitHub (Sep 7, 2020):
看个人的习惯吧,很多东西多绕几圈,都是能用的。
@xmsz commented on GitHub (Nov 30, 2021):
现在情况怎么样
@onlyGuo commented on GitHub (Oct 20, 2022):
沟通没在一个频道上,lssuse的原意是frpc仅注册到frps中,由frps统一管理配置和下发配置,而不是单独维护每个frpc的配置。
将7400交给frps是一个不是办法的办法
因为一旦frpc的数量多了的话,就得找个小本本记下来:
@pkxutao commented on GitHub (Apr 20, 2023):
请问现在开发完成了吗?我没找到相关文档
@aizhimou commented on GitHub (Nov 5, 2023):
请问下restful api开发有进展吗?我想做一个dashbord的移动端,找不到api
@github-actions[bot] commented on GitHub (May 22, 2025):
Issues go stale after 14d of inactivity. Stale issues rot after an additional 3d of inactivity and eventually close.
@everhopingandwaiting commented on GitHub (Nov 11, 2025):
做成 nps / npc 的客户端管理模式就满足你需求了吧