Skip to content

Switch TLS backend from hyper-rustls to hyper-tls#509

Open
chowder wants to merge 2 commits into
redlib-org:mainfrom
chowder:feature/tls-openssl
Open

Switch TLS backend from hyper-rustls to hyper-tls#509
chowder wants to merge 2 commits into
redlib-org:mainfrom
chowder:feature/tls-openssl

Conversation

@chowder

@chowder chowder commented Dec 4, 2025

Copy link
Copy Markdown
Contributor

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

gmemstr commented Dec 4, 2025

Copy link
Copy Markdown

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

gmemstr commented Dec 4, 2025

Copy link
Copy Markdown

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

@oynqr

oynqr commented Dec 6, 2025

Copy link
Copy Markdown

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

@evrial

evrial commented Dec 30, 2025

Copy link
Copy Markdown

@sigaloid care to merge this into upstream?

espacedev3019 added a commit to espacedev3019/redlib that referenced this pull request Jan 17, 2026
@KucharczykL

Copy link
Copy Markdown

This PR is the only thing that keeps from getting errors mentioned in #446.

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.

5 participants