Epic Games Store에 자동으로 로그인하여 사용 가능한 무료 게임을 찾아보세요. 로그인 후 체크아웃을 완료할 수 있도록 미리 채워진 체크아웃 링크를 보냅니다. 다중 계정, 로그인 세션 및 예약된 실행을 지원합니다.
이 도구는 JSON과 환경 변수를 조합하여 구성할 수 있습니다. 구성 파일은 JSON5 구문(주석, 후행 쉼표 등)을 지원합니다. 각 속성에 대해 JSON 구성 값은 해당 환경 변수 값보다 우선합니다.
각 옵션, 기본값, 환경 변수 키에 대한 자세한 내용은 구성 설명서 사이트를 참조하세요.
구성 파일은 마운트된 /usr/app/config
볼륨에 저장되며 이름은 config.json
또는 config.json5
입니다.
config.json
또는 config.json5
{
"runOnStartup" : true ,
"cronSchedule" : "0 0,6,12,18 * * *" ,
"logLevel" : "info" ,
"webPortalConfig" : {
"baseUrl" : "https://epic.example.com" ,
} ,
"accounts" : [
{
"email" : "[email protected]" ,
} ,
] ,
"notifiers" : [
// You may configure as many of any notifier as needed
// Here are some examples of each type
{
"type" : "email" ,
"smtpHost" : "smtp.gmail.com" ,
"smtpPort" : 587 ,
"emailSenderAddress" : "[email protected]" ,
"emailSenderName" : "Epic Games Captchas" ,
"emailRecipientAddress" : "[email protected]" ,
"secure" : false ,
"auth" : {
"user" : "[email protected]" ,
"pass" : "abc123" ,
} ,
} ,
{
"type" : "discord" ,
"webhookUrl" : "https://discord.com/api/webhooks/123456789123456789/A-abcdefghijklmn-abcdefghijklmnopqrst12345678-abcdefghijklmnop123456" ,
// Optional list of users or roles to mention
"mentionedUsers" : [ "914360712086843432" ] ,
"mentionedRoles" : [ "734548250895319070" ] ,
} ,
{
"type" : "telegram" ,
// Optional Custom TELEGRAM server URL
"apiUrl" : "https://api.telegram.org" ,
"token" : "644739147:AAGMPo-Jz3mKRnHRTnrPEDi7jUF1vqNOD5k" ,
"chatId" : "-987654321" ,
} ,
{
"type" : "apprise" ,
"apiUrl" : "http://192.168.1.2:8000" ,
"urls" : "mailto://user:[email protected]" ,
} ,
{
"type" : "pushover" ,
"token" : "a172fyyl9gw99p2xi16tq8hnib48p2" ,
"userKey" : "uvgidym7l5ggpwu2r8i1oy6diaapll" ,
} ,
{
"type" : "gotify" ,
"apiUrl" : "https://gotify.net" ,
"token" : "SnL-wAvmfo_QT" ,
} ,
{
"type" : "homeassistant" ,
"instance" : "https://homeassistant.example.com" ,
"token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" ,
"notifyservice" : "mobile_app_smartphone_name" ,
} ,
{
"type" : "bark" ,
// your bark key
"key" : "xxxxxxxxxxxxxxxxxxxxxx" ,
// bark title, optional, default: 'epicgames-freegames'
"title" : "epicgames-freegames" ,
// bark group, optional, default: 'epicgames-freegames'
"group" : "epicgames-freegames" ,
// bark private service address, optional, default: 'https://api.day.app'
"apiUrl" : "https://api.day.app"
} ,
{
"type" : "ntfy" ,
"webhookUrl" : "https://ntfy.example.com/mytopic" ,
"priority" : "urgent" ,
"token" : "tk_mytoken"
} ,
{
"type" : "webhook" ,
//url of your webhook server
"url" : "https://webhook.site/my_uuid" ,
//Optional headers
"headers" : {
"Authentication" : "Bearer 123456"
}
} ,
] ,
}
이 프로젝트에서는 때때로 장치 코드 인증을 통해 로그인을 요청할 수 있습니다. Epic Games의 장치 코드 세션은 10분 후에 만료되므로 이 프로젝트는 웹 서버를 사용하고 10분마다 새 링크를 보내는 것을 방지하기 위해 리디렉션합니다. 웹 서버를 실행하는 데는 두 가지 옵션이 있습니다.
웹 서버 및/또는 역방향 프록시 호스팅에 익숙하다면 다음을 따르세요.
-p 81:3000
호스트 시스템의 포트 81을 컨테이너의 포트 3000에 매핑함).webPortalConfig.baseUrl
을 설정하십시오. 네트워크에서 정방향/역방향 프록시를 포팅할 수 없는 경우에도 다음을 설정하여 원격으로 웹 서버에 액세스할 수 있습니다.
{
"webPortalConfig" : {
"localtunnel" : true ,
} ,
}
config.json
에서.
각 알림 방법에는 고유한 설정 지침이 있습니다. 정확한 세부 정보와 지침은 구성 사이트의 설명서(알림 방법)를 읽어보세요. 예제 구성도 예제로 도움이 될 수 있습니다.
사용자 작업이 항상 필요한 것은 아니므로 알림 방법과 웹 서버를 수동으로 테스트할 수 있습니다. 기본적으로 다음을 추가하면 됩니다.
"testNotifiers" : true ,
config.json
루트에 추가하세요. 자세한 내용은 구성 문서를 확인하세요. 참고: 대기 메모리 사용을 최적화하기 위해 프로세스가 실행되지 않을 때는 웹 서버가 실행되지 않습니다. 웹 서버는 예약된 실행 중에만 사용할 수 있습니다.
이 이미지는 GitHub Container Registry와 Docker Hub에서 모두 사용할 수 있습니다.
ghcr.io/claabs/epicgames-freegames-node:latest
charlocharlie/epicgames-freegames:latest
Chromium 시작에 문제가 있는 경우(로그인/알림 시 멈춤) Debian 이미지를 사용해 볼 수 있습니다.
ghcr.io/claabs/epicgames-freegames-node:debian
charlocharlie/epicgames-freegames:debian
전체 JSON 구성을 사용하는 경우 남은 Docker 구성 가능 항목은 포트와 볼륨뿐입니다.
대부분의 구성 옵션은 환경 변수를 통해 설정할 수 있습니다. 각 옵션의 키에 대한 구성 문서에서 env
태그를 찾으세요.
어떤 이유로든 기본 구성 디렉터리나 구성 파일 이름을 변경하려는 경우 CONFIG_DIR
및 CONFIG_FILE_NAME
환경 변수로 사용할 수 있습니다.
호스트 포트 | 컨테이너 항구 | 설명 |
---|---|---|
3000 | 3000 | 보안 문자 해결 페이지를 호스팅하는 웹 서버가 상주하는 포트 매핑 |
호스트 위치 | 컨테이너 위치 | 방법 | 설명 |
---|---|---|---|
/my/host/dir/ | /usr/app/config | rw | 구성 및 쿠키 파일의 위치 |
최대 메모리 사용량을 2GB로 설정하려면 -m 2g
docker run
매개변수로 추가하는 것이 좋습니다. 때때로 Chromium 프로세스가 작동하지 않을 수 있으며 제한 없이 시스템이 결국 작동 중지될 수 있습니다.
$ docker run -d -v /my/host/dir/:/usr/app/config:rw -p 3000:3000 -m 2g ghcr.io/claabs/epicgames-freegames-node:latest
JSON 구성이 없으면 하나의 계정만 구성할 수 있습니다.
$ docker run -d -e TZ=America/Chicago -e [email protected] -e RUN_ON_STARTUP=true -e BASE_URL=https://example.com -e SMTP_HOST=smtp.gmail.com -e SMTP_PORT=587 -e [email protected] -e EMAIL_SENDER_NAME="Epic Games Captchas" -e [email protected] -e SMTP_SECURE=true -e [email protected] -e SMTP_PASSWORD=abc123 -v /my/host/dir/:/usr/app/config:rw -p 3000:3000 -m 2g ghcr.io/claabs/epicgames-freegames-node:latest
장치 코드 인증으로 로그인하는 데 문제가 있는 경우 임시 세션에 대한 쿠키를 가져올 수 있습니다.
https://www.epicgames.com/id
로 변경한 후 내보내기 버튼을 클릭하세요. ./config
폴더에서 <email_address>-cookies.json
(예: [email protected]
)을 생성하고 쿠키를 붙여넣습니다.어떤 이유로 이 도구를 실행하는 데 Docker를 사용하고 싶지 않은 경우 이 저장소를 복제하고 Node.js를 설치하여 소스에서 실행할 수 있습니다.
git clone https://github.com/claabs/epicgames-freegames-node.git
config
폴더 생성npm i
실행npm run start
git pull
npm i
v5에서는 여러 옵션이 추가되거나 제거되었습니다. 추가/제거된 옵션은 기존 v4 구성에 영향을 주지 않아야 하지만 안정적인 솔루션을 위해 config.json
변경해야 할 수도 있습니다.
cronSchedule
: 기본값이 6시간마다로 변경되었습니다. 장치 코드 인증 새로 고침 토큰은 8시간 후에 만료되므로 8시간보다 더 자주 실행되도록 크론 일정을 변경해야 합니다. account.password
: 로그인 자격 증명은 더 이상 사용되지 않습니다.account.totp
: 로그인 자격 증명은 더 이상 사용되지 않습니다.noHumanErrorHelp
: 구매가 더 이상 자동화되지 않습니다.hcaptchaAccessibilityUrl
: v4에서는 더 이상 사용되지 않습니다.email
: v4에서는 더 이상 사용되지 않습니다. "type": "email"
과 함께 notifiers
사용하세요.baseUrl
: v4에서는 더 이상 사용되지 않습니다. webPortalConfig.baseUrl
사용하세요.onlyWeekly
: v4에서는 더 이상 사용되지 않습니다. searchStrategy
사용하세요.영감을 주신 epicgames-weekly-freegames에 감사드립니다.
장치 코드 인증을 가능하게 하는 문서를 제공한 EpicResearch에 감사드립니다.