-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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 in Sniffing #3289
Comments
provid config, log |
log file: server Config:
last working version: 1.8.9 i should say that in the web browsing we usually dont have a problem for spotify etc. |
I didn't see any valid inbound in your config |
I'm sorry, but what do you mean by config? I sent the server config. Do you mean the client config for connecting? Please explain a bit so I don't send the wrong files. Thank you. |
Threre is only one inbound in your config and It's an api-in |
can you try blocking udp port 443? spotify uses quic, and I think the sniffer does not work on quic at all (see #2616) I am not sure why/how fakedns works, but I suppose since it connects dns lookups with udp/tcp traffic, it can do better sniffing. |
I think its because of using 3-xui panel. |
Thanks, i will try it and let you know the result here |
ok, i just saw that the config you posted doesn't have a sniffing config at all... if it's not possible to extract the generated xray config from 3x-ui (including a complete |
I tried this , but nothing solved for me. Also i will try to get full config from 3x-ui and send it here |
I should add this that many people also have my problem and We have repeatedly requested this matter from the panel creators, but a sufficient solution was not provided, and ultimately, we were referred to you. This issue is important because services like Spotify regularly block server IPs, and we cannot constantly change server IPs. The only solution is to use Warp |
the separation of responsibilities is important, and what exactly you are asking of them is important. 3x-ui is not responsible for supporting sniffing, but they are responsible IMO for providing a way to debug xray-core issue if they don't have a simple way to get the full server config, xray-core developers will have to understand 3x-ui/marzban and debug it |
If the problem only exists in 1.8.10, this may indeed be a bug |
|
Thank you for your guidance, but this method didn't work. In fact, the settings were like this from the beginning. |
Thank you for your patience and guidance. I created a separate server for testing and also prepared the debug log and config.json files. I'm sending them here. If needed, I can give you server access to personally review them. I should also mention that on this server, since the IP hasn't been blocked by Spotify yet, everything works correctly. However, I don't think it will affect the Sniffing investigation process. If I mistakenly sent something wrong again, please let me know. Log: Config: |
v1.8.10 似乎没有修改 sniffer 相关代码 |
so maybe we have some issue in DNS, because my problem solved with this solution: #1019issue please check it |
I've been wondering, is your understanding of the logic of IPIfNonMatch correct? Because the document and the source code seems shows that IPIfNonMatch is not work as what you tought. |
you are correct. Thank you for bringing this to my attention |
v1.8.10 似乎也没有修改 dns 相关代码,请逐个测试近期的 commits,看一下哪个 commit 出现了你的问题 @Fangliding 等会儿在 issue 模板中加一下吧,如果新版有 bug 需先测出是哪个 commit 的问题再开 issue |
I did some testing on spotify app on android. First without fakeDNS (Spotify doesn't work)
Now with fakeDNS enabled (Spotify works)
The difference is that |
I just took a look with wireshark. Yes, from what I can tell port 4070 is an entirely proprietary protocol, and xray simply does not have support for sniffing a domain name from it. i don't think there's a bug, only perhaps the absence of a feature. Correct me if I'm wrong, but xray's "geosite" support requires domain name sniffing to apply, and figuring out the domain name from a tcp connection is either a per-protocol thing to support (http, tls, ...), or something to bypass entirely with the big hammer of fakedns. I think you can fix it with fakedns as you did here or write a rule that simply routes the entire IP |
Or blindly route all traffic with destination port of 4070 to warp :)) Is any other known service using that port number? |
Thanks for the great investigation @pulsarice @mmmray |
Wait, why these did not happen in 1.8.9 |
No idea, but it seems much more likely, statistically. I suggest to add the IP to geosite repo 🤷♂️
No idea. Did anybody actually try downgrading? I wonder if spotify simply updated around the time xray 1.8.10 was released. |
@mmmray GEOSITE only contains domain, no IP |
There is no change on our side, most likely user don't know/bother to test each version (I think I cannot guarantee to use binary search to find the problematic version for an issue as well) |
I wonder, can it be changed? I think supporting IPs in geosite file format would help a lot with proprietary protocols. I do not have a working xray routing setup at all at the moment, I only looked at xray docs and spotify traffic, if nobody else does it i can do it next week |
There is a separate project for IP https://github.com/Loyalsoldier/geoip |
It started happening to me many months ago, after a specific version update of spotify app. I actually downgraded my spotify app back then and can confirm that older version worked. |
Some special IP ranges may be contained by some third-party geoip |
So nobody sure if it's working correct on 1.8.9............. |
v1.8.9 wasn't even conceived when this started happening to me. |
I mean the author of this issue, I read the wrong person |
This ip was working for me till past week.
|
I simply routed port 4070 and spotify.com domain to warp and haven't had any problems since:
|
There is an issue with the Sniffing section that causes software like Spotify or some Google APIs to not route properly. For example, I have configured Xray to route geosite:Spotify traffic through Warp, but still a large portion of the APIs related to Spotify are not routing correctly.
I'm confident that the geosite file is complete and correct because enabling fake DNS resolves all issues, but unfortunately using fake DNS for all domains causes other problems.
Note that these issues have arisen after updating to the latest version and did not exist in previous versions.
Please look into this issue.
The text was updated successfully, but these errors were encountered: