No description
Find a file
白日梦主义 3991117d27
fix(acl): normalize trailing dot in domain matches (#1574)
* fix(acl): normalize trailing dot in domain matches

The ACL like

```yaml
    - reject(example.com)
    - reject(suffix:blocked.test)
    - reject(*.wild.test)
```

can be easily bypass through by adding a dot to the domain like

example.com.:443

Signed-off-by: Cherrling <me@cherr.cc>

* fix(acl): trim all trailing dots and add tests

Use strings.TrimRight instead of strings.TrimSuffix so domains with
multiple trailing dots (e.g. example.com..) are also normalized and
cannot bypass ACL rules. Add test coverage for trailing-dot handling
on exact, wildcard and suffix domain rules, as well as for trailing
dots in rule patterns.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Signed-off-by: Cherrling <me@cherr.cc>
Co-authored-by: Toby <tobyxdd@gmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 14:06:04 -07:00
.github ci: bump action versions 2026-05-05 17:08:54 -07:00
app fix: add "sniGuard: disable" to cert command output 2026-05-10 01:06:05 -07:00
core Reuse 32KB buffers in copyBufferLog with sync.Pool (#1572) 2026-05-15 22:19:36 -07:00
extras fix(acl): normalize trailing dot in domain matches (#1574) 2026-05-16 14:06:04 -07:00
media-kit chore: media kit 2023-09-01 18:09:56 -07:00
scripts chore(scripts): detect arch for loong64 2025-01-08 14:57:02 +09:00
.gitignore feat: quic-go v0.54.0 2025-09-13 16:17:59 -07:00
CHANGELOG.md chore: update README 2023-09-01 17:51:44 -07:00
Dockerfile Add nftables to Dockerfile for firewall rules (#1543) 2026-04-02 12:44:13 -07:00
go.work chore: bump cobra & viper versions 2026-02-21 17:03:34 -08:00
go.work.sum feat: omit datagram TP 2026-04-25 17:07:05 -07:00
hyperbole.py fix(hyperbole): android build 2026-05-08 16:26:15 -07:00
LICENSE.md chore: add license 2023-09-01 13:44:12 -07:00
logo.svg chore: update README 2023-09-01 17:51:44 -07:00
platforms.txt ci: add linux/loong64 to platforms.txt 2025-01-08 14:56:15 +09:00
PROTOCOL.md fix: typo in PROTOCOL.md 2024-03-13 19:39:55 -07:00
README.md chore: sync README 2024-04-15 15:06:16 -07:00
requirements.txt fix: update requirements.txt 2 2026-03-29 15:03:43 -07:00

Hysteria 2

License Release Telegram Discussions

Hysteria is a powerful, lightning fast and censorship resistant proxy.

Get Started

中文文档

Hysteria 1.x (legacy)


🛠️ Jack of all trades

Wide range of modes including SOCKS5, HTTP Proxy, TCP/UDP Forwarding, Linux TProxy, TUN - with more features being added constantly.

Blazing fast

Powered by a customized QUIC protocol, Hysteria is designed to deliver unparalleled performance over unreliable and lossy networks.

Censorship resistant

The protocol masquerades as standard HTTP/3 traffic, making it very difficult for censors to detect and block without widespread collateral damage.

💻 Cross-platform

We have builds for every major platform and architecture. Deploy anywhere & use everywhere. Not to mention the long list of 3rd party apps.

🔗 Easy integration

With built-in support for custom authentication, traffic statistics & access control, Hysteria is easy to integrate into your infrastructure.

🤗 Chill and supportive

We have well-documented specifications and code for developers to contribute and/or build their own apps. And a helpful community, too.


If you find Hysteria useful, consider giving it a !

Star History Chart