Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] WebUI support for non-Merlin Asuswrt system #85

Open
peter17ji opened this issue Nov 1, 2024 · 3 comments
Open

[Feature Request] WebUI support for non-Merlin Asuswrt system #85

peter17ji opened this issue Nov 1, 2024 · 3 comments

Comments

@peter17ji
Copy link

天选TX-AX6000,MTK芯片,软件版本388.33411,希望能适配WebUI。貌似缺了个内核模块导致脚本没有选装WebUI,不知道有没有别的办法。

peter@TX-AX6000-FB4C:/tmp/home/root# nvram get rc_support mssid 2.4G 5G update usbX1 rawifi switchctrl manual_stb 11AC 11AX mbo ofdma wpa3 pwrctrl smart_connect wbmenu tuf reboot_schedule ipv6 ipv6pt s46 ocnvc dslite PARENTAL2 loclist dnsfilter dnspriv dualwan pptpd openvpnd utf8_ssid printer modem webdav rrsut cloudsync media appnet timemachine hdspindown diskutility dnssec usb_bk frs_feedback dblog email findasus atf bwdpi wrs_wbl ookla HTTPS letsencrypt ssh vpnc vpn_fusion repeater psta vht160 wps_multiband user_low_rssi tcode usericon cfg_wps_btn stainfo realip lacp wanbonding ipsec_srv koolsoft mumimo_5g mumimo_2g qam256_2g qam1024_5g netool cfg_sync betaupg revertfw amas conndiag eula proxysta mtk mlr account_binding gameMode wireguard ftp_ssl acl96 dis11b peter@TX-AX6000-FB4C:/tmp/home/root# uname -a Linux TX-AX6000-FB4C 5.4.225 #1 SMP Mon Aug 26 23:14:48 CST 2024 aarch64 TUF-AX6000_Koolcenter_mod

@larsonzh
Copy link
Owner

larsonzh commented Nov 2, 2024

本软件的 WebUI 页面基于梅林固件提供的开放接口和插件标准制作,只适用于博通架构的部分华硕机型。其它架构的机型由于协议原因并不被梅林支持,可能存在法律障碍。

技术上而言,系统内核中需要补充一些功能,至少要在固件中编译进向第三方开放的 Web 服务器才行,因此需要生成一个新的固件。

Koolcenter 改版固件的软件中心中配置了自有的 WebUI 接口,接口方式与本人采用的技术路线不同,前后台数据传输方法差别太大。若开发软件中心的版本,整个软件需按其定义的插件标准重新架构,为此需开发和维护两个体系的软件,并且还要配置相应的设备测试,精力有限,目前无力去做适配,见谅。

@peter17ji
Copy link
Author

peter17ji commented Nov 3, 2024

本软件的 WebUI 页面基于梅林固件提供的开放接口和插件标准制作,只适用于博通架构的部分华硕机型。其它架构的机型由于协议原因并不被梅林支持,可能存在法律障碍。

技术上而言,系统内核中需要补充一些功能,至少要在固件中编译进向第三方开放的 Web 服务器才行,因此需要生成一个新的固件。

Koolcenter 改版固件的软件中心中配置了自有的 WebUI 接口,接口方式与本人采用的技术路线不同,前后台数据传输方法差别太大。若开发软件中心的版本,整个软件需按其定义的插件标准重新架构,为此需开发和维护两个体系的软件,并且还要配置相应的设备测试,精力有限,目前无力去做适配,见谅。

我有时间看看能不能单独把WebUI按Koolshare标准搞一份吧。方便的话能麻烦您把后端的接口出一份OpenAPI (Swagger)文档吗?我写个中间件缝合一下就好了。

@larsonzh
Copy link
Owner

larsonzh commented Nov 3, 2024

我有时间看看能不能单独把WebUI按Koolshare标准搞一份吧。方便的话能麻烦您把后端的接口出一份OpenAPI (Swagger)文档吗?我写个中间件缝合一下就好了。

接口并不复杂,用不着搞 Swagger,分析下源代码就可以了。

前端代码除了 asp 网页外,数据处理过程集中在 /jffs/scripts/lz/js/lz_policy_routing.js 脚本中。

前端从后端读脚本配置参数使用 ajax 从后台文件中读取数据,这部分可以保留,无须改变。

要做的主要工作是前端往后端如何发送数据。原来是通过文档视图的数据提交(submit()),向后端串行化保存策略路由配置参数数据,或者发送命令调用后台服务。这部分的数据传输过程需要彻底变更,可参考 Koolshare 插件采用 dbus。

向后台发送的策略路由配置参数数据将保存在 /jffs/addons/custom_settings.txt 文件内,格式为:
lz_rule_参数名称 参数值
参数数据包括脚本配置文件中的所有参数,名称相同。数据条目只包括前端改变后的数据。后台的 shell 脚本会在脚本启动时读入上述数据,读入后会将文件内的上述数据删除。

前端调用后台服务,通过发送命令字符串,如 start_LZRule,在后台执行命令:service start_LZRule(脚本启动/重启/保存),由后端的 /jffs/scripts/lz/interface/lz_rule_service.sh 脚本做命令解析和执行。具体的命令及格式,参考前端 js 和后台的接口脚本中相应内容即可,不难读懂。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants