Commit graph

493 commits

Author SHA1 Message Date
Ralf Vogler
2ab4b8b841 remove unused @playwright/test 2022-10-20 16:29:01 +02:00
Ralf Vogler
fb23408522 remove unused scripts: login, codegen
"login": "npx playwright open --save-storage=auth.json https://www.epicgames.com/login",
    "codegen": "npx playwright codegen --load-storage=auth.json https://www.epicgames.com/store/en-US/free-games",
2022-10-20 16:28:10 +02:00
Ralf Vogler
d42b0b38ad add docker-compose.yml, #31
works for first run of a container but then fails with:

free-games-claimer  | 16/10/2022 15:29:57 passing arg to libvncserver: -rfbport
free-games-claimer  | 16/10/2022 15:29:57 passing arg to libvncserver: 5900
free-games-claimer  | 16/10/2022 15:29:57 passing arg to libvncserver: -passwd
free-games-claimer  | 16/10/2022 15:29:57 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 8
free-games-claimer  | 16/10/2022 15:29:57 XOpenDisplay(":1.0") failed.
free-games-claimer  | 16/10/2022 15:29:57 Trying again with XAUTHLOCALHOSTNAME=localhost ...
free-games-claimer  |
free-games-claimer  | 16/10/2022 15:29:57 ***************************************
free-games-claimer  | 16/10/2022 15:29:57 *** XOpenDisplay failed (:1.0)
free-games-claimer  |
free-games-claimer  | *** x11vnc was unable to open the X DISPLAY: ":1.0", it cannot continue.
free-games-claimer  | *** There may be "Xlib:" error messages above with details about the failure.
...
free-games-claimer  | browserType.launchPersistentContext:
free-games-claimer  | ╔════════════════════════════════════════════════════════════════════════════════════════════════╗
free-games-claimer  | ║ Looks like you launched a headed browser without having a XServer running.                     ║
free-games-claimer  | ║ Set either 'headless: true' or use 'xvfb-run <your-playwright-app>' before running Playwright. ║
free-games-claimer  | ║                                                                                                ║
free-games-claimer  | ║ <3 Playwright Team                                                                             ║
free-games-claimer  | ╚════════════════════════════════════════════════════════════════════════════════════════════════╝
2022-10-16 17:30:23 +02:00
Ralf Vogler
2012c7e2f2 eg: set cookie instead of click 'Accept All Cookies' 2022-10-06 23:33:39 +02:00
Ralf Vogler
094662aefc eg: write data/browser/cookies.json for easy access 2022-10-06 23:27:27 +02:00
Ralf Vogler
ed5f2d8486
Update README.md 2022-10-06 21:07:39 +02:00
Ralf Vogler
c2cb284121
add store icons to readme 2022-10-06 21:04:10 +02:00
Ralf Vogler
d67fb59355 eg: use NopeCHA extension to solve hcaptcha challenges
20 credits refill every 24h, but should not be needed
even if there are several games to claim every day.
2022-10-06 20:24:23 +02:00
Ralf Vogler
f28c465f8f eg: check for hcaptcha challenge 2022-10-06 20:18:27 +02:00
Ralf Vogler
32d432deb6 epic-games: Windows userAgent avoids 'Device not supported'-Continue? 2022-10-06 17:02:05 +02:00
Ralf Vogler
ac758d39e4 epic-games: migrateDb: rm .runs, .claimed[] -> .[user][game_id], closes #27
If you'd like to keep the .runs data: `cp -a data/epic-games.{json, v1.json}`
Objects also have insertion order for non-number strings, so there's not need for a list:
https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order
2022-10-06 16:31:46 +02:00
Ralf Vogler
61af4e35f6 util.datetimeLocal 2022-10-06 14:20:50 +02:00
Ralf Vogler
548ba67e10 indent logging per game 2022-09-30 17:13:31 +02:00
Ralf Vogler
777b00b3fb log signed in user 2022-09-30 17:02:41 +02:00
Ralf Vogler
f949e8effd rm stealth dup. comments 2022-09-30 14:34:56 +02:00
Ralf Vogler
edb90fe9f8 epig-games: goto href instead of clicking games, fixes #25, fixes #28 2022-09-29 18:13:35 +02:00
Ralf Vogler
2f17bcf4bf epic-games cleanup and make more readable 2022-09-29 17:00:24 +02:00
Ralf Vogler
30451b5f41 oops, remove debug contine 2022-09-29 16:29:06 +02:00
Ralf Vogler
69d771b38c log urlSlug, #25 2022-09-29 16:28:06 +02:00
Ralf Vogler
e5ae4b6316 epic-games: only save screenshot if none exists for game 2022-09-29 16:26:24 +02:00
Ralf Vogler
3d41f4de5a
Merge pull request #24 from jumoog/fix_vnc
fix restart issue
2022-09-29 15:09:40 +02:00
Ralf Vogler
bf647936eb vscode format dode 2022-09-26 20:08:52 +02:00
Ralf Vogler
1dc3b3db6a resort to 3s timeout for now for #25 2022-09-22 16:25:21 +02:00
Ralf Vogler
2791112fd6 sanitizeFilename -> filenamify, use for datetime 2022-09-16 15:34:28 +02:00
Ralf Vogler
c519ce0ce5 use .nth() instead of :nth-match 2022-09-16 15:26:05 +02:00
Ralf Vogler
cbe789b08d temporarily fix #25 by waitUntil networkidle
should wait for some element/attribute/event instead
2022-09-15 16:40:18 +02:00
Ralf Vogler
f109782a7a epic-games: chromium args: --hide-crash-restore-bubble, no --enable-automation to hide info bar 2022-09-11 22:11:08 +02:00
Ralf Vogler
af374551b7 recordVideo will record a .webm video for each page navigated 2022-09-11 22:10:06 +02:00
Ralf Vogler
4fcbd6be6a comment: use filenamify? 2022-09-11 22:08:26 +02:00
Ralf Vogler
93d01bf5cf mention playwright install chromium --with-deps 2022-09-02 14:42:12 +02:00
Ralf Vogler
51f2fbfb53 upgrade deps via ncu -u
@playwright/test                ^1.20.1  →  ^1.25.1
 playwright                      ^1.20.1  →  ^1.25.1
 puppeteer-extra-plugin-stealth   ^2.9.0  →  ^2.11.1
2022-09-02 14:37:41 +02:00
Ralf Vogler
6f2271168d clickIfExists only if isVisible, closes #20 2022-08-28 20:35:02 +01:00
Ralf Vogler
08da100646 no : in filenames on Windows! closes #21, ref #20 2022-08-28 20:28:56 +01:00
Kilian von Pflugk
a468ed5fed fix restart issue 2022-08-28 13:53:57 +02:00
Ralf Vogler
90af31a210 epic-games: don't click on 'play free now' button, but only 'free now' 2022-08-18 16:57:25 +02:00
Ralf Vogler
4ff208a6b0 prime-gaming: screenshots: internal before claim, end-of-run just games instead of full page 2022-08-03 00:43:54 +02:00
Ralf Vogler
cf8746dc6c epic-games: fix title sometimes being duplicated due to responsive alternative 2022-07-28 16:54:02 +02:00
Ralf Vogler
f770ef5580 include URL to game in .json 2022-07-14 17:15:51 +02:00
Ralf Vogler
4868ba66f9 epic-games: title_url as filename, GET-button as loading barrier 2022-07-14 17:09:41 +02:00
Ralf Vogler
f888981415 extract sanitizeFilename 2022-07-14 17:04:00 +02:00
Ralf Vogler
2ae513f6c0 epic-games: save data/screenshots/epic-games/title.png for each game, not fullPage 2022-07-14 16:49:03 +02:00
Ralf Vogler
0d847c479a use lowdb for data/epic-games.json 2022-07-14 16:48:38 +02:00
Ralf Vogler
87df6d0e26 prime-gaming: remove try-finally TODO 2022-07-14 16:48:05 +02:00
Ralf Vogler
02a49a5a19 indent prime-gaming 2022-07-13 15:57:04 +02:00
Ralf Vogler
18de5fdfa8 use lowdb for data/prime-gaming.json 2022-07-13 15:49:03 +02:00
Ralf Vogler
80e2a693d7 prime-gaming: get custom redeem URL for legacy games 2022-06-30 22:40:04 +02:00
Ralf Vogler
152fe12fdd prime-gaming: regex for store_text, screenshot later since code not captured 2022-06-30 22:22:34 +02:00
Ralf Vogler
584c80e939 screenshots/{prime-gaming/{internal,external}, epic-games} 2022-06-30 16:43:22 +02:00
Ralf Vogler
70b2b0d105 prime-gaming: button text changed from Games to Prime Day -> use [data-type="Game"] instead 2022-06-30 16:36:14 +02:00
Ralf Vogler
6c190c1f60 epic-games changed OfferCard selector -> just click a with the right text 2022-06-16 16:18:45 +02:00