Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot connect to server through android app (probably because http) #133

Open
posLop opened this issue May 8, 2022 · 15 comments
Open

Cannot connect to server through android app (probably because http) #133

posLop opened this issue May 8, 2022 · 15 comments

Comments

@posLop
Copy link

posLop commented May 8, 2022

i am unable to connect to my anki server through my phone. my laptop works perfectly fine however.

the error is CLEARTEXT communication to (ip address) is not permitted by network security policies

i read that this is caused by useing http and not https which is what im useing. i do not want to use https as i use a vpn called tailscale which is based on wireguard. all my traffic is already encrypted and i am not useing this for many people.

@VikashKothary
Copy link
Member

Hi @posLop,

I'm happy to help you with your issue. Can you help my reproduce your issue? What exactly did you do to get this error?

@Kiskadee-dev
Copy link

Kiskadee-dev commented May 17, 2022

@VikashKothary I have the same issue, i've setup the server a few days ago and anki desktop synced just fine.

The problem lies within Ankidroid and the android policy about sending credentials through http, which is right but expecting self hosted servers to use self signed certs isn't really productive.

I've also tried to setup ssl on a updated docker image (the current one doesn't work with the current anki version) + nginx as a proxy but failed as either i did something wrong or this project doesn't really support that... i'm not experienced enough about ssl/https to say

To reproduce: start the server, try to login with the latest ankidroid app

@posLop
Copy link
Author

posLop commented May 20, 2022

@VikashKothary I have the same issue, i've setup the server a few days ago and anki desktop synced just fine.

The problem lies within Ankidroid and the android policy about sending credentials through http, which is right but expecting self hosted servers to use self signed certs isn't really productive.

I've also tried to setup ssl on a updated docker image (the current one doesn't work with the current anki version) + nginx as a proxy but failed as either i did something wrong or this project doesn't really support that... i'm not experienced enough about ssl/https to say

To reproduce: start the server, try to login with the latest ankidroid app

I had the exact same issue. i initially started with bare http and the policy blocked me from accessing. i then setup a self signed https connection and anki would not connect. it seemed to me that https was not supported by the app

@alexanderroese
Copy link

Good day!

I have the same problem on my android phone. I set up a server and want to connect it with http from my phone and got the same error message. Is there already a solution? @Kiskadee-dev @posLop

@Kiskadee-dev
Copy link

@alexanderroese This project doesn't seem to support https as it uses a very old protocol, so even if we update the server version it won't work, that's what i've understood from my tests with nginx and (a very modified) docker version

It would be easier if the ankidroid devs set the https requirement as optional, its easier but well, it isn't great to send credentials over http anyway... so i've gave up on this

@alexanderroese
Copy link

Ok, thanks for the quick reply @Kiskadee-dev. Then I will put nginx as reverse proxy in front for the https connection.

@posLop
Copy link
Author

posLop commented Jun 24, 2022

when ibtried a reverse proxy i had the exact same issue

@alexanderroese
Copy link

alexanderroese commented Jun 24, 2022

Okay. I had the anki server running behind a nginx reverse proxy with ssl for a long time with no problems. I do not know where the problem is @posLop :)

@VikashKothary
Copy link
Member

Thank you for the information. I'll try and have a look at this issue this weekend.

From the comments, it sounds like setting up a reverse proxy with SSL should've fixed your problem. So I think I'll need to investigate why that is not the case.

@Kiskadee-dev
Copy link

@VikashKothary In my case i'm 99% sure i've made a mistake and set it up wrong because i'm not experienced on doing this, but i think in the near future it would be nice to ship it with a docker-compose with the reverse proxy ready to rock

@VikashKothary
Copy link
Member

@Kiskadee-dev My hope is to improve the process such that any user, regardless of their technical level, can use these services. So I always appreciate you bringing up issues that you face so we can improve the process for future users.

Regarding the docker-compose comment, I totally agree. Could you create a ticket in our docker repo: https://github.com/ankicommunity/anki-devops-services?

@dschilling
Copy link

Looks like a fix is coming for this! ankidroid/Anki-Android#11751 - it says it should land in AnkiDroid 2.16.

@liasfurl
Copy link

liasfurl commented Jan 4, 2023

The fix mentioned is merged but I'm still having the same issue due to http. Not sure why it's not resolved?

@dschilling
Copy link

@liasfurl Looks like that fix is marked to be included in the 2.16 milestone, and there are still a few items not yet completed in that milestone. The current version of the app in the Google Play Store is still 2.15.6.

@sethidden
Copy link

Can confirm that installing AnkiDroid 2.16-beta2 fixed the issue for me.

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

No branches or pull requests

7 participants