قم بتسجيل الدخول تلقائيًا وابحث عن الألعاب المجانية المتوفرة في 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
في ملف config إذا لم تكن لديك القدرة على نقل الوكيل إلى الأمام/العكس على شبكتك، فلا يزال بإمكانك الوصول إلى خادم الويب عن بُعد عن طريق الإعداد:
{
"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 | موقع ملف (ملفات) التكوين وملفات تعريف الارتباط |
يوصى بإضافة -m 2g
كمعلمة docker run
لتعيين الحد الأقصى لاستخدام الذاكرة وهو 2 جيجابايت. يمكن أن تتعطل عمليات 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
في الإصدار الخامس، تمت إضافة أو إزالة العديد من الخيارات. يجب ألا تؤثر الخيارات المضافة/المحذوفة على تكوينات الإصدار 4 الحالية، ولكن قد تحتاج إلى تغيير config.json
الخاص بك للحصول على حل مستقر.
cronSchedule
: تم تغيير الإعداد الافتراضي إلى كل ست ساعات. يجب عليك تغيير جدول cron الخاص بك ليتم تشغيله أكثر من كل 8 ساعات، حيث تنتهي صلاحية رمز تحديث مصادقة رمز الجهاز بعد 8 ساعات. account.password
: لم تعد بيانات اعتماد تسجيل الدخول مستخدمةaccount.totp
: لم تعد بيانات اعتماد تسجيل الدخول مستخدمةnoHumanErrorHelp
: لم تعد عملية الشراء آليةhcaptchaAccessibilityUrl
: تم إهماله في الإصدار 4email
: تم إهماله في الإصدار 4، استخدم notifiers
مع "type": "email"
baseUrl
: تم إهماله في الإصدار 4، استخدم webPortalConfig.baseUrl
onlyWeekly
: تم إهماله في الإصدار 4، استخدم searchStrategy
بفضل epicgames-weekly-freegames للإلهام.
شكرًا لـ EpicResearch على الوثائق التي جعلت مصادقة رمز الجهاز ممكنة.