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

[Bug] mata内核与metacubexd面板无法正常使用 #3791

Closed
7 tasks done
GuangYu-yu opened this issue Mar 9, 2024 · 11 comments
Closed
7 tasks done

[Bug] mata内核与metacubexd面板无法正常使用 #3791

GuangYu-yu opened this issue Mar 9, 2024 · 11 comments
Labels
bug Something isn't working Stale

Comments

@GuangYu-yu
Copy link

Verify Steps

  • Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • Branch 我知道 OpenClash 的 Dev 分支切换开关位于插件设置-版本更新中,或者我会手动下载并安装 Dev 分支的 OpenClash
  • Latest 我已经使用最新 Dev 版本测试过,问题依旧存在
  • Relevant 我知道 OpenClash 与 内核(Core)、控制面板(Dashboard)、在线订阅转换(Subconverter)等项目之间无直接关系,仅相互调用
  • Definite 这确实是 OpenClash 出现的问题
  • Contributors 我有能力协助 OpenClash 开发并解决此问题
  • Meaningless 我提交的是无意义的催促更新或修复请求

OpenClash Version

v0.46.003-248

Bug on Environment

Official OpenWrt, Immortalwrt, Other

OpenWrt Version

openwrt-23.05

Bug on Platform

Linux-amd64(x86-64)

Describe the Bug

mata内核使用后,提示无法获取 General 部分的转发端口设置以及dns端口等问题。metacubexd面板完全空白,一直是这样。

To Reproduce

不使用mata内核,就能够正常启动使用了。

OpenClash Log

日志丢失

OpenClash Config

No response

Expected Behavior

正常使用mata内核以及面板

Additional Context

No response

@GuangYu-yu GuangYu-yu added the bug Something isn't working label Mar 9, 2024
@pgw308
Copy link

pgw308 commented Mar 11, 2024

嘗試
設置-切換後端-填入後台地址端口 密鑰

@pandamelive
Copy link

我也遇到相同的问题

@Rangtian
Copy link

应该是 Metacubexd 的问题。

我发现主力机 Metacubexd 空白后,翻出备用机,备用机的旧版 Metacubexd 一切正常。
更新备用机的 Metacubexd 后,也变成空白了。

@GuangYu-yu
Copy link
Author

应该是 Metacubexd 的问题。

我发现主力机 Metacubexd 空白后,翻出备用机,备用机的旧版 Metacubexd 一切正常。
更新备用机的 Metacubexd 后,也变成空白了。

检查并更新下载来的Meta有问题,我手动上传后面板能正常使用了

@GuangYu-yu
Copy link
Author

应该是 Metacubexd 的问题。

我发现主力机 Metacubexd 空白后,翻出备用机,备用机的旧版 Metacubexd 一切正常。
更新备用机的 Metacubexd 后,也变成空白了。

也许更新的mata版本可能不是最新的,也可能是不兼容最新的Meta内核

@garryshield
Copy link

自动更新的 版本是 MetaCubeX/metacubexd V1.138.1
面板自动获取后台地址和密码是在 setup 路由里

/src/main.tsx#L28

   ...
        <Route path={ROUTES.Setup} component={Setup} />
        <Route path="*" component={Overview} /> // 默认路由
   ...

/src/pages/Setup.tsx#L110

  onMount(() => {
    const query = new URLSearchParams(location.search)

    if (query.has('hostname')) {
      void onSubmit({
        url: `${window.location.protocol}//${query.get('hostname')}${
          query.get('port') ? `:${query.get('port')}` : ''
        }`,
        secret: query.get('secret') ?? '',
      })
    } else if (endpointList().length === 0) {
      /**
        we only try auto login when there is nothing in endpoint list
        or user who is using default config won't be able to switch to another endpoint ever
      */
      void onSubmit({
        url: 'http://127.0.0.1:9090',
        secret: '',
      })
    }
  })

后台生成面板地址用的是 '/ui/metacubexd/#/?hostname=' 主路由 *
/luci-app-openclash/luasrc/view/openclash/status.htm#L851

	function meta_dashboard(btn)
    {
        XHR.get('<%=luci.dispatcher.build_url("admin", "services", "openclash", "status")%>', null, function(x, status) {
        btn.disabled = true;
        btn.value    = '<%:Metacubexd Control Panel%>';
        if (status.daip && window.location.hostname == status.daip) {
            url9='<%="http://'+window.location.hostname+':'+status.cn_port+'/ui/metacubexd/#/?hostname='+ window.location.hostname + '&port=' + status.cn_port + '&secret=' + status.dase +'"%>';
        }
        else if (status.daip && window.location.hostname != status.daip && status.db_foward_domain && status.db_foward_port) {
            var ui_proto = status.db_forward_ssl == 0 ? 'http://' : 'https://';
            url9='<%="'+ui_proto+status.db_foward_domain+':'+status.db_foward_port+'/ui/metacubexd/#/?hostname='+ status.db_foward_domain + '&port=' + status.db_foward_port + '&secret=' + status.dase +'"%>';
        }
        else {
            url9='<%="http://'+window.location.hostname+':'+status.cn_port+'/ui/metacubexd/"%>';
        }
        winOpen(url9);
        return false;
        });
    };

