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

[Twitter] Login Configs all set but not working [Err 401 Unauthorized] #5445

Closed
vsatyamesc opened this issue Apr 6, 2024 · 17 comments
Closed

Comments

@vsatyamesc
Copy link

[twitter][error] 401 Unauthorized (Could not authenticate you)

Tried using the same credentials to login in incognito and working but not on gallery-dl

@vsatyamesc vsatyamesc changed the title [Twitter] Login Configs all set but not working. [Twitter] Login Configs all set but not working [Err 401 Unauthorized] Apr 6, 2024
@mikf
Copy link
Owner

mikf commented Apr 6, 2024

Try using cookies directly since username & password don't seem to work for you.

@Scrooge200FES
Copy link

I'm having the same problem, and when I do sign in with -u and -p, I get rate limited. Here's what I'm using:

gallery-dl --cookies-from-browser firefox https://twitter.com/hourlyvasterror/status/1762904246624649229 [cookies][info] Extracted 3176 cookies from Firefox [twitter][error] 401 Unauthorized (Could not authenticate you)

@Scripter17
Copy link
Contributor

For me at least, the cookies stop working after a bit and gallery-dl has to try logging in, at which point it 401's

@rautamiekka
Copy link
Contributor

For me at least, the cookies stop working after a bit and gallery-dl has to try logging in, at which point it 401's

If you actively use the same cookies you DL with, then yeah they will, it's a normal function of them.

@vlf
Copy link

vlf commented Apr 8, 2024

It seems like twitter has implemented some even stricter anti-bot measures.

Rate limiting was all good, but few days ago after going through ~200 accounts ([-A 2] so around 500 downloads with random sleep of 2-10s) all of my sessions for that account got invalidated and was forcefully logged out on PC, while on mobile the app asked to verify if I'm a human.
To be fair, I was also posting/changing profile for that account during that time, so that might have triggered the detection algorithm as well, not just pure request count and hitting rate limit.

Using secondary account from the same origin IP seems to be working just fine. This leads me to believe the account itself can get flagged as "potential bot" that requires some additional verification/challenge.
Strangely enough logging in to the flagged account on PC again, didn't trigger any challange/captcha, but still returns 401 when attempting login using gallery-dl u/p.

@plshelpidkwhatimdoing
Copy link

I just got this error and like vlf said logging into the account didn't give me an arkose. If you have "logout": "true" in your gallery-dl.conf like I did, removing it and running --clear-cache twitter seems to have fixed it for me.

@dieu
Copy link

dieu commented Apr 8, 2024

I just got this error and like vlf said logging into the account didn't give me an arkose. If you have "logout": "true" in your gallery-dl.conf like I did, removing it and running --clear-cache twitter seems to have fixed it for me.

didn't help me :( same error

[twitter][info] Requesting guest token
[twitter][info] Logging in as <user_name>
[twitter][error] AuthorizationError: Login required

with cookies:

[cookies][warning] Failed to decrypt cookie (AES-CBC Unicode)
[cookies][info] Extracted 340 cookies from Chrome (88 could not be decrypted)
[twitter][info] Requesting guest token
[twitter][error] 401 Unauthorized (Could not authenticate you)

@dieu
Copy link

dieu commented Apr 8, 2024

I just got this error and like vlf said logging into the account didn't give me an arkose. If you have "logout": "true" in your gallery-dl.conf like I did, removing it and running --clear-cache twitter seems to have fixed it for me.

Could you share your config?

@vsatyamesc
Copy link
Author

I just got this error and like vlf said logging into the account didn't give me an arkose. If you have "logout": "true" in your gallery-dl.conf like I did, removing it and running --clear-cache twitter seems to have fixed it for me.

Will try and check results

@plshelpidkwhatimdoing
Copy link

plshelpidkwhatimdoing commented Apr 9, 2024

Could you share your config?

Sure, hope it helps:

    "extractor": {
        "twitter": {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0",
            "username": "username",
            "password": "password",
            "text-tweets": "true",
            "postprocessors": [
                {
                    "name": "metadata",
                    "event": "post",
                    "filename": "{tweet_id}_content.txt",
                    "mode": "custom",
                    "format": "{content}"
                }
            ]
        },

@vlf
Copy link

vlf commented Apr 9, 2024

I just got this error and like vlf said logging into the account didn't give me an arkose. If you have "logout": "true" in your gallery-dl.conf like I did, removing it and running --clear-cache twitter seems to have fixed it for me.

Clearing cache did help in my case, thanks!

@vsatyamesc
Copy link
Author

clearing cache helped

@vsatyamesc
Copy link
Author

vsatyamesc commented Apr 11, 2024

I've set --sleep 0.9 tried using 4 concurrent different user download and it all working without limiting.
Apparently, Twitter is also limiting Browser downloads too. So its not just a problem of gallery-dl

@a84r7a3rga76fg
Copy link

a84r7a3rga76fg commented Apr 12, 2024

It'll force you to re-login and maybe solve a captcha if you download too many files in one day

@plshelpidkwhatimdoing
Copy link

Clearing cache did help in my case, thanks!

clearing cache helped

Glad it helped

@dieu
Copy link

dieu commented Apr 15, 2024

Could you share your config?

Sure, hope it helps:

    "extractor": {
        "twitter": {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0",
            "username": "username",
            "password": "password",
            "text-tweets": "true",
            "postprocessors": [
                {
                    "name": "metadata",
                    "event": "post",
                    "filename": "{tweet_id}_content.txt",
                    "mode": "custom",
                    "format": "{content}"
                }
            ]
        },

thanks, it helped.

mikf added a commit that referenced this issue Apr 16, 2024
- handle more subtasks
- support 2FA
- support email verification codes
@mikf
Copy link
Owner

mikf commented Apr 16, 2024

I've updated the login code a bit to handle email verification codes, 2FA tokens, and provide better(?) errors: 9e5d65f

There's now also a new option to re-login when receiving a "Could not authenticate you" error (enabled by default): 85bbb59

JackTildeD added a commit to JackTildeD/gallery-dl-forked that referenced this issue Apr 24, 2024
* save cookies to tempfile, then rename

avoids wiping the cookies file if the disk is full

* [deviantart:stash] fix 'index' metadata (mikf#5335)

* [deviantart:stash] recognize 'deviantart.com/stash/…' URLs

* [gofile] fix extraction

* [kemonoparty] add 'revision_count' metadata field (mikf#5334)

* [kemonoparty] add 'order-revisions' option (mikf#5334)

* Fix imagefap extrcator

* [twitter] add 'birdwatch' metadata field (mikf#5317)

should probably get a better name,
but this is what it's called internally by Twitter

* [hiperdex] update URL patterns & fix 'manga' metadata (mikf#5340)

* [flickr] add 'contexts' option (mikf#5324)

* [tests] show full path for nested values

'user.name' instead of just 'name' when testing for
"user": { … , "name": "…", … }

* [bluesky] add 'instance' metadata field (mikf#4438)

* [vipergirls] add 'like' option (mikf#4166)

* [vipergirls] add 'domain' option (mikf#4166)

* [gelbooru] detect returned favorites order (mikf#5220)

* [gelbooru] add 'date_favorited' metadata field

* Update fapello.py

get fullsize image instead resized

* fapello.py Fullsize image

by remove ".md" and ".th" in image url, it will download fullsize of images

* [formatter] fix local DST datetime offsets for ':O'

'O' would get the *current* local UTC offset and apply it to all
'datetime' objects it gets applied to.
This would result in a wrong offset if the current offset includes
DST and the target 'datetime' does not or vice-versa.

'O' now determines the correct local UTC offset while respecting DST for
each individual 'datetime'.

* [subscribestar] fix 'date' metadata

* [idolcomplex] support new pool URLs

* [idolcomplex] fix metadata extraction

- replace legacy 'id' vales with alphanumeric ones, since the former are
  no longer available
- approximate 'vote_average', since the real value is no longer
  available
- fix 'vote_count'

* [bunkr] remove 'description' metadata

album descriptions are no longer available on album pages
and the previous code erroneously returned just '0'

* [deviantart] improve 'index' extraction for stash files (mikf#5335)

* [kemonoparty] fix exception for '/revision/' URLs

caused by 03a9ce9

* [steamgriddb] raise proper exception for deleted assets

* [tests] update extractor results

* [pornhub:gif] extract 'viewkey' and 'timestamp' metadata (mikf#4463)

mikf#4463 (comment)

* [tests] use 'datetime.timezone.utc' instead of 'datetime.UTC'

'datetime.UTC' was added in Python 3.11
and is not defined in older versions.

* [gelbooru] add 'order-posts' option for favorites (mikf#5220)

* [deviantart] handle CloudFront blocks in general (mikf#5363)

This was already done for non-OAuth requests (mikf#655)
but CF is now blocking OAuth API requests as well.

* release version 1.26.9

* [kemonoparty] fix KeyError for empty files (mikf#5368)

* [twitter] fix pattern for single tweet (mikf#5371)

- Add optional slash
- Update tests to include some non-standard tweet URLs

* [kemonoparty:favorite] support 'sort' and 'order' query params (mikf#5375)

* [kemonoparty] add 'announcements' option (mikf#5262)

mikf#5262 (comment)

* [wikimedia] suppress exception for entries without 'imageinfo' (mikf#5384)

* [docs] update defaults of 'sleep-request', 'browser', 'tls12'

* [docs] complete Authentication info in supportedsites.md

* [twitter] prevent crash when extracting 'birdwatch' metadata (mikf#5403)

* [workflows] build complete docs Pages only on gdl-org/docs

deploy only docs/oauth-redirect.html on mikf.github.io/gallery-dl

* [docs] document 'actions' (mikf#4543)

or at least attempt to

* store 'match' and 'groups' in Extractor objects

* [foolfuuka] improve 'board' pattern & support pages (mikf#5408)

* [reddit] support comment embeds (mikf#5366)

* [build] add minimal pyproject.toml

* [build] generate sdist and wheel packages using 'build' module

* [build] include only the latest CHANGELOG entries

The CHANGELOG is now at a size where it takes up roughly 50kB or 10% of
an sdist or wheel package.

* [oauth] use Extractor.request() for HTTP requests (mikf#5433)

Enables using proxies and general network options.

* [kemonoparty] fix crash on posts with missing datetime info (mikf#5422)

* restore LD_LIBRARY_PATH for PyInstaller builds (mikf#5421)

* remove 'contextlib' imports

* [pp:ugoira] log errors for general exceptions

* [twitter] match '/photo/' Tweet URLs (mikf#5443)

fixes regression introduced in 40c0553

* [pp:mtime] do not overwrite '_mtime' for None values (mikf#5439)

* [wikimedia] fix exception for files with empty 'metadata'

* [wikimedia] support wiki.gg wikis

* [pixiv:novel] add 'covers' option (mikf#5373)

* [tapas] add 'creator' extractor (mikf#5306)

* [twitter] implement 'relogin' option (mikf#5445)

* [docs] update docs/configuration links (mikf#5059, mikf#5369, mikf#5423)

* [docs] replace AnchorJS with custom script

use it in rendered .rst documents as well as in .md ones

* [text] catch general Exceptions

* compute tempfile path only once

* Add warnings flag

This commit adds a warnings flag

It can be combined with -q / --quiet to display warnings.
The intent is to provide a silent option that still surfaces
warning and error messages so that they are visible in logs.

* re-order verbose and warning options

* [gelbooru] improve pagination logic for meta tags (mikf#5478)

similar to 494acab

* [common] add Extractor.input() method

* [twitter] improve username & password login procedure (mikf#5445)

- handle more subtasks
- support 2FA
- support email verification codes

* [common] update Extractor.wait() message format

* [common] simplify 'status_code' check in Extractor.request()

* [common] add 'sleep-429' option (mikf#5160)

* [common] fix NameError in Extractor.request()

… when accessing 'code' after an requests exception was raised.

Caused by the changes in 566472f

* [common] show full URL in Extractor.request() error messages

* [hotleak] download files with 404 status code (mikf#5395)

* [pixiv] change 'sanity_level' debug message to a warning (mikf#5180)

* [twitter] handle missing 'expanded_url' fields (mikf#5463, mikf#5490)

* [tests] allow filtering extractor result tests by URL or comment

python test_results.py twitter:+/i/web/
python test_results.py twitter:~twitpic

* [exhentai] detect CAPTCHAs during login (mikf#5492)

* [output] extend 'output.colors' (mikf#2566)

allow specifying ANSI colors for all loglevels
(debug, info, warning, error)

* [output] enable colors by default

* add '--no-colors' command-line option

---------

Co-authored-by: Luc Ritchie <[email protected]>
Co-authored-by: Mike Fährmann <[email protected]>
Co-authored-by: Herp <[email protected]>
Co-authored-by: wankio <[email protected]>
Co-authored-by: fireattack <[email protected]>
Co-authored-by: Aidan Harris <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants