Gozargah / Marzban

Unified GUI Censorship Resistant Solution Powered by Xray
https://t.me/gozargah_marzban
GNU Affero General Public License v3.0
3.73k stars 515 forks source link

Websocket Drop #490

Closed ahmadta721 closed 1 year ago

ahmadta721 commented 1 year ago

Hello, I just installed v0.3.2 version of Marzban. My goal is to use protocols that use transmission, websocket. Unfortunately, with many efforts and checking the x-ray core, I failed to launch it. While in similar panels that support the x-ray core, it is very easy to set up websocket and transmit data successfully. If it is possible, check the websocket drops in Marzban and tell me if there is something that should be observed.

In the initial phase, when the setup is without tls and the ports that use http, there is a problem in international CDNs like cloudflare, gcore,.. as well as Iranian CDNs like derak, arvan,.. The IP used is completely clear and has successfully tested the websocket in the CDNs mentioned with other panels! also tls on and off, this server has had a successful response.

Unfortunately, Marzban did not pass any test in websocket. So either this is a bug or there is a point in using Marzban that I didn't pay attention to. help me!

SaintShit commented 1 year ago

@ahmadta721 Hi, Marzban has nothing to do with proxy connections, they all directly go to Xray core. so if you're facing problem, your configuration might be problematic. please post your config files ( including the websocket inbound you're talking about ) and tell how's your cloudflare configuration.

ahmadta721 commented 1 year ago

Hello, thank you for your reply. In the first step, I will tell you the Xray core configuration separately.

VMess Websocket Xray core configuration:

{ "tag": "VMess Websocket", "listen": "0.0.0.0", "port": 2082, "protocol": "vmess", "settings": { "clients": [] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/", "headers": { "Host": "google.com" } }, "security": "none" }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] } },

In order not to get into trouble, I gave up the vless and trojan protocol for now and let's check vmess together.

vmess ws tls off

We also skip tls to get the result sooner. In the screenshot, an example of inbound settings for vmess ws is presented, which does not require tls and we use cloudflare port 2082.

In Cloudflare, the websocket settings are on, and the dns records are done correctly, and the Proxied tick is on for the main IP server.

Unfortunately, the same simple settings work correctly in other panels. But I could not succeed in Marzban. Thank you for your answer.

SaintShit commented 1 year ago

Alright, I see that you've set Host to google.com in your Xray config, that means that any request host other than google.com won't work. and still, you set different request host in your host settings. try removing

"headers": {
"Host": "google.com"
}

from your wsSettings and test it