BlueBubblesApp / bluebubbles-server

Server for forwarding iMessages to clients within the BlueBubbles App ecosystem
https://bluebubbles.app
Apache License 2.0
554 stars 47 forks source link

Android Client: Server is unreachable / no-ip.org with Let's Encrypt #620

Closed bigmalletman closed 9 months ago

bigmalletman commented 9 months ago

Please reference discord thread: https://discord.com/channels/640229510662455326/1206322471448481792

As I understand it, most users are using Cloudflare proxy. I was trying to set up Dynamic DNS but am unable to get the Android client to connect to my no-ip.org address.

If I use http, I have no issues and the Detect Localhost Address functionality also works perfectly. However, using unencrypted traffic would be very unwise.

If I try to use https along with my valid Let's Encrypt certificate, I run into issues.

  1. The Detect Localhost Address functionality won't work with this setup. If you set up Dynamic DNS with https, the port only outputs https traffic. This isn't really a huge issue, since there isn't an increase in latency when using Dynamic DNS, Detect Localhost can simply be disabled.
  2. The web client has no issues connecting ... however, the Android client (1.13.0 from Google Play Store) will not connect. The error I am getting in the debug log is -- OS Error: CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:393)) However, if I go to my custom URL in a web browser or CURL, everything reports that this is a valid certificate. The Android client acts like it isn't even attempting to check the certificate.

I connect through Firebase and have also tried with the QR code. The startup page just reports that the server is unreachable.

I will switch to Cloudflare in the meantime, but I would find Dynamic DNS ideal for my purposes.

bigmalletman commented 9 months ago

BlueBubbles-log-2024211_151331.txt

Nothing really to see here... nevertheless, here is the debug log...

bigmalletman commented 9 months ago

wrong repo... nothing to see here...