'/ui/metacubexd/#/setup?hostname=' 这里应该更新下
完整的自动填充后台地址的密码的链接应该是
'http://10.10.1.1:9090/ui/metacubexd/#/setup?hostname=10.10.1.1&port=9090&secret=XXX'

@XinSSS
Copy link
Contributor

XinSSS commented May 31, 2024

我也遇到了相同的问题,我尝试着直接clone metacubexd build运行是没有问题的

@garryshield 有用,在openclash原先打开的链接中加入了setup后能正常使用了

@Chever-John
Copy link

@GuangYu-yu hi,我理解你这里所说的 meta 指的是 metacubexd 是吧?
因为我也遇到了 openclash 默认安装 的 metacubexd 访问直接白屏,我尝试了很多方法,升级这个 metacubexd 到最新的版本,通过页面的插件中的 “外部访问” 里提供的升级按钮。我也尝试过 setup 添加到 url 中。

请问还有其他可以尝试的方法吗?

Copy link
Contributor

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days

@github-actions github-actions bot added the Stale label Aug 13, 2024
@46319943
Copy link

自动更新的 版本是 MetaCubeX/metacubexd V1.138.1 面板自动获取后台地址和密码是在 setup 路由里

/src/main.tsx#L28

   ...
        <Route path={ROUTES.Setup} component={Setup} />
        <Route path="*" component={Overview} /> // 默认路由
   ...

/src/pages/Setup.tsx#L110

  onMount(() => {
    const query = new URLSearchParams(location.search)

    if (query.has('hostname')) {
      void onSubmit({
        url: `${window.location.protocol}//${query.get('hostname')}${
          query.get('port') ? `:${query.get('port')}` : ''
        }`,
        secret: query.get('secret') ?? '',
      })
    } else if (endpointList().length === 0) {
      /**
        we only try auto login when there is nothing in endpoint list
        or user who is using default config won't be able to switch to another endpoint ever
      */
      void onSubmit({
        url: 'http://127.0.0.1:9090',
        secret: '',
      })
    }
  })

后台生成面板地址用的是 '/ui/metacubexd/#/?hostname=' 主路由 * /luci-app-openclash/luasrc/view/openclash/status.htm#L851

	function meta_dashboard(btn)
    {
        XHR.get('<%=luci.dispatcher.build_url("admin", "services", "openclash", "status")%>', null, function(x, status) {
        btn.disabled = true;
        btn.value    = '<%:Metacubexd Control Panel%>';
        if (status.daip && window.location.hostname == status.daip) {
            url9='<%="http://'+window.location.hostname+':'+status.cn_port+'/ui/metacubexd/#/?hostname='+ window.location.hostname + '&port=' + status.cn_port + '&secret=' + status.dase +'"%>';
        }
        else if (status.daip && window.location.hostname != status.daip && status.db_foward_domain && status.db_foward_port) {
            var ui_proto = status.db_forward_ssl == 0 ? 'http://' : 'https://';
            url9='<%="'+ui_proto+status.db_foward_domain+':'+status.db_foward_port+'/ui/metacubexd/#/?hostname='+ status.db_foward_domain + '&port=' + status.db_foward_port + '&secret=' + status.dase +'"%>';
        }
        else {
            url9='<%="http://'+window.location.hostname+':'+status.cn_port+'/ui/metacubexd/"%>';
        }
        winOpen(url9);
        return false;
        });
    };

'/ui/metacubexd/#/setup?hostname=' 这里应该更新下 完整的自动填充后台地址的密码的链接应该是 'http://10.10.1.1:9090/ui/metacubexd/#/setup?hostname=10.10.1.1&port=9090&secret=XXX'

方法有用。我全新安装的0.46.016-beta,使用meta内核下metacubexd面板就进不去。
把上面这个链接中,两处的10.10.1.1换成自己的软路由IP地址,然后在“插件设置-外部控制-管理页面登录密钥”中查看密钥,把secret=XXX中的XXX替换成密钥,浏览器访问这个修改后的链接就可以正常使用了。

Copy link
Contributor

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Stale
Projects
None yet
Development

No branches or pull requests

9 participants