mirror of
https://github.com/MetaCubeX/mihomo.git
synced 2025-01-07 09:53:58 +08:00
HamsterReserved
8679968ab0
Fix: multiple port string parsing overflow (#1868)
Ports in TCP and UDP should be parsed as an unsigned integer, otherwise ports > 32767 get truncated to 32767. As this is the case with Metadata.UDPAddr(), this fundamentally breaks UDP connections where demand for high port numbers is high. This commit fixes all known cases where ParseInt is used for ports, and has been verified to fix Discord voice connections on port 50001~50004. Fixes: d40e5e4fe6c11311ee1de82779a985c3ca47d03a Co-authored-by: Hamster Tian <haotia@gmail.com>
Clash
A rule-based tunnel in Go.
Features
- Local HTTP/HTTPS/SOCKS server with authentication support
- VMess, Shadowsocks, Trojan, Snell protocol support for remote connections
- Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP.
- Rules based off domains, GEOIP, IPCIDR or Process to forward packets to different nodes
- Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node based off latency
- Remote providers, allowing users to get node lists remotely instead of hardcoding in config
- Netfilter TCP redirecting. Deploy Clash on your Internet gateway with
iptables
. - Comprehensive HTTP RESTful API controller
Premium Features
- TUN mode on macOS, Linux and Windows. Doc
- Match your tunnel by Script
- Rule Provider
Getting Started
Documentations are now moved to GitHub Wiki.
Premium Release
Development
If you want to build an application that uses clash as a library, check out the the GitHub Wiki
Credits
License
This software is released under the GPL-3.0 license.
Languages
Python
100%