Beta release
What's Changed
- This update significantly improves YouTube loading on providers where the DPI drops part of the connections to Google video servers (#101)
- Built-in DNS over HTTPS (DoH)
- Race ClientHello over parallel connections (can be disabled with
--no-retry) - Add connect, ClientHello and reply timeouts
- Add OOB desync method for ClientHello
- Skip hosts that keep failing for 5 min (can be disabled with
--no-skip-dead-hosts) - Use happy eyeballs for upstream connects
- Show fatal errors in quiet mode
- Less noise in the error log: client aborts before ClientHello are no longer logged, connection resets are logged as a single line
- Fix several old bugs in logging, connection handling and pipe encoding
- Split main.py into modules, enable ruff
- Add code of conduct and contributing guide
- Linux binary now runs on Ubuntu 20.04 and newer (glibc 2.17+)
New command line options
| Option | Description |
|---|---|
--no-doh
| Use the system DNS instead of DNS over HTTPS |
--doh-server URL
| Own DoH resolver tried first, e.g. https://94.140.14.14/dns-query. Can be repeated
|
--no-retry
| Do not retry the ClientHello over new connections when the server is silent |
--no-skip-dead-hosts
| Do not refuse connections to hosts that failed several times in a row |
Note
A custom --doh-server must support HTTP/1.1. Some resolvers, such as Quad9, only work over HTTP/2 and will be skipped.
Full Changelog: v2.3...v2.4-beta.1