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] vless protocol proxy failed to inherit client-fingerprint from global-client-fingerprint #2344

Open
6 tasks done
love-2000 opened this issue Jan 5, 2025 · 3 comments
Labels
C: Backend T: Bug Something isn't working

Comments

@love-2000
Copy link

love-2000 commented Jan 5, 2025

复现步骤 / Step to reproduce

in config file:

  1. remove client-fingerprint keyword in proxy with vless protocol
  2. add global-client-fingerprint keyword outside proxies filed
  3. apply modified proxy

预期行为 / Expected behavior

vless proxy without client-fingerprint field could be established successfully.

实际行为 / Actual behavior

vless proxy without client-fingerprint field failed to established.

应用日志 / App logs

01-05 15:07:00
info
Start initial configuration in progress

01-05 15:07:00
warning
To use xtls-rprx-vision, ensure your server is upgrade to Xray-core v1.8.0+

01-05 15:07:00
info
Geosite Matcher implementation: succinct

01-05 15:07:00
info
Initial configuration complete, total time: 2ms

01-05 15:07:00
info
Sniffer is closed

01-05 15:07:00
info
Use tcp concurrent

01-05 15:07:00
info
Start initial Compatible provider proxy

01-05 15:07:00
info
Start initial Compatible provider default

01-05 15:07:00
warning
[TCP] dial GLOBAL 127.0.0.1:57442 --> v10.events.data.microsoft.com:443 error: xxx.xxx.xxx.xxx:[port] connect error: REALITY is based on uTLS, please set a client-fingerprint

备注 / Addition details

sample config
mixed-port: 10801
mode: rule
global-client-fingerprint: random
proxies:
- type: vless
  name: vl-reality
  server: xxx.xxx.xxx.xxx
  port: $port
  uuid: a-uu-i-d
  flow: xtls-rprx-vision
  network: tcp
  tls: true
  servername: $sni
  reality-opts:
    public-key: u-r-public-key
    short-id: u-r-short-id
proxy-groups:
- name: proxy
  type: select
  proxies:
  - vl-reality

The same configuration functions correctly on alternative frontend products, including Clash Verge Rev.

环境信息 / Environment information

  • the latest clash-nyanpasu
  • Mihomo v1.18.8 Meta

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已知悉如果没有提供正确的系统信息,以及日志,您的 Issue 会直接被关闭 / You have known that if you don't provide correct system information and logs, your issue will be closed directly
  • 您已仔细查看并知情 Q&AFAQ 中的内容 / You have read and understood the contents of Q&A and FAQ
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个问题。如果您有多个问题报告,烦请发起多个 Issue / Ensure there is only one bug report in this issue. Please make multiply issue for multiply bugs
  • 您确保已使用最新 Pre-release 版本测试,并且该问题在最新 Pre-release 版本中并未解决 / This bug have not solved in latest Pre-release version
@love-2000 love-2000 added S: Untriaged T: Bug Something isn't working labels Jan 5, 2025
@greenhat616
Copy link
Collaborator

Have enabled the fields filter or something similar.
If you enabled it. You should also enable this field:
图片

@love-2000
Copy link
Author

love-2000 commented Jan 7, 2025

Yes.

  1. The Clash Fields filter is enabled on my device by default.
  2. The global-client-fingerprint in Meta Fields Filter is disabled by default in a freshly installed version of Clash-Nyanpasu.
  3. After applying a local configuration file (as shown in the previously shared sample config), the global-client-fingerprint in Meta Fields Filter is automatically enabled, as reflected in the Clash-Nyanpasu UI.

If you enabled it. You should also enable this field: global-client-fingerprint

But no, the Meta Fields Filter does not allow users to enable/disable the global-client-fingerprint field, as expected. The user interface indicates restricted behavior (cursor: not-allowed), preventing toggling of fields defined in the Clash configuration file.

After several testing, this issue only occurs in freshly installed instances of Clash-Nyanpasu with configuration files that define the global-client-fingerprint exclusively. The issue specifically affects users who have not interacted with the global-client-fingerprint field in the Meta Fields Filter. For users who previously clicked this field, the issue might not be able to be reproduced.

It appears that somewhere(maybe backend) value of global-client-fingerprint is not updated after the configuration file becomes active, despite the UI indicating that the field is enabled in the Meta Fields Filter.

Recording shows how to reproduce in freshly installed Clash-Nyanpasu.

@greenhat616
Copy link
Collaborator

greenhat616 commented Jan 8, 2025

@keiko233 I take the second glance at it, and I think it was a frontend issue?

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

No branches or pull requests

2 participants