lamarios / clipious

Invidious client for android
GNU Affero General Public License v3.0
803 stars 27 forks source link

clearText HTTP Traffic not permitted #538

Closed Lcstyle closed 3 months ago

Lcstyle commented 3 months ago

Describe the bug Cannot connect to a private invidious instance over plaintext. Adding a self signed cert to the server, and installed the cert as a Trusted Root CA also doesn't work.

2024-04-27 11:24:29.204 2105-2105 AudioMediaPlayerWrapper com.android.bluetooth V onPlaybackStateChanged(): com.github.lamarios.clipious : PlaybackState {state=CONNECTING(8), position=0, buffered position=0, speed=1.0, updated=26915234, actions=16252879, custom actions=[Action:mName='Rewind, mIcon=2131230842, mExtras=null, Action:mName='Stop, mIcon=2131230847, mExtras=null, Action:mName='Fast Forward, mIcon=2131230841, mExtras=null], active item id=0, error=null}
2024-04-27 11:24:29.206 24840-25297 ExoPlayerImplInternal com.github.lamarios.clipious E Playback error
 w0.m: Source error
   at w0.j1.I(Unknown Source:16)
   at w0.j1.handleMessage(Unknown Source:335)
   at android.os.Handler.dispatchMessage(Handler.java:103)
   at android.os.Looper.loopOnce(Looper.java:232)
   at android.os.Looper.loop(Looper.java:317)
   at android.os.HandlerThread.run(HandlerThread.java:68)
 Caused by: t0.q: Cleartext HTTP traffic not permitted. See https://developer.android.com/guide/topics/media/issues/cleartext-not-permitted
   at t0.m.e(Unknown Source:265)
   at t0.a0.e(Unknown Source:12)
   at t0.i.a(Unknown Source:8)
   at t0.i.b(Unknown Source:0)
   at o1.p.a(Unknown Source:14)
   at o1.n$d.run(Unknown Source:51)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
   at java.lang.Thread.run(Thread.java:1012)
 Caused by: java.io.IOException: Cleartext HTTP traffic to X.X.X not permitted
   at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:127)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:462)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
   at t0.m.v(Unknown Source:148)
   at t0.m.w(Unknown Source:93)
   at t0.m.e(Unknown Source:12)
   at t0.a0.e(Unknown Source:12)
   at t0.i.a(Unknown Source:8)
   at t0.i.b(Unknown Source:0)
   at o1.p.a(Unknown Source:14)
   at o1.n$d.run(Unknown Source:51)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
   at java.lang.Thread.run(Thread.java:1012)

To Reproduce Steps to reproduce the behavior:

  1. setup invidious on http port
  2. setup invidious server in clipious to http://server.domain.tld:port
  3. See error

Expected behavior https://developer.android.com/media/media3/exoplayer/troubleshooting#fixing-cleartext-http-traffic-not-permitted-errors

To enable all cleartext HTTP traffic, you can simply add android:usesCleartextTraffic="true" to the application element of your app's AndroidManifest.xml.

Smartphone (please complete the following information):

Lcstyle commented 3 months ago

can confirm latest fixes the issue

lamarios commented 3 months ago

Good to hear that :)