github valnesfjord/tg-ws-proxy-rs v2.5.8
tg-ws-proxy-rs v2.5.8

3 hours ago

A failed --default-domains fetch is now retried in the background instead of leaving the whole run
on the built-in list, and a normal pinned setup no longer logs a warning on every connection.

Fixed

The default CF domain list is re-fetched after a failed start (#159)

The list is fetched once, before the listener binds. On a router that is often before the uplink or
DNS is up, so the fetch failed, the proxy fell back to the 5 built-in domains, and it stayed on them
until someone restarted it. The reporter's box ran 21 hours like that, with 5 domains instead of 20.
With a ws,cfproxy,tcp pin and a blocked --dc-ip, the domain list is the only thing standing
between a client and a dropped connection, so a short list matters most exactly after a reboot.

  • The proxy still starts at once on the built-in list, and says so once at WARN.
  • A background task re-fetches the list: first after 15 seconds, then backing off up to every
    5 minutes, for about an hour. Failed retries are logged at DEBUG only.
  • When a re-fetch succeeds, every connection accepted from then on uses the full list, and the log
    says Re-fetched the default CF domain list: N domain(s) now in use. Connections already open are
    not touched.
  • If it still fails after an hour, the proxy logs that once and keeps the built-in list.
  • --check is unchanged: it fetches once and reports on whatever it got.

pinned … tier has no … target is DEBUG, not WARN (#160)

A pin such as --pinned-upstream ws,cfproxy,tcp with --dc-ip for only some DCs is an ordinary
setup, and the tuning menus write exactly that. Every connection to a DC without a --dc-ip entry
logged a WARN that the ws tier had no target, 255 times in one 21-hour run, always saying the same
thing. The same applied to the cfworker and tcp versions of that line. All three are now DEBUG.
The startup banner already lists which DCs have a --dc-ip target.

Also

  • cargo clippy --all-targets is clean again. Nothing changes in behaviour.

What it costs

At most about fifteen HTTPS requests to GitHub over the first hour, and only when the startup fetch
failed. A successful re-fetch makes one copy of the settings, once.

Don't miss a new tg-ws-proxy-rs release

NewReleases is sending notifications on new releases.