Skip to content

Conversation

@chowder
Copy link
Contributor

@chowder chowder commented Dec 4, 2025

This change switches the TLS backend from hyper-rustls to hyper-tls, which seems to circumvent Reddit's current blocking strategies (#446 (comment)).

Changes:

  • Replace hyper-rustls with hyper-tls
  • Add OpenSSL with vendored feature for static compilation
  • Update Dockerfiles:
    • Bump Alpine version to 3.22
    • Add perl and make for OpenSSL build
    • Add git for correct commit stamping
    • Add ca-certificates to runtime image

This change switches the TLS backend from Rustls to native TLS with
vendored OpenSSL compilation.

Changes:
- Replace hyper-rustls with hyper-tls in Cargo.toml
- Add OpenSSL with vendored feature for static compilation
- Update src/client.rs to use hyper_tls::HttpsConnector
- Simplify HTTPS connector initialization
- Update Dockerfile.alpine:
  - Bump Alpine version to 3.22
  - Add perl and make for OpenSSL build
  - Add git for build.rs commit stamping
  - Add ca-certificates to runtime image
- Update Dockerfile.ubuntu:
  - Add git for build.rs commit stamping

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@gmemstr
Copy link

gmemstr commented Dec 4, 2025

For what it's worth, this breaks cross compilation/cross building container images (at least under Podman/qemu) as openssl based TLS libs fail to build in that environment.

Disregard, this was an issue with my environment.

@gmemstr
Copy link

gmemstr commented Dec 4, 2025

Once my build errors were sorted out, I can confirm this resolves the fingerprint block.

@oynqr
Copy link

oynqr commented Dec 6, 2025

Does this support TLS 1.3? If not it just gives them an even easier way to fingerprint.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants