muink / homeproxy

A homeproxy fork with clash api, selector/urltest node, subscribes grouping & ruleset support (dev version) (updates stopped indefinitely)
GNU General Public License v2.0
18 stars 6 forks source link

ui文件夹下是空的 #2

Closed StarryskyLL closed 10 months ago

StarryskyLL commented 10 months ago

目前发现第一次启用面板时是正常有页面且可以访问 UI文件夹下面有文件 在保存并应用重启HP之后 UI文件夹就空了 此时面板可以正常访问,但是页面一片空白

muink commented 10 months ago

仅凭字面描述无法复现错误, 请提供status页面的log

StarryskyLL commented 10 months ago

操作步骤: 1.订阅节点 2.路由模式切换到自定义路由 3.勾选Enable Clash API 4.Select Clash Dashboard为metacubexd 5.自定义Secret 6.保存并应用


日志如下: 2023-12-10 23:47:44 [SUBSCRIBE] Stopping service... 2023-12-10 23:47:50 [DAEMON] Service stopped. 2023-12-10 23:47:51 [SUBSCRIBE] Skipping blacklist node: 剩余流量:43.57 GB. 2023-12-10 23:47:51 [SUBSCRIBE] Skipping blacklist node: 距离下次重置剩余:19 天. 2023-12-10 23:47:51 [SUBSCRIBE] Skipping blacklist node: 套餐到期:2024-01-29. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 台湾 1. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 台湾 2. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 台湾 3. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 日本 1. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 日本 2. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 日本 3. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 日本 4. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 日本 5. 2023-12-10 23:47:52 [SUBSCRIBE] Skipping blacklist node: 日本 6. 2023-12-10 23:47:53 [SUBSCRIBE] Successfully fetched 6 nodes of total 54 from 机场订阅连接 2023-12-10 23:47:53 [SUBSCRIBE] Adding node: 香港 1. 2023-12-10 23:47:53 [SUBSCRIBE] Adding node: 香港 2. 2023-12-10 23:47:53 [SUBSCRIBE] Adding node: 香港 3. 2023-12-10 23:47:53 [SUBSCRIBE] Adding node: 香港 4. 2023-12-10 23:47:53 [SUBSCRIBE] Adding node: 香港 5. 2023-12-10 23:47:53 [SUBSCRIBE] Adding node: 香港 6. 2023-12-10 23:47:53 [SUBSCRIBE] Restarting service... 2023-12-10 23:47:59 [DAEMON] Service stopped. 2023-12-10 23:47:59 [SUBSCRIBE] 6 nodes added, 0 removed. 2023-12-10 23:47:59 [SUBSCRIBE] Successfully updated subscriptions. 2023-12-10 23:49:06 [DAEMON] Reloading service... 2023-12-10 23:49:12 [DAEMON] Service stopped. unzip: cannot find or open /etc/homeproxy/resources/metacubex_metacubexd.zip, /etc/homeproxy/resources/metacubex_metacubexd.zip.zip or /etc/homeproxy/resources/metacubex_metacubexd.zip.ZIP. mv: can't rename '/var/run/homeproxy/*-gh-pages/': No such file or directory 2023-12-10 23:49:16 [DAEMON] sing-box 1.7.4 started.


保存并应用之后立即打开面板是拒绝访问 等了几分钟后打开面板显示的是ycad面板 此时ui文件夹下有文件,看了一下是yacd的 /resources/MetaCubeX_metacubexd.zip这个文件是存在的 Select Clash Dashboard也是选用的metacubexd 此时在路由节点下添加一个节点,保存并应用,UI文件夹下的文件就被清空了


日志如下: 2023-12-10 23:47:53 [SUBSCRIBE] Restarting service... 2023-12-10 23:47:59 [DAEMON] Service stopped. 2023-12-10 23:47:59 [SUBSCRIBE] 6 nodes added, 0 removed. 2023-12-10 23:47:59 [SUBSCRIBE] Successfully updated subscriptions. 2023-12-10 23:49:06 [DAEMON] Reloading service... 2023-12-10 23:49:12 [DAEMON] Service stopped. unzip: cannot find or open /etc/homeproxy/resources/metacubex_metacubexd.zip, /etc/homeproxy/resources/metacubex_metacubexd.zip.zip or /etc/homeproxy/resources/metacubex_metacubexd.zip.ZIP. mv: can't rename '/var/run/homeproxy/-gh-pages/': No such file or directory 2023-12-10 23:49:16 [DAEMON] sing-box 1.7.4 started. 2023-12-11 00:03:59 [DAEMON] Reloading service... 2023-12-11 00:04:04 [DAEMON] Service stopped. unzip: cannot find or open /etc/homeproxy/resources/metacubex_metacubexd.zip, /etc/homeproxy/resources/metacubex_metacubexd.zip.zip or /etc/homeproxy/resources/metacubex_metacubexd.zip.ZIP. mv: can't rename '/var/run/homeproxy/-gh-pages/': No such file or directory 2023-12-11 00:04:08 [DAEMON] sing-box 1.7.4 started.


看了日志应该是未找到metacubex_metacubexd.zip然后sing-box默认下载了yacd的面板 接着我又检查更新Clash dashboard version


日志如下 2023-12-11 00:09:15 [CLASH_DASHBOARD] [metacubex/metacubexd] Local version: NOT FOUND, latest version: v1.134.0. 2023-12-11 00:09:21 [CLASH_DASHBOARD] [metacubex/metacubexd] Update failed. 2023-12-11 00:09:42 [DAEMON] Reloading service... 2023-12-11 00:09:47 [DAEMON] Service stopped. unzip: cannot find or open /etc/homeproxy/resources/metacubex_metacubexd.zip, /etc/homeproxy/resources/metacubex_metacubexd.zip.zip or /etc/homeproxy/resources/metacubex_metacubexd.zip.ZIP. mv: can't rename '/var/run/homeproxy/*-gh-pages/': No such file or directory 2023-12-11 00:09:51 [DAEMON] sing-box 1.7.4 started.


sing-box 客户端 日志 新增一条报错 +0000 2023-12-10 16:09:56 ERROR clash-api: download external ui error: Get "https://github.com/MetaCubeX/Yacd-meta/archive/gh-pages.zip": dial tcp 20.205.243.166:443: i/o timeout


访问github超时了,此时UI文件夹一直是空的了 每次保存并应用都会重新下载UI文件

muink commented 10 months ago

unzip: cannot find or open /etc/homeproxy/resources/metacubex_metacubexd.zip, /etc/homeproxy/resources/metacubex_metacubexd.zip.zip or /etc/homeproxy/resources/metacubex_metacubexd.zip.ZIP. mv: can't rename '/var/run/homeproxy/*-gh-pages/': No such file or directory

根据这条信息有以下几种可能:

  1. /etc/homeproxy/resources/metacubex_metacubexd.zip 未下载
  2. /etc/homeproxy/resources/metacubex_metacubexd.zip 下载完成, 但损坏
  3. /etc/homeproxy/resources/metacubex_metacubexd.zip 的权限设置有问题, unzip 无权限读取 (通常不可能, 因为是root用户, 请自行用终端手动解压尝试)

可以先尝试一下将 clash_dashboard.ver 内容替换为:

{ "d3f16c733758574bbf876f33afa0860d": { "repo": "metacubex\/metacubexd", "version": "v1.134.0" } }

然后手動下载 https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip 并替换 /etc/homeproxy/resources/metacubex_metacubexd.zip

StarryskyLL commented 10 months ago

1.切换路由模式为自定义路由,保存并应用 2.勾选Enable Clash API 3.Select Clash Dashboard切换为metacubexd 4.自定义Secret,保存并应用,这时候会出现前面提到的报错unzip: cannot find or open /etc/homeproxy/resources/metacubex_metacubexd.zip 5.此时服务状态出现Clash dashboard version手动点击检查更新,此时/etc/homeproxy/resources/metacubex_metacubexd.zip下载成功,但是/etc/homeproxy/resources/clash_dashboard.ver内容为{ } 6.随意修改HP一项设置保存并应用来重启HP 7.此时/var/run/homeproxy/ui下文件内容为metacubex_metacubexd.zip解压后内容 8.第二次Clash dashboard version手动点击检查更新 此时/etc/homeproxy/resources/clash_dashboard.ver内容才是: { "d3f16c733758574bbf876f33afa0860d": { "repo": "metacubex\/metacubexd", "version": "v1.134.0" } }

逻辑大概理清楚了,基本上我是这个操作步骤 根据这个逻辑步骤有个小建议 是不是可以在路由模式切换到自定义路由保存并应用之后可以在服务状态页面下可以进行Clash dashboard version的检查更新,这样就可以避免勾选Enable Clash API保存并应用后出现以下报错引起sing-box默认下载ycad的面板并解压到/var/run/homeproxy/ui

unzip: cannot find or open /etc/homeproxy/resources/metacubex_metacubexd.zip, /etc/homeproxy/resources/metacubex_metacubexd.zip.zip or /etc/homeproxy/resources/metacubex_metacubexd.zip.ZIP. mv: can't rename '/var/run/homeproxy/*-gh-pages/': No such file or directory

这个时候第一次打开面板就是yacd的面板,随后需要进行上述的第5步操作手动进行一次面板检查更新,才会下载metacubex_metacubexd.zip文件并解压,然后需要在127.0.0.1:9090页面进行F12开发人员工具-刷新按钮右键-清空缓存并硬刷新才会切换到metacubexd面板

muink commented 10 months ago

项目确实没有对未安装面板的情况进行必要的引导, 我会考虑调整 Select Clash Dashboard 的选项, 类似这样:

Use Online Dashboard
yacd-meta -- Installed
metacubexd -- Not Installed

并在下方加入描述, 引导用户去 服务状态 页面下进行 Clash dashboard version 的检查

muink commented 10 months ago

patched 0bcca159077d05c714e7b1ab71057637365ef101