Usually when esniper fails to log in, I open a browser, logout and back in to handle captcha and then it works. But today esniper was running and on a refresh of auctions failed to login, and crashed. I've logged out/in in a browser several times now and esniper still can't login.
Attached is the bug file.
Detail report from console:
paste this into "Detailed Description":
Automated esniper bug report.
esniper version 2.35.0
libcurl/7.68.0 GnuTLS/3.6.14 zlib/1.2.11 brotli/1.0.7 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.8.0 nghttp2/1.41.0 librtmp/2.3
Error encountered in function ebayLogin in auction.c line 672
auction = 233675128459, price = 151, remain = 0
latency = 0, result = -1, error = 19
buf = 0x55dcd69a47b0, size = 93310, read = 0x55dcd69a47b0
time = 1597471242, offset = 0
pagename = "Sign in or Register | eBay", pageid = "(null)", srcid = "(null)"
specified options or config values:
2 x username(u) =
2 x password() =
2 x seconds(s) = 5
1 x quantity(q) = 999
1 x (f) = ".esniper_auction"
2 x bid() = 1
2 x batch(b) = 1
unknown pageinfo
I tried updating to the latest commit on
legacy
branch and now I get:Auction 233675128459: Cannot connect to URL /distil_r_captcha.html?requestId=8ae0850d-72ee-4270-91c4-1fd7b132870d&httpReferrer=%2Fws%2FeBayISAPI.dll%3FSignIn: URL using bad/illegal format or missing URL:
Retrying...
Auction 233675128459: Cannot connect to URL /distil_r_captcha.html?requestId=8e1d56db-edb0-47e3-9aff-10f1cd9aea4a&httpReferrer=%2Fws%2FeBayISAPI.dll%3FSignIn: URL using bad/illegal format or missing URL:
Retrying...
^C
As I mentioned in https://sourceforge.net/p/esniper/support-requests/28/
This issue couldn't be solved by now.
See discussion https://sourceforge.net/p/esniper/bugs/783/
Remark:
You get the
message, because this is the brute force protection (captcha image) and you have'nt used the latest commit from the legacy branch. If you do this, you get
which means, that an unexpected page has been returned.
esniper searches for special content within the sign in page, which is needed as post parameter of the html request.
So... what's the way past that?
Currently I am working on the master branch, which is using the modern login mechanism. But at the moment it doesnt work at all.
Please be patient ...
Ah! Sorry, I didn't understand that. I thought there was still something I was doing wrong.
As someone who develops opensource software myself, I understand that this is something you do in your free time, for free, and I greatly appreciate the time and effort you've put into esniper.
Best of luck with your work on the new login mechanism, and I look forward to the results!
Same problem with other sniping tools since last year:
http://forum.jbidwatcher.com/forums/1/topics/6797?page=1
They also identified the cookies DGIID DGUID DGZID DGZUID DGHID DGSID as reason for the failure (see https://sourceforge.net/p/esniper/bugs/783/). This cookies are generated by nkfytkqtoxtljvzbxhr.js.
There are several js engines available, e.g. https://duktape.org and similar projects, which could be called from a C program. But normaly nkfytkqtoxtljvzbxhr.js runs within a browser and has access to the browser and DOM context. I dont know, if nkfytkqtoxtljvzbxhr.js generates a valid "fingerprint" to get the DG-cookies without this context.
It looks like ebay have finally killed the legacy route. I managed to get round the 783 bug (which I raised) by rolling back to 2.35.0, as suggested by John Cuzzourt. That, and checking out the legacy version now both fail looking for a captcha URL.
Last edit: NickT 2020-08-17
duktape doesn't work. There are several imports needed, which are available in the browser environment, but not within duktape. I'm afraid, that we have to use a "monster" like v8.
Another possibility could be translating nkfytkqtoxtljvzbxhr.js into native C code.
The online tools I tried, won't do that job.
I've installed nodejs for test purposes:
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
(see https://linuxhint.com/install_npm_debian/)
$ node --version v12.18.3 $ npm --version 6.14.6
Package:
Script:
Install modules:
Start:
The async. request XMLHttpRequest was called, but the implementation is missing.
Without the options
we get some cookies, but not the DG... cookies we need, because the script nkfytkqtoxtljvzbxhr.js will not be executed:
That's all for now - sorry.
Got the cookies.
New code:
Output:
Next steps:
1. Write cookies to file system
2. Try, if the cookies work with esniper
Next Update
signin.js:
Output:
Next steps:
1. Write cookies to file system
2. Try, if the cookies work with esniper, when read from a file**
Hello to everyone! :) I've been a regular (and really satisfied) esniper user for years and I don't know if it's going to help or not. I fear not (I'm sure it has been already considered as a viable option by Michael and probably it fails as Duktape does or it isn't just suitable) but I make a try anyway.
What about cesanta/mjs? Still a c/c++ embedded js engine, it seems with a low footprint too.
I don't know, I'm just trying to help. A nice day to everyone! :)
Last edit: Domenico 2020-09-12
I think, cesanta/mjs isnt suitable to solve our problem. The engine must be able to do XMLHttpRequest requestes (see https://signin.ebay.com/nkfytkqtoxtljvzb.js). It also must have full access to the DOM, which currently is a problem with nodejs.
Thanks Michael,
Does this look like the end for esniper?
Rob
Currently I'm to busy to investigate this issue.
Integration a JS engine would definitely the end of a "lightweight ebay sniper".
Hi, don't know if this would fit your requirements: https://github.com/yodaos-project/ShadowNode