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

Enable automated recaptcha solving with 2captcha #1526

Merged
merged 11 commits into from Nov 12, 2016
Merged

Enable automated recaptcha solving with 2captcha #1526

merged 11 commits into from Nov 12, 2016

Conversation

chowder
Copy link
Contributor

@chowder chowder commented Nov 11, 2016

Description

CODE FLOW:

  1. If account has 2 consecutive empty scans, a check is performed to see if the account is encountering a captcha
  2. If yes, it attempts to solve the captcha. If not, operation resumes.

USAGE:

Below are the flags added:
[-cs --CAPTCHA-SOLVING]: Enables captcha solving.
[-ck --CAPTCHA-KEY]: 2captcha API key.
[-cds --CAPTCHA-DATASITEKEY]: data-sitekey for the captchas

Motivation and Context

Solves captcha'd accounts.

How Has This Been Tested?

Ran for 48 hours with 400 workers. 12 captcha'd accounts solved without any errors.

Screenshots (if appropriate):

image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

chowderchow added 11 commits November 10, 2016 17:30
-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas
-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas
-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas
@willydk
Copy link

willydk commented Nov 11, 2016

I would love this to be released

@jorgitoh
Copy link

jorgitoh commented Nov 11, 2016

Empty scans means 0/0/0? Because without -ss is totally normal get a lot of 0/0/0. ( With -nk -ng )

@chowder
Copy link
Contributor Author

chowder commented Nov 11, 2016

@jorgitoh Yes, and yes.

@willydk You can pull the PR.

@iluretar Can do. Easily done with a few lines.

@willydk
Copy link

willydk commented Nov 11, 2016

what is this data-sitekey?

@chowder
Copy link
Contributor Author

chowder commented Nov 11, 2016

@willydk the googlekey POST parameter (https://2captcha.com/newapi-recaptcha-en)

For PoGo captchas, this is always 6LeeTScTAAAAADqvhqVMhPpr_vB9D364Ia-1dSgK

@willydk
Copy link

willydk commented Nov 11, 2016

@ChowderChow i see, thanks

@gabaod
Copy link
Contributor

gabaod commented Nov 11, 2016

Why does this require a -cds flag ? when the code has a default= of it, its still expecting an argument after -cds Just seems a little messy to require it, if its hard defined to always be the same variable for everyone.

@chowder
Copy link
Contributor Author

chowder commented Nov 11, 2016

@gabaod for the time being it doesn't require a -cds flag to work. It's just there in the event that the data-sitekey parameter for the captchas change.

@gabaod
Copy link
Contributor

gabaod commented Nov 11, 2016

Well good work young lad. Seems to work flawlessly.

@fantasy4u
Copy link

image
I have some program like this pic, How can I fix it??
There are no any detail info. But I check in the Mysql, I got the detail info. Howerver, it suddenly doesn't shown the info on the box

@chowder
Copy link
Contributor Author

chowder commented Nov 11, 2016

@fantasy4u Are you using this PR?

@Stuck7hrottle
Copy link

+1

I threw whatever accounts I had that I knew were Captcha'd into a csv file and let it run. All accounts have been unCaptcha'd and map is scanning great. Love it.

@hayelf
Copy link

hayelf commented Nov 11, 2016

I was looking into https://2captcha.com/newapi-recaptcha-en . What do I fill up for method, googlekey and pageurl ?

@chowder
Copy link
Contributor Author

chowder commented Nov 11, 2016

@hayelf You just need to provide a 2captcha API key. Please read the first post.

@alexccs
Copy link

alexccs commented Nov 12, 2016

Is it possible to provide an option to redirect the recaptcha to the web interface for volunteer solving? Our neighborhood telegram alarm got few hundred users, I think they will gladly help if there's a mean for them to help the community map.

@chowder
Copy link
Contributor Author

chowder commented Nov 12, 2016

@alexccs No plans for this.

@tomballgithub
Copy link
Contributor

This was easy to set up and works great! Many thanks...

@Mxchael
Copy link

Mxchael commented Nov 12, 2016

Working well. Thanks.

@nullpixel
Copy link
Contributor

Tested. +1

@willydk
Copy link

willydk commented Nov 13, 2016

my balance stays the same ~8h after I pull the speed limit code

@Beri51 Beri51 mentioned this pull request Nov 14, 2016
6 tasks
@ic4roswings
Copy link

@ChowderChow I have a method to do the captchas without 2 captcha maybe useful for small maps ore people like who cant make a payment in 2 captcha care to help me out ?

@kbtbc
Copy link

kbtbc commented Nov 16, 2016

I did two things today and it seems my captcha'ed count has gone up 1) started used the -sc flag to actually start checking the accounts and 2) added pr #1530 'valid times' ... I don't think the later actually is making any extra calls to niantic, so I'm wondering if checking to see if an account is captached on only two empties is actually causing more captchas? (previously, I was checking manually and solving them through PokeAlert).

In normal scanning condition two consecutive empties is common. Perhaps this value should be a variable?

Also, it would be nice if there was a separate log for accounts that have been captcha'ed.

kieronqtran added a commit to kieronqtran/PokemonGo-Map that referenced this pull request Nov 20, 2016
* Update pokemon.json (RocketMap#1305)

* Matches Polyfill (RocketMap#1100)

* Update index.rst (RocketMap#1322)

updated windows link for nodejs, was 4.4.7 move to 4.5.0

* Move commandline page from wiki to docs (RocketMap#1326)

Reorganizing to keep docs in docs

* fixes (RocketMap#1327)

There! More example.py

* Added Title to command line page and misc fix (RocketMap#1335)

* webworker (RocketMap#1287)

* Output better error when csv file has > 3 fields (RocketMap#1336)

* Correct multi-acc doc

* Prevent header from cutting off bottom (RocketMap#1343)

Same issue/fix as RocketMap#873, this time affecting the stats side bar instead of the menu bar

* Close info window upon second click (RocketMap#1238)

Currently the info window for Pokémon, Gyms, etc. can only be closed with the little x. This adds a stateful click handler that closes the info window with a second click.
Implements RocketMap#1237

* Decrease Number of Upserted Rows (RocketMap#1091)

* Decrease step size

* Check the type of DB

* setup.bat now won't set paths if already set, now also installs npm (RocketMap#770)

* Various fixes

Updated to install npm and now includes more user output. Now also won't set paths if already set, which was a problem if you ran the setup more than once.

* Update setup.bat

* Updated to not use temp files

As requested by Balthamel, it now no longer uses a temp file but rathers stores it in a variable.

* Update the "Easy setup" script (RocketMap#1217)

* Fully Implement On Demand Mode(Conflicts resolved) (RocketMap#1271)

* On demand mode

* On demand mode

* On demand mode

* On demand mode

* Pause before checking time in service

* Fix alphabetical order (RocketMap#1110)

* Suppress virtual keyboard - update - mobile OS detection (RocketMap#1289)

* [Fix] issue RocketMap#622, statistics 2x Uncaught TypeError

* Fix lint errors

* Prevent OSK on Touch

* Select Boxes prevent Virtual Keyboard Appearing on Touch Devices

* remove unnecessary loop

* basic mobile os detection

* fixed order in which some things must be installed

* Fix for some cases of 0,0,0 returns (RocketMap#1097)

Some users reporting 0,0,0 returns on subsequent auth token refreshes
after the first.

* Update pull request template (RocketMap#399)

* Update pull request template

* Changed checklist into a comment

* Stupid markdown comments

* Auth Update for nginx.md (RocketMap#221)

* Auth Update for nginx.md

Adding large block for httpd nginx authentication with reverse proxy

* Update nginx.md

* Removed references to third party docker container (RocketMap#1359)

* Removed references to third party container

* Changed references to container we control

* SpawnPoint Scanning Confusion - changed --spawnpoints-only to --skip-empty (RocketMap#1372)

* Change --spawnpoints-only to --skip-empty 

Change --spawnpoints-only to --skip-empty with better description in order to stop the confusion between TBTerra's Spawnpoint Scanning and this.

* Update commandline.md to include --skip-empty

* Few doc updates (RocketMap#1373)

* Added little Linux thing

* Some doc updates

* little thing

* changed 2nd gen link

* added loc gen

* Enhance Statistics Panel (RocketMap#1241)

* Test Commit

* Revert "Test Commit"
aa
This reverts commit e87c9d5.

* Add sortable Pokemon stats table

* Put back accidentally deleted PokeGyms stats code

* add link to Pokedex

* Styling fixes for statistics panel

* Fix listing errors

* fix some PokéSpelling errors

* Only count visible pokemon/gyms/pokestops

Correct issue (that has apparently existed for a while?) where items
not currently on screen were included in the stats.

* fix linting errors

* add option to specify config file on command line or via env variable RocketMap#1341 - Rebased (RocketMap#1376)

* add option to specify config file on command line or via env variable

original PR 1341

* Add new config file documentation

Original PR 1341

* Update commandline.md with new config file flags

Original PR 1341

* fix for those not using a config file at all (RocketMap#1377)

* Fixed purge_data query not executing (RocketMap#1247)

* Escaping ampersand in html (RocketMap#1380)

It's groundbreaking. My valid html OCD is kicking in again :D

* Add gym levels to markers (alternative to RocketMap#351) and misc gym marker upgrades (RocketMap#782)

* Added gym levels to marker icons

Relocated code for determining gym levels to a new function getGymLevel()

* Gym Level Markers

* Compressed changed files (4.9kb ->1.4kb)

* Fixed ternary operator order

You guys are right. I didn't even think of it

* Made the gymPrestige array a global variable

Made gymPrestige a global variable as opposed to a local variable in the event that other features use this data in the future (such as RocketMap#666)

* Add gym style option

* Choose between gym marker styles

* lint fix

* Reorganized forts for multiple gym styles

* Reload icons on demand

Used to wait until a mapUpdate(), but that could take up to 5 seconds

* Fixed lint error

* Lossless and optimized large versions

Original large version had heavy artifacts and were not compressed.

Harmony: 35.7KB -> 20.2KB
Instinct: 17.6KB -> 10.1KB
Mystic: 27.4KB -> 11.6KB
Valor: 29.0KB -> 13.9KB
Uncontested: 43.2KB -> 14.6KB

* High-res gym markers for mobile

When viewing on mobile, the images get enlarged in order to have the same "size" as when viewing on the desktop, resulting in blurry images

* High-res gym markers for mobile

Same thing as the ingame markers

* Load and scale back a higher res version

Mobile users will be able to load the markers without them being blurry

* Whoops, didn't realize stats used these too

* Changed default gym marker to in-game

* Resize icons based on higher res icons

* Revert default gym markers back to shield

* Forgot these

Somehow I forgot to upload these when I added the css for #arenaList :/

* we use sass, we can do crazy programatic stuff like this (RocketMap#1390)

* [FAQ.md] Updated formula

Thanks OurFlagIsMined :3

* Enable pulling each pokemons IVs and Moves by starting their encounter. (RocketMap#1272)

* Scan for IVs and moves

Clean implementation, bug free?

* Don't ignore moves.json

* whoopsie tabsies

* im on a roll here

* whitespace is really hard guys

* whitespace is really hard guys

* I'm sorry travis senpai

* Don't pass the whole dictonary to pokemonLabel on top of everything else

* Notifications based off % perfection

From owraight's branch

* praise travis

* Fix 0/0/0 results from atypical spawnpoints?

Some spawnpoints spawn the same encounter multiple times an hour. This
should prevent those points from being skipped over in the parsing
process.

* minor text fixes

* Fix get_encountered_pokemon

oops. Thanks sLoPPydrive.

* Default to a whitelist, support a black one

* Stop erroneous empty results when rescanning pokemon

Keep track of of pokemon that get skipped over druing the parsing phase
so we don't think we're getting 0 results from the server.

* Minor text fixes

* Minorer text fixes

* No more white/black flip

--encounter-blacklist (-eblk) is back, and --encounter-whitelist (-ewht)
is here now.

* Fix up the white/blacklists

Now they're in a mutually exclusive group, and it properly encounter
everything if neither list is set.

* sorry travis

* derp

* leave me alone travis

* Improve moves.json handling

Use RocketMap#1316 more useful moves.json and support move names being translated

* Reduce db requests to one per cell

Instead of one per pokemon. Thanks jchristi and DiscoTim

* text minor fixes

* Handle failed encounters

* Minor fixes to the config.ini.example

* Doc fixes (RocketMap#1410)

* Update commandline.md with IV commands

* Added information for updating

* Add scan here function (RocketMap#1398)

* Add scan here function

* fix tab for spaces

* fix trailing space

* adding a switch to show the scan button with a warning message the first time the switch is enabled

* travis correction (replacing doublequotes by singlequotes)

* deleted unwanted files

* deleted unwanted files

* Removed deprecated debug flag (RocketMap#1427)

* Removed Debug flag

* Removed debug to verbose condition

* Removed a missed reference to debug flag.

* Clarify `encounter-delay` unit (RocketMap#1423)

It’s measured in seconds.

* fix default config usage (RocketMap#1428)

* Only send updated and newly visible Stops/Gyms/Pokémon and not-'hidden' Pokémon in the JSON from server to client. (RocketMap#1303)

* Only send 'not-hidden' pokemon

* Forgot to take out console.log

* More space fixes

* Bye redundant pokestop requests. Hi, travis?

* <3 Travis

* one more commit, should really test before push

* When moving screen only send new pokestops + modified

* Yes, spaces indentations and empty lines..

* And again..

* And another..

* Dont query each ID but remove ID's we dont send afterwards.

* Check if Stops/Gyms go from off to on, use same old/previous coords for both Gyms/Stops and use optional parameters in get_stops/get_gyms instead of new function

* Spaces indents and you know whats.

* Only send updated and newly visible Stops/Gyms and not-'hidden' Pokemon.

* Query datetime instead of time

* Clean exclude query.

* over-indented

* Only send modified pokemon and uncovered.

* Fix list + list, instead of .update

* Default value for last_modified

* Optimize SQL queries

* Code cleanup

* Code from PR RocketMap#1272, Pokémon already in database don't need to be parsed again.

* Code fixes and optimising ScannedLocations

* Fix if clause so pokemen get properly skipped.

* A bridge too far, ScannedLocations dont update properly when only sending new locations (Reverting Scannedlocations changes)

* Code fixes

* Check for Gym last scanned instead of modified to update front-end Last Scanned value.

* Code cleanup/optimization for app.py

* refactor map.js to not require full data set for scanned locations and spawn points

* Fix switch flip in between json updates

* Optimize scannedlocations and spawnpoints

* Random capitals and code fixes

* Optimize map.js thanks @DiscoTim

* Fix class so it works like it used to

* Code clean up, prevstamp was not used

* When zooming in we are not uncovering new terrain, so no need to look further then last_modified

* # Comments to clarify

* It needs some overlap

* Determine last_modified on insert

* Move timestanp generation up

* Reduced the need for backtrack on timestamp

Reduced the default response, no need for the previous status on switch if its false.

Dont send the new fields in the response

Collect all pokemon/forts from cells before running queries.

Dont upsert pokestops that haven't changed since last scan.

Show in log how many pokemon/pokestop we didnt upsert (skipped).

Set scannedlocation last_modified on upsert instead of in code.

Add extra column on pokestops to keep track of when its been updated so we can send it to the map.

* update map.js to not require full set of pokestops

* Minor text fixes

* Frontend/Backend fixes

Only send lured stops if lured-only is selected

Resend unhidden Pokes

* Minor map fix

* Minor text fixes.

* Send all pokemon details to frontend

* Small woopsie

oh baby, oh baby, prepare for disappointment ;P -Thunderfox

* Update last modified on already existing scanlocations and fixes 1448 (RocketMap#1444)

* Update last modified on already existing scanlocations

* references before filled

* Handle default config file in configargparse correctly (RocketMap#1463)

* fix default config usage

* fix issue w/ configargparse not reading default value

* update debian instillation (RocketMap#1432)

* update debian instillation 

updated for easier instillation for noobs like me :)

* update debian instillation 

added cd~/

* Update linux.rst

* Update linux.rst (RocketMap#1483)

Fedora fix for: error: command 'gcc' failed with exit status 1 and on Fedora needs only: dnf install python

* Update example.py

* Update example.py

* Updated readme

* Fixed travis errors, map still not working

* Fix map V.2 (RocketMap#1511)

* Fixed the null pointer error again

* Use official API

* Updated for new libs, added submodule and updated docs (RocketMap#1522)

* remove IRC from readme

* Enable automated recaptcha solving with 2captcha (RocketMap#1526)

* Enable automatic captcha solving via 2captcha

* Revert "Enable automatic captcha solving via 2captcha"

This reverts commit 39dd8e4.

* Enable automated captcha solving with 2captcha

-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas

* Revert "Enable automated captcha solving with 2captcha"

This reverts commit 13c10cf.

* Enable automated captcha solving with 2captcha

-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas

* Revert "Enable automated captcha solving with 2captcha"

This reverts commit c1286a6.

* Enable automated captcha solving with 2captcha

-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas

* Uncommented 'api.activate_signature(encryption_lib_path)'

* Travis fixes

* Update for .45 API (RocketMap#1536)

* Remove unneeded encrypt lib references and remove unneeded submodule

* removed recursive instructions

* cmon travis, I wanna go to sleep.

* Travis, let me sleep. It's 3:44am.

* Whoops, forgot to remove this

* Remove direct node download links

Not needed, another thing to needlessly update. Points to main nodejs download now.

* Somebody managed to get none-CI passing code into develop? (RocketMap#1563)

* Change searchbox into Autocomplete object. (RocketMap#1270)

* Change searchbox into Autocomplete object.

Autocomplete fields are more flexible than Searchbox: http://goo.gl/pxqxK7

This will enable Autocomplete results to be limited to countries, coordinate bounds, etc. Requested in RocketMap#1129

* Check if `place` contains `geometry`.

When user doesn't choose a place from the dropdown, there's a console error due to missing `geomerty` property.

* *grumble, grumble* (I actually love Travis).
@l3lackitty
Copy link

Where can I find these files to make the changes to use 2captcha? Thanks.

@Stuck7hrottle
Copy link

No files needed. Instructions are in the description above under Usage. You need to sign up with 2captcha.com to get your 2Captcha key.

dev042 pushed a commit to dev042/RocketMap that referenced this pull request Feb 20, 2017
* Enable automatic captcha solving via 2captcha

* Revert "Enable automatic captcha solving via 2captcha"

This reverts commit 39dd8e4.

* Enable automated captcha solving with 2captcha

-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas

* Revert "Enable automated captcha solving with 2captcha"

This reverts commit 13c10cf.

* Enable automated captcha solving with 2captcha

-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas

* Revert "Enable automated captcha solving with 2captcha"

This reverts commit c1286a6.

* Enable automated captcha solving with 2captcha

-cs flag to enable
-ck flag to specify 2captcha API key
-cds flag to specify the data-sitekey for PoGo captchas

* Uncommented 'api.activate_signature(encryption_lib_path)'

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

Successfully merging this pull request may close these issues.

None yet