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

being blocked #30

Closed
clayt0nk opened this issue Sep 1, 2016 · 15 comments
Closed

being blocked #30

clayt0nk opened this issue Sep 1, 2016 · 15 comments
Labels

Comments

@clayt0nk
Copy link

clayt0nk commented Sep 1, 2016

Just tried to update, and got "authentication failed" with the default credentials.

Switched to one of my own Google accounts, and used a real Android device ID associated with that account and which updates just fine over Google play, and always get this error:

"Cannot login to GooglePlay ( server says: NeedsBrowser )"

@matlink
Copy link
Owner

matlink commented Sep 19, 2016

For some reasons google blocks some login requests with gplaycli account. I receive emails telling me they have blocked a login try and that someone has my password.
Can't figure out how to fix it right now.

@clayt0nk
Copy link
Author

clayt0nk commented Sep 24, 2016

A couple more data points.....

#1: I live in China and always use a VPN to access Google junk. I don't always use the same VPN endpoint, needless to say. On an Android with an actual functioning Google Play (I still have one of those) if I move from one endpoint to another, there is a popup that asks me (again) to accept Google's T&C's. Today, I did that on an actual Google Play and accepted those T&C's using the same endpoint my gplaycli is talking to, et voila, now gplaycli can login. Are you catching this properly in the code?

#2: And now, given the above progress, a new problem: for a gplaycli -u (update) I get past login, and "Analyzing" each already-present apk, through the list of apps to be updated. Then when I press "y" to go ahead and update, for each app to be updated I get a (for instance) "Error while downloading com.skype.raider: this package does not exist, try to search it via --search before" error. If I actually try to search, it pulls up a list of results as usual. But then if I use gplaycli to try to download one of the failed updates manually ie. gplaycli -d com.skype.raider, I get the same error plus "list index out of range".

This "list index out of range" is not a new error, I got this before when trying to download an app with more than two periods in it's name, ie. something like com.this.fancy.software would always fail before with this error, even though I could download it straight-away with Google Play. (Ie. the name was correct.) Now it seems everything is generating this error, at least for me, today. :-/

@jmcclelland
Copy link

jmcclelland commented Sep 25, 2016

I also got past the login problem by entering my own credentials (and logged in via the web on same computer with same credentials). And, I also now get "list index out of range":

0 jamie@turkey:apks$ gplaycli -v -c ~/.local/gplaycli/credentials.conf -d org.thoughtcrime.securesms
1/1 org.thoughtcrime.securesms
Error while downloading org.thoughtcrime.securesms : this package does not exist, try to search it via --search before
A few packages could not be downloaded :
org.thoughtcrime.securesms
list index out of range

0 jamie@turkey:apks$ 

@clayt0nk
Copy link
Author

@jmcclelland Might you have the android_ID in credentials.conf wrong? Previously I was using an ID returned by adb, but I just installed the "device id" app on my Android tablet which gave me a completely different device ID. I logged into with Google play with the tablet and updated a couple apps, then used the new device ID in my credentials.conf and currently gplaycli is happily updating just like it used to (but now using my own credentials associated with the real device ID of my real tablet -- there goes the privacy dividend, but at least it works).

@jmcclelland
Copy link

Thanks for the tip. I think I'm getting closer. I was using the wrong device id (I still had the device ID from the credentials.conf file that ships with the software). With the wrong device id, I got:

0 jamie@turkey:apks$ gplaycli -v -c ~/.local/gplaycli/credentials.conf -d org.thoughtcrime.securesms
1/1 org.thoughtcrime.securesms
Error while downloading org.thoughtcrime.securesms : this package does not exist, try to search it via --search before
A few packages could not be downloaded :
org.thoughtcrime.securesms
list index out of range

0 jamie@turkey:apks$

I then installed com.evozi.deviceid from https://apkupdate.com (there is a chicken/egg problem with connecting my device to google play). I got the device id, but then I couldn't get securesms to show up in search results:


0 jamie@turkey:apks$ gplaycli -v -c ~/.local/gplaycli/credentials.conf --search org.thoughtcrime.securesms
No result
0 jamie@turkey:apks$ 

I can return search results for other apps.

I think my google account doesn't know about this device - which might be the problem.

@lightdot
Copy link

lightdot commented Oct 3, 2016

I also had problems logging in with the default credentials provided by gplaycli (as described in #32 and in the first post here), but after:

  • crating a new Google account
  • turning on Access for less secure apps in the above account
  • logging into Google Play with a browser, using new credentials
  • creating a new fake android device ID with Raccoon (just run once, Dummy Droid 1.1 doesn't work at the moment)
  • checking to see that the new fake android device ID was associated with the Google Play account,

I can now again use gplaycli normally, after changing the credentials in the gplaycli config, of course.

Hope this step-by-step helps someone get over this more easily.

@jmcclelland
Copy link

jmcclelland commented Oct 3, 2016

Yes!! Thank you lightdot. That did the trick perfectly.
I took the following steps:

  • Downloaded by build.prop file via adb:
    adb pull /system/build.prop
  • Downloaded DummyDroid
  • Ran DummyDroid:
    java -jar DummyDroid-1.1.jar
  • Pointed DummyDroid to my recently downloaded build.prop file
  • Clicked through all the DummyDroid forms without changing anything
  • Entered my Google Credentials
  • Copied and pasted the resulting ID into my gplaycli configuration file

I wish there was a simpler console tool to convert a build.prop file into something you can upload to Google without running a full java GUI. However... I'm thankful that a full java gui exists so it can be done :).

@matlink
Copy link
Owner

matlink commented Oct 3, 2016

Interesting. You are then using your own android ID right ?

Le 3 octobre 2016 22:48:40 GMT+02:00, jmcclelland notifications@github.com a écrit :

Yes!! Thank you lightdot. That did the trick perfectly.
I took the following steps:

  • Downloaded by build.prop file via adb:
    adb pull /system/build.prop
  • Downloaded DummyDroid
  • Ran DummyDroid:
    java -jar DummyDroid-1.1.jar
  • Pointed DummyDroid to my recently downloaded build.prop file
  • Clicked through all the DummyDroid forms without changing anything
  • Entered by Google Credentials
  • Copied and pasted the resulting ID into my gplaycli configuration
    file

I wish there was a simpler console tool to convert a build.prop file
into something you can upload to Google without running a full java
GUI. However... I'm thankful that a full java gui exists so it can be
done :).

You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#30 (comment)

@jmcclelland
Copy link

Yes - exactly. Using my own credentials and my own android ID. Seems like that is a good thing - assuming your android ID matches your actual device because it will restrict listings to ones that are compatible with your device.

Is there anyway to incorporate the functionality of DummyDroid into gplaycli? It would be nice to have an argument like --create-device PATH_TO_BUILD_PROP that would use the username/password in the credentials file and the given build.prop file to create a device in Google Play. Then we wouldn't need DummyDroid.

@HugoPoi
Copy link

HugoPoi commented Oct 16, 2016

@jmcclelland your procedure only work with a device already setup with Google Services ?
I try with nexus6.prop given with DummyDroid and doesn't seems to work.
I encounter a Cannot login to GooglePlay ( server says: BadAuthentication ) error either with the default credentials or my generated credentials.

@jmcclelland
Copy link

No, before I ran DummyDroid, my device was not setup with Google Services.

By running DummyDroid, it entered by device into Google Services.

However, I did already have a working Google account. It sounds like you may have entered the wrong username or password on the last step of DummyDroid.

@HugoPoi
Copy link

HugoPoi commented Oct 17, 2016

@jmcclelland DummyDroid has correctly setup a new device in my Google Account and a device ID.

@eighthave
Copy link

FYI, I just packaged dummydroid for Debian, so this should be easier now:
https://bugs.debian.org/842637

@matlink
Copy link
Owner

matlink commented Nov 3, 2016

Looks like ~/.config/gplaycli/credentials.conf is not overridden when --config is passed to gplaycli. Of course, ~/.config/gplaycli/credentials.conf has obsolete credentials.

@HugoPoi
Copy link

HugoPoi commented Nov 4, 2016

@matlink I confirmed this issue :-D
I override ~/.config/gplaycli/credentials.conf with one I created, and all works perfectly again !

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

No branches or pull requests

6 participants