Open Azadzadeh opened 1 year ago
Did you use socat
to test on the same port Hysteria was using, preferably right after your connection is dropped? Your ISP might be intermittently blocking UDP like some Chinese ISPs do. Maybe https://hysteria.network/docs/port-hopping/ could help.
btw you misunderstood up_mbps
& down_mbps
. Server's upload is your client's download. You have "up_mbps": 4
on your server so no wonder your download speed can't go beyond 4 Mbps. Usually you don't even need to set those on your private servers - they are for public servers to prevent abuse.
Did you use
socat
to test on the same port Hysteria was using,
Yes
preferably right after your connection is dropped?
It's hard to catch. The disconnects happen randomly.
I just tried again after a failure. socat
still works.
Your ISP might be intermittently blocking UDP like some Chinese ISPs do.
As a matter of fact, they did block UDP completely a couple of weeks ago but unblocked it recently. So hysteria can't work in situations that UDP is completely blocked? Even the "faketcp" mode?
I haven't tried the hopping method yet since from the looks of it, the packet-drops on a specific UDP connection happen more quickly than a 10 seconds window. Like, I guess I should choose a 3 seconds window for hopping.
you may use our server for test your network. tg group chat.
@liuxyon @tobyxdd Is there a systematic and reproducible way in commandline to test the quality of a connection over a SOCKS port? This way we could have a sense on what parameters to tweak in server/client on a particular network for optimal performance.
I second this
@liuxyon @tobyxdd Is there a systematic and reproducible way in commandline to test the quality of a connection over a SOCKS port? This way we could have a sense on what parameters to tweak in server/client on a particular network for optimal performance.
@liuxyon @tobyxdd Is there a systematic and reproducible way in commandline to test the quality of a connection over a SOCKS port? This way we could have a sense on what parameters to tweak in server/client on a particular network for optimal performance.
I typically use iperf3 for testing and have a private branch that includes additional debug statistics. It would indeed be useful to have built-in tools for benchmarking and tuning. I will see if we can incorporate these features.
As I tested Hy2 is the fastest one so far -- the uplaod=0 in Iran is because of Iran FWs throttling that protocol
Also the speedtest cannot be a good metric for speed-test , the iperf3
is better
Details
I've set up Hysteria on a server and I'm using its client on Linux (Iran). No scripts is used for hysteria in this setup and I'm using the binaries (
amd64-avx
) directly with manually written config files.Hysteria performs worse than X-ray + VLESS + TCP + TLS (or even VLESS without TLS, over WebSocket). Meaning it consistently has less download and upload speed than the mentioned x-ray method. Here are some Speedtest stats showing the situation:
Iran (without any proxies):
X-ray + VLESS + TCP + TLS:
(It usually has better upload speed than this)
Hysteria (passing speedtest):
Hysteria (failing speedtest):
(It freezes here and test stops)
I have done the
socat
test to check whether the UDP connection is completely blocked or not (https://github.com/apernet/hysteria/issues/518). The test succeeded (I saw what I typed locally on remote). Meaning the UDP connection is not completely blocked (as of now).Note that on server, I'm using a script for x-ui setup + Cloudflare WARP to bypass Google ReCaptcha.
Hysteria server information
hysteria version v1.3.2 2022-12-11 02:15:05 dd4c17972fdfef7517c22d017ec922463fb94350
VPS information
OS: Ubuntu 22.04.1 LTS x86_64 Kernel: 5.15.0-56-generic
Server config
Hysteria client information
hysteria version v1.3.2 2022-12-11 02:15:05 dd4c17972fdfef7517c22d017ec922463fb94350
Client config
Client environment (operating system)
Ubuntu