TLS Support and Alternatives for CAPTCHA solving
reCAPTCHA use TLS handshakes to determine whether a request is coming from a legitimate browser. Browsers handle these through specific protocols, client hello messages, and cipher suites. Node's https module allows you to define these protocols and ciphers, which can be useful for making requests seem legitimate, that is, in the case CAPTCHA solving support would ever be added.
Most CAPTCHA solvers nowadays do not require an extension and have API support, would that solve the seeming problem of CAPTCHA solvers requiring extensions? reCAPTCHA is also pretty loose when detecting bots, so at least in my experience, it isn't much of a hassle.
Also, most CAPTCHA solvers are pretty much the same, all you'd need to do is allow for custom domain parameters.
- https://tls.browserleaks.com/tls - TLS ciphers from popular browsers.
- https://www.capsolver.com/ - I personally have experience with it, has a really low bot score.
- https://github.com/lexiforest/curl-impersonate - Great resource.
YOPMail asks me to resolve CAPTCHA with following output when I am reading 9 messages from the YOPMail address:
[
{
"id": "e_ZwDjBGR3ZGLjZwH0ZQNjBGRkZQH0Zt==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGR3ZGH0AQHmZQNjBQx3BGplZD==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGR2ZGx0ZmH4ZQNjBQV5ZQN4AD==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGR2ZGxkZQH3ZQNjBQN1AQt5Aj==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGR2ZGtjZwH2ZQNjAmL2AmHjZj==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGR2ZGp1AmHkZQNjAmLkBGZ0ZD==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGR2ZGpmAmH2ZQNjAmD2ZGZ0BN==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGRmZGDlAmH0ZQNjAwV0ZGp4Zj==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
},
{
"id": "e_ZwDjBGRlZQH1ZQZ1ZQNjZwD0BGR3AD==",
"submit": "",
"from": "",
"date": "",
"deliverability": "Your account has been credited",
"attachments": {},
"format": "txt",
"selector": null,
"eq": null,
"attribute": null,
"pathToSave": null,
"content": "Complete the CAPTCHA to continue",
"info": []
}
]
Correct me if I am wrong @jasp402, but I don't think that requesting 9 messages could be considered as a massive request. Do you have any recommendations how to avoid CAPTCHA using Easy-YOPmail?
I am facing the same issue.
When fetching a lot of messages, after some time it says complete the captcha to continue. If we keep making requests we get this error:
Error fetching messages: 1 | "use strict";const fs=require("fs"),zlib=require("zlib"),https=require("https"),cheerio=require("cheerio"),constants=require("./constants");class Core{constructor(){this.constants=constants,this.cwd=process.cwd()}getSettings(a,b,c){const d=new URL(a);return{hostname:d.hostname,port:443,path:`${d.pathname}${d.search}`,method:b.toUpperCase(),...c}}async requestAttachment(a,b){let c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{};return new Promise(((d,e)=>{const f=this.getSettings(b,a,c),g=https.request(f,(a=>{let b=a;const c=a.headers["content-encoding"];"gzip"===c?b=a.pipe(zlib.createGunzip()):"deflate"===c&&(b=a.pipe(zlib.createInflate()));const f=[];b.on("data",(a=>{f.push(a)})),b.on("end",(()=>{const b=Buffer.concat(f),c={statusCode:a.statusCode,headers:a.headers,body:b};d(c)})),b.on("error",(a=>{e(a)}))}));g.on("error",(a=>{e(a)})),g.end()}))}async request(a,b){let c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;b||this.ha | ... truncated
error: Error getting cookies
- Error getting cookies
at handleError (node_modules/easy-yopmail/src/core.js:1:7529)
at node_modules/easy-yopmail/src/core.js:1:2502
I am facing same issue except it just needs one email and its because its running on a server without good ip reputation. Please add in a recapata solver.