v2ray/softcenter/README.md
2018-12-06 23:59:57 +08:00

1.9 KiB
Raw Permalink Blame History

软件中心原理

负责维护与独立更新新增模块的安装脚本以及安装界面。也就是说路由器初步只需要安装软件中心,再由软件中心去更新各个模块的安装脚本与安装界面,用户就可以独立安装相应的模块了。恩,这个是一个好想法。

目前软件中心没有像 openwrt 一样使用 opkg 来解决软件安装的依赖问题。目前原因是为了简单。所以现在只是一个安装的压缩包,并没有解决软件中心的各大依赖问题。如果有依赖问题请在安装脚本里去实现与提示。

模块实现规定

比如 adm 模块。本项目文件夹形式:

  • adm
    • adm adm程序本身的一些配置以及可执行程序
    • bin 相关用到的可执行文件
    • init.d 启动脚本。其实是一个软链接
    • install.sh 模块本身解压之后要运行的安装脚本
    • scripts http 界面配置需要用到的网页配置相关脚本
      • adm_install.sh 软件中心安装包要带上它,以实现模块的安装
      • adm_udpate.sh 软件中心要带上它,以实现模块的更新
      • adm_config.sh 路由器 http server 服务的配置脚本
      • adm_uninstall.sh 卸载
    • webs
      • Module_adm.asp 路由器配置界面,软件中心要带上它,以实现模块界面的安装。用户才可以点开配置界面安装模块本身。
    • build.sh 模块生成脚本
    • config.json.js 当前项目在线版本号,通过跨域调用来获得此版本
    • version 版本信息文件,模块安装依赖此版本信息

软件中心设计初步想法

  • 所有的图标存于./softcenter/res/software_center.png
  • 所有的 APP 信息存于 app.json.js
  • 已安装的数据,存于路由器内部
  • 未安装部分,实时从 github 拿到数据
  • 问题
    • 未安装部分的图片,如何实时从github当中拿?
    • 未安装部分的 css 如何实时从 github 动态拉取拿?