ПРЕМЛЕКТИВАЕТ БЕСПЛАТНЫЕ ИГРЫ
Epic Games Store
Amazon Prime Gaming
Гром
Unreal Engine (активы) (экспериментальный, тот же вход, как и Epic Games)
Приглашать запросы :)
Работает на Windows/MacOS/Linux.
Raspberry Pi (3, 4, ноль 2): требуется 64-битная ОС, такая как Raspberry Pi OS или Ubuntu (Raspbian не будет работать, поскольку она 32-битная).
Простая опция: установите Docker (или Podman) и запустите эту команду в терминале:
docker run --rm -it -p 6080:6080 -v fgc:/fgc/data --pull=always ghcr.io/vogler/free-games-claimer
Это в настоящее время дает вам вызов Captcha для Epic-игр. Пока выпуск № 183 не будет исправлен, рекомендуется просто запустить node epic-games
без Docker (см. Ниже).
Это будет запускать node epic-games; node prime-gaming; node gog
-если вы хотите претендовать на игры только для одного из магазинов, вы можете переопределить команду по умолчанию, добавив EG node epic-games
в конце команды docker run
, или если вы хотите несколько bash -c "node epic-games.js; node gog.js"
Данные (включая файлы JSON с заявленными играми, коды для выкупа, скриншоты) хранятся в томе Docker fgc
.
Установите node.js
Клон/загрузите этот репозиторий и cd
в него в терминале
Запустите npm install
Запустите pip install apprise
(или используйте PIPX, если у вас есть проблемы) для установки, если вы хотите уведомления
Чтобы получить обновления: git pull; npm install
Запустите node epic-games
, node prime-gaming
, node gog
...
Во время npm install
Playwright загрузит свой Firefox в кеш в доме (DOC). Если вам не хватает некоторых зависимостей для браузера в вашей системе, вы можете использовать sudo npx playwright install firefox --with-deps
.
Если вы не хотите использовать Docker для квази-безголовок, вы можете запустить внутри виртуальной машины, на сервере или разбудите свой компьютер ночью, чтобы избежать прерывания.
Все сценарии запускают автоматический экземпляр Firefox, либо с показанным графическим интерфейсом браузера или скрытым ( безголовный режим ). По умолчанию вы не увидите, что браузер открывается в вашей системе хоста.
При работе внутри Docker браузер будет показан только внутри контейнера. Вы можете открыть http: // localhost: 6080 для взаимодействия с браузером, работающим внутри контейнера через Novnc (или использовать других клиентов VNC на порту 5900).
При запуске сценариев за пределами докера браузер будет скрыт по умолчанию; Вы можете использовать SHOW=1 ...
чтобы показать пользовательский интерфейс (см. Параметры ниже).
При первом запуске вы должны войти в систему для каждого магазина, в котором вы хотите претендовать игры. Вы можете косвенно войти через терминал или непосредственно в браузере. Сценарии будут ждать, пока вы не будете успешно войти в систему.
В терминале будут предъявлены просьбы ввести электронную почту, пароль, а затем некоторые OTP (один раз пароль/код безопасности), если у вас включен 2FA/MFA (двух-/многофакторная аутентификация). Если вы хотите войти в систему через браузер, вы можете нажать Escape в терминале, чтобы пропустить подсказки.
После входа в систему сценарий продолжит претендовать на текущие игры. Если он все еще ждет после того, как вы уже вошли в систему, вы можете перезапустить его (и открыть проблему). Если вы регулярно запускаете сценарии, вам не нужно снова войти в систему.
Опции устанавливаются с помощью переменных среды, которые позволяют обеспечить гибкую конфигурацию.
TODO: При первом запуске скрипт будет проведет вас через конфигурацию и сохраняет все настройки для data/config.env
. Вы можете редактировать этот файл напрямую или запустить node fgc config
чтобы снова запустить помощника по конфигурации.
Доступные параметры/переменные и значения их по умолчанию:
Вариант | По умолчанию | Описание |
---|---|---|
ПОКАЗЫВАТЬ | 1 | Покажите браузер, если 1. По умолчанию для Docker, не показан при запуске на улице. |
ШИРИНА | 1280 | Ширина открытого браузера (и экрана для VNC в Docker). |
ВЫСОТА | 1280 | Высота открытого браузера (и экрана для VNC в Docker). |
Vnc_password | VNC пароль для Docker. Нет пароля, используемого по умолчанию! | |
Уведомлять | Уведомления об использовании (Pushover, Slack, Telegram ...), см. Ниже. Сообщать | |
Notify_title | Необязательное название для уведомлений, например, для пропуску. | |
Browser_dir | данные/браузер | Каталог для профиля браузера, например, для нескольких учетных записей. |
Тайм -аут | 60 | Тайм -аут для любого действия страницы. Должно быть хорошо даже на медленных машинах. |
Login_timeout | 180 | Тайм -аут для входа в секунды. Будем дважды подождать (запрос + ручной вход). |
ЭЛЕКТРОННАЯ ПОЧТА | По умолчанию электронное письмо для любого входа. | |
ПАРОЛЬ | Пароль по умолчанию для любого входа в систему. | |
EG_EMAIL | Эпические игры по электронной почте для входа в систему. Переопределяет электронную почту. | |
EG_Password | Эпические игры пароль для входа в систему. Переопределяет пароль. | |
Eg_otpkey | Epic Games MFA OTP -ключ. | |
Eg_parentalpin | Epic Games Parental Controls Pin. | |
Pg_email | Prime Gaming Email для входа в систему. Переопределяет электронную почту. | |
Pg_password | Prime Gaming Password для входа в систему. Переопределяет пароль. | |
Pg_otpkey | Prime Gaming MFA OTP -ключ. | |
Pg_redem | 0 | Prime Gaming: попробуйте выкупить ключи на внешних магазинах (экспериментально). |
Pg_claimdlc | 0 | Prime Gaming: попробуйте претендовать на DLCS (экспериментальный). |
Gog_email | Gog email для входа в систему. Переопределяет электронную почту. | |
Gog_password | GOG пароль для входа. Переопределяет пароль. | |
Gog_newsletter | 0 | Не отписывайте подписку из информационного бюллетеня после того, как заявили об игре, если 1. |
Lg_email | Legacy Games: электронная почта для использования для выкупа (если не установлено, по умолчанию в PG_EMAIL) |
См. src/config.js
для всех вариантов.
Вы можете добавить параметры непосредственно в команду или поместить их в файл для загрузки.
Вы можете передавать переменные с помощью -e VAR=VAL
, например docker run -e [email protected] -e NOTIFY='tgram://bottoken/ChatID' ...
--env-file fgc.env
где fgc.env
- это файл в вашей хост -системе (см. Docs). Вы также можете docker cp
своем файле конфигурации по адресу /fgc/data/config.env
в томе fgc
, чтобы сохранить его с остальными данными, а не на хосте (пример). Если вы используете Docker Compose (или Portainer и т. Д.), Вы можете поместить варианты в environment:
раздел.
На Linux/MacOS вы можете префикс переменных, которые вы хотите установить, например, [email protected] SHOW=1 node epic-games
покажут браузер, и пропустите, прося вас с просьбой о входе в систему. В Windows вы должны использовать set
, пример. Вы также можете поместить параметры в data/config.env
, которые будут загружены dotenv.
Сценарии попытаются отправить уведомления для успешных заявленных игр и любых ошибок, таких как необходимость входить в систему или встречу с капчами (не должно случиться).
Uppisize используется для уведомлений и предлагает много услуг, включая пропуску, Slack, Telegram, SMS, электронную почту, настольный компьютер и пользовательские уведомления. Вам просто нужно установить NOTIFY
в службы уведомлений, которые вы хотите использовать, например, NOTIFY='mailto://myemail:[email protected]' 'pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b'
- см. Их список услуг и примеров.
Если вы установите параметры для электронной почты, пароля и OTP -ключа, не будет никаких подсказок, и логики должны произойти автоматически. Это необязательно, так как все магазины должны оставаться в системе, так как файлы cookie обновляются. Чтобы получить ключ OTP, проще всего следовать руководству магазина для добавления приложения Authenticator. Вы также должны сканировать показанный QR -код с вашим любимым приложением, чтобы иметь альтернативный метод для 2FA.
Epic Games : посетите пароль и безопасность, включите «приложение стороннего Authenticator», скопируйте «Ключ ручного входа» и используйте его для установки EG_OTPKEY
.
Prime Gaming : посетите Amazon 'Your Account ›Вход и безопасность', 2-ступенчатая проверка› Управление ›Добавить новое приложение› Не удается сканировать PG_OTPKEY
Gog : предлагает OTP только по электронной почте
Остерегайтесь, что хранение паролей и клавиш OTP в качестве чистого текста может быть риском безопасности. Используйте уникальный/сгенерированный пароль! TODO: Может быть, хотя бы предложите кодирование BASE64 для хранения.
Запустите node epic-games
(локально или в докере).
Запустите node prime-gaming
(локально или в докере).
Однако утверждение, что игры Amazon работают вне коробки, для игр во внешних магазинах вам нужно либо связать свою учетную запись, либо выкупить ключ.
Магазины, которые требуют связывания учетной записи: Epic Games, Battle.net, Origin.
Магазины, которые требуют выкупа ключа: gog.com, Microsoft Games, Legacy Games.
Ключи и URL-адреса печатаются на консоли, включенные в уведомления и сохраняются в data/prime-gaming.json
. Снимок экрана страницы с ключом также сохраняется для data/screenshots
. TODO: Покупайте ключи на внешних магазинах.
Эпические игры обычно имеют две бесплатные игры каждую неделю , перед Рождеством каждый день. В Prime Gaming есть новые игры каждый месяц или чаще в первичные дни. Gog обычно имеет одну новую игру каждые пары недель. У Unreal Engine есть новые активы, чтобы претендовать на первый вторник месяца .
Это безопасно управлять сценариями каждый день.
Контейнер/сценарии будут претендовать на доступные в настоящее время игры, а затем выйдут. Если вы хотите, чтобы он регулярно работал, вы должны запланировать пробежки самостоятельно:
Linux/macOS: crontab -e
(пример)
MacOS: Launchd
Windows: планировщик задач (пример), другие параметры или просто поместите команду в файл .bat
в AutoStart, если вы часто перезагружаете ...
Любая ОС: используйте диспетчер процессов, такой как PM2
Docker Compose command: bash -c "node epic-games; node prime-gaming; node gog; echo sleeping; sleep 1d"
Дополнительно добавить restart: unless-stopped
к нему.
TODO: Добавьте немного серверного режима, где сценарий просто продолжает работать и претендует на игры, например, каждый день.
Проверьте открытые проблемы и прокомментируйте там или откройте новую проблему.
Если вы разработчик, вы можете использовать PWDEBUG=1 ...
чтобы осмотреть, который открывает отладчик, где вы можете пройти через сценарий.
Попробовал Epicgames Freebies-Claimer, но у меня были проблемы с тех пор, как Epicgames представила HCaptcha (см. Вопрос).
Раньше играл с кукловодом, теперь пробую более новые https://playwright.dev, что очень похоже. Playwright Inspector и codegen
для генерации сценариев хороши, но не удалось создать правильный код для нажатия кнопки в iframe.
Добавлено main.spec.ts, который был тестовым скриптом, сгенерированным npx playwright codegen
с ручным исправлением для нажатия кнопок в созданной iframe. Может быть выполнено с помощью npx playwright test
. Тестовый бегун имеет параметры --debug
и --timeout
, и он может выполнять TypeScript, которая приятно. Тем не менее, это только сработало до кнопки «Я согласен», а затем показало HCaptcha.
Добавлено main.captcha.js, которая использует бета-версию playwright-extra@next
и @extra/recaptcha@next
(из комментариев к кукловому-Extra). Тем не менее, playwright-extra
кажется старым и отсутствует :has-text
(исправлено здесь) и page.frameLocator
, поэтому сценарий не работал без корректировок. Кроме того, решение через 2Captcha - платная услуга, которая требует времени и может быть ненадежным.
Добавлено main.stealth.js, который использует плагин Stealth без обертки playwright-extra
, но актуального playwright
(из комментария). Перечисленные уклонения достаточно, чтобы не показывать HCaptcha. Скрипт претендовал на игру успешно в не головном режиме.
Удален main.captcha.js
. Использование Playwright Test ( main.spec.ts
) вместо библиотеки ( main.stealth.js
) имеет преимущество бесплатного CLI Like --debug
и --timeout
.
Селекторы кнопок должны предпочтительно использовать текст, чтобы быть более стабильными в отношении изменений в DOM.
Переименованное хранилище от Epicgames-Claimer до Free-Games-Claimer, так как также был добавлен сценарий для Amazon Prime Gaming. Удалили все старые сценарии в пользу Just epic-games.js
и prime-gaming.js
.
Epic Games: режим headless
получает Hcaptcha Challenge. Более подробная информация/ссылки.
#11 представила DockerFile для работы без головы внутри контейнера через XVFB, что делает его безголонным для хоста, управляющего контейнером.
v1.0 автономные сценарии узлы Epic-Games и Node Prime-Gaming с использованием хрома.
Изменен на Firefox для всех сценариев, так как хром привел к капчам. Заявление тогда также работало в режиме без головы без Docker.
Добавлены параметры через ENV VARS, настраиваемые в data/config.env
.
Добавлено генерация OTP через OTPLIB для автоматического входа в систему, даже с 2FA.
Добавлены уведомления с помощью Conforment.
Логотип с меньшим соотношением сторон (для бота Telegram и т. Д.) :? - Эмодзипедия