WebUI 项目前瞻 | WebUI Project Announcement #3317
xiaokangwang
started this conversation in
Show and tell
Replies: 1 comment 1 reply
-
支持! Web-gRPC API 这个api 是否有文档? 如果有文档的话,那么第三方也可以写UI, 不局限于 Rv (Rendezvous)。 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
在过去的几年里,作为 V2 的开发者,图形化客户端一直是一个痛点问题。
一方面,图形化客户端的简化操作相较于手工编辑配置文件更加简洁和易用。因此,对于很多用户来说,一个可以以较低学习成本掌握和使用的客户端一直是优先级较高的需求。对于用法涉及使用订阅文件的用户来说更是如此,毕竟订阅文件一般无法被代理程序核心直接处理。因此,一个好的图形化界面可以为代理软件带来更多用户和支持。
与此同时,市面上常见的图形化客户端的生成配置文件工作原理对于较为复杂的使用需求来说是一种不必要的阻碍,因为用户的非常见需求很可能无法被图形化客户端的配置文件生成器满足,必须通过定制的配置文件内容才能实现。对于开发者来说,图形化客户端导致配置文件格式的更新和新功能的加入都需要客户端更新才能被展示给用户,对推广新功能造成了不必要的阻碍。
为了解决以上这些问题,V2经过仔细调查和研究,开发了V2的内建 WebUI 支持,相比于传统客户端:
客户端代码可以完全在浏览器内运行,无需任何本机代码。因此,客户端程序不再需要编译到不同平台,而是直接使用标准的Web框架在现代浏览器内运行。同时,客户端不再需要在后台运行,因为客户端所需的后台功能会由代理程序核心完成。 客户端不再生成配置文件,而是使用 gRPC API 与运行中的 V2 程序进行交互。因此,用户可以自定义配置文件,而无需担心配置文件被客户端覆盖。
为了实现以上构想,V2 的核心中已经内置了以下功能:
同时,基于此框架开发了名为 Rv(Rendezvous) 的 WebUI。虽然因为是现学现卖并不是特别完美,但是这个 WebUI 已经包含了以下功能:
当然了,V2 支持使用 dataurl 作为订阅链接,因此完全不用担心需要为固定的服务器找个地方托管订阅文件才能使用。
大家看到这里可能会觉得这又是一个有生之年的 GUI 客户端,但是呢:

PPT 项目什么的太高级了我搞不来,因此,今天大家可以开始试用本项目!使用方法如下:
English Version
In recent years, as a V2 developer, the graphical client has been a pain point.
On one hand, compared to manually editing configuration files, the simplified operations of graphical clients are more concise and user-friendly. Therefore, for many users, a client that can be mastered and used with a low learning curve has always been a high-priority requirement. This is particularly true for users who work with subscription files, as subscription files generally cannot be processed directly by the proxy program core. Thus, a good graphical interface can bring more users and support to the proxy software.
At the same time, the common graphical clients' configuration file generation mechanism can be an unnecessary obstacle for more complex usage requirements, as users' uncommon needs may not be met by the graphical client's configuration file generator and can only be achieved through customized configuration file content. For developers, graphical clients mean that configuration file format updates and new feature additions require client updates before they can be presented to users, creating unnecessary barriers to promoting new features.
To address these issues, after careful investigation and research, V2 has developed built-in WebUI support, which compared to traditional clients offers:
To implement this vision, V2's core has already integrated the following features:
Meanwhile, a WebUI named Rv (Rendezvous) has been developed based on this framework. Although it's not perfect due to being developed while learning, this WebUI already includes the following features:
Of course, V2 supports using dataurl as subscription links, so there's no need to worry about finding a place to host subscription files for fixed servers.
At this point, some might think this is another "announcement PPT only" GUI client project, but:

PPT projects are too sophisticated for me to handle, so today everyone can start testing this project! Here's how to use it:
Beta Was this translation helpful? Give feedback.
All reactions