Skip to content

TextsHQ/swift-fetch

Repository files navigation

swift-fetch

Currently has 2 implementations to support iOS and Desktop app.

Implementations

URLSession

URLSession matches Safari JA3 and HTTP2 signatures for texts-app-ios usage.

AsyncHTTPClient

Primarily used for texts-app-desktop. This uses patched async-http-client and its dependencies to mimic the JA3 and HTTP2 signature of Chrome.

swift-nio-* patches

swift-nio-http2

We had to patch this to match the HTTP2 client signature of Chrome

swift-nio-ssl

Added support for the following features not implemented in upstream. This was also needed to match the JA3 signature of Chrome. The configuration and settings were taken from the Chromium source code.

  • Brotli Certificate Decompression
  • Explicit SSL renegotiation
  • Application Settings (CNIOBoringSSL_SSL_add_application_settings(self.ssl, "h2", 2, nil, 0))
  • OCSP stapling
  • Enable GREASE/RFC8701

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published