请问如何替换路由器后台首页?


#1

你好, 上次发表了一个问题:3.0固件响应power按钮双击,切换wireguard线路
得到了你们工程师非常有用的帮助,问题提及了我是一个openwrt的外行人, 只有linux的基本功, 现在有个新的问题。

问题的背景是这样的:
我在GL-MIFI路由器中配置了很多个wireguard线路, 而且不希望用户看到配置信息,因此后台密码是不开放给用户的。 现在涉及到了线路切换的问题。

方案一,这是最初的方案,在路由器上定制多个按钮,每个按钮对应一条线路,这个需要开模,需要一定的量,因为市场需求还不明确一时半会达不到那个量,因此这个方案放弃了。

方案二,这是到贵公司恰谈的时候给的方案,就是双击电源键切换,但是采购了一批回来量产的时候发现电源键不是接在GPIO上,无法编程,这个方案就舍弃了。

方案三,这是折中的方案,电源键无法编程,但是reset可以,于是就实现了点击reset切换线路的方法,但是这个方案有很大的缺点,就是reset需要顶针才能切换很不方便,而且担心reset不耐用,于是有了下一个方案。

方案四,由于方案三的种种缺点,思索出这个方案,就是基于软件切换,打开路由器后台下载一个软件,可以在软件中与路由器后台通信实现切换,但是客户端设备有很多种,如果一一去适配,这个工程量非常耗大,兼容性最好的跨平台方案就是web,如果通过web切换,就不用考虑客户端设备的兼容性问题。

方案五,打开路由器后台,不再显示登录页面,而是自定义的一个线路切换页面,用户可以通过这个页面切换线路。

现在的问题有:

  1. 如何替换路由器后台首页?
  2. 路由器的web使用什么编程语言?lua?java?

不考虑的方案:

  1. 使用官方的纯OpenWRT固件, 因为官方的gl-web已经很强大很好用了, 配置起来非常方便,不希望失去。

#2

是要用我们的webUI?还是想自己开发一套?

我们的webUI是需要授权的,我们后台API是用C实现的,前端用的vue框架。

稍微问一下,切换链路的目的是什么?是链路断了,要切换?还是用户要自己选择一条速度比较快的链路?


#3

有很多国家地区的线路, 用户可以自由选择。

不是基于你们的web ui去修改, 而是我自己新增一个页面, 当然能够跳转到你们的web ui更好, 因为你们的web ui配置方便, 就像你们跳转到luci界面一样。


#4

这个很简单啊。你要查一下lighttpd的配置。

配置都在这里,就是配置一台web服务器而已。你自己写个html页面,配置成首页就好了。
/etc/lighttpd/


#5

非常感谢提供技术支持, 再请教一下, 后台支持什么动态语言? 因为需要调用一些uci指令, 纯前端做不了。


#6

你可以用shell脚本或者lua写cgi

cgi程序直接放 /www/cgi-bin/ 下面

怎么写你要自己去网上找模版了,不难


#7

不让密码泄露,这个很简单,可以直接改代码,让密码不可见。
另外还可以禁止用户看密码和多种限制方法。我已经搞定。