Masuk secara otomatis dan temukan game gratis yang tersedia di Epic Games Store. Mengirimi Anda tautan checkout yang telah diisi sebelumnya sehingga Anda dapat menyelesaikan checkout setelah masuk. Mendukung banyak akun, sesi masuk, dan proses terjadwal.
Alat ini dapat dikonfigurasi dengan kombinasi JSON dan variabel lingkungan. File konfigurasi mendukung sintaksis JSON5 (komentar, koma tambahan, dll). Untuk setiap properti, nilai konfigurasi JSON diprioritaskan dibandingkan nilai variabel lingkungan masing-masing.
Untuk detail tentang setiap opsi, defaultnya, dan kunci variabel lingkungan, lihat situs dokumentasi konfigurasi.
File konfigurasi disimpan di volume /usr/app/config
yang terpasang dan dapat diberi nama config.json
atau config.json5
.
config.json
atau 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"
}
} ,
] ,
}
Proyek ini terkadang meminta Anda untuk masuk melalui autentikasi kode perangkat. Sesi kode perangkat Epic Games berakhir setelah 10 menit, jadi proyek ini menggunakan server web dan pengalihan untuk mencegah pengiriman tautan baru kepada Anda setiap 10 menit. Ada dua opsi untuk menjalankan server web:
Jika Anda familiar dengan hosting server web dan/atau reverse proxy, ikuti ini:
-p 81:3000
memetakan port 81 mesin host ke port kontainer 3000)webPortalConfig.baseUrl
di konfigurasi Jika Anda tidak memiliki kemampuan untuk melakukan port forward/reverse proxy di jaringan Anda, Anda masih dapat mengakses server web dari jarak jauh dengan mengatur:
{
"webPortalConfig" : {
"localtunnel" : true ,
} ,
}
di config.json
Anda.
Setiap metode notifikasi memiliki petunjuk pengaturan yang unik. Baca dokumentasinya (metode notifikasi) di situs konfigurasi untuk detail dan instruksi yang tepat. Contoh konfigurasi juga dapat membantu sebagai contoh.
Karena tindakan pengguna mungkin tidak selalu diperlukan, metode notifikasi dan server web dapat diuji secara manual. Intinya, Anda hanya perlu menambahkan:
"testNotifiers" : true ,
ke root config.json
Anda. Untuk lebih jelasnya lihat dokumen konfigurasi. Catatan: untuk mengoptimalkan penggunaan memori standby, web server tidak berjalan ketika proses tidak berjalan. Server web hanya akan tersedia selama menjalankan terjadwal.
Gambar ini tersedia dari GitHub Container Registry dan Docker Hub:
ghcr.io/claabs/epicgames-freegames-node:latest
charlocharlie/epicgames-freegames:latest
Jika Anda mengalami masalah saat memulai Chromium (hang saat login/pemberitahuan), Anda dapat mencoba image Debian:
ghcr.io/claabs/epicgames-freegames-node:debian
charlocharlie/epicgames-freegames:debian
Jika Anda menggunakan konfigurasi JSON penuh, satu-satunya konfigurasi Docker yang tersisa adalah port dan volume.
Sebagian besar opsi konfigurasi dapat diatur melalui variabel lingkungan. Cari tag env
di dokumen konfigurasi untuk setiap kunci opsi.
Jika karena alasan apa pun Anda ingin mengubah direktori konfigurasi default atau nama file konfigurasi, CONFIG_DIR
dan CONFIG_FILE_NAME
tersedia sebagai variabel lingkungan.
Pelabuhan tuan rumah | Pelabuhan kontainer | Keterangan |
---|---|---|
3000 | 3000 | Pemetaan port tempat server web yang menghosting halaman penyelesaian captcha berada |
Lokasi tuan rumah | Lokasi kontainer | Mode | Keterangan |
---|---|---|---|
/my/host/dir/ | /usr/app/config | rw | Lokasi file konfigurasi dan cookie |
Disarankan untuk menambahkan -m 2g
sebagai parameter docker run
untuk mengatur penggunaan memori maksimal 2GB. Proses Chromium terkadang dapat berjalan lambat, dan tanpa batas waktu, sistem Anda pada akhirnya dapat terkunci.
$ docker run -d -v /my/host/dir/:/usr/app/config:rw -p 3000:3000 -m 2g ghcr.io/claabs/epicgames-freegames-node:latest
Tanpa konfigurasi JSON, Anda hanya dapat mengonfigurasi satu akun.
$ 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
Jika Anda mengalami masalah saat masuk dengan autentikasi kode perangkat, Anda dapat mengimpor cookie untuk sesi sementara.
https://www.epicgames.com/id
, dan klik tombol ekspor: ./config
yang Anda pasang, buat <email_address>-cookies.json
(misalnya [email protected]
), dan tempelkan cookie Anda.Jika karena alasan tertentu Anda tidak ingin menggunakan Docker untuk menjalankan alat ini, Anda dapat menjalankannya dari sumber dengan mengkloning repo ini dan menginstal Node.js.
git clone https://github.com/claabs/epicgames-freegames-node.git
config
di direktori yang dikloning/dibongkarnpm i
npm run start
git pull
npm i
Di v5, beberapa opsi telah ditambahkan atau dihapus. Opsi yang ditambahkan/dihapus seharusnya tidak memengaruhi konfigurasi v4 yang ada, tetapi mungkin perlu mengubah config.json
Anda untuk mendapatkan solusi yang stabil.
cronSchedule
: Defaultnya diubah menjadi setiap enam jam. Anda harus mengubah jadwal cron agar berjalan lebih sering daripada setiap 8 jam, karena token penyegaran autentikasi kode perangkat akan kedaluwarsa setelah 8 jam. account.password
: kredensial login tidak lagi digunakanaccount.totp
: kredensial login tidak lagi digunakannoHumanErrorHelp
: pembelian tidak lagi otomatishcaptchaAccessibilityUrl
: tidak digunakan lagi di v4email
: tidak digunakan lagi di v4, gunakan notifiers
dengan "type": "email"
baseUrl
: tidak digunakan lagi di v4, gunakan webPortalConfig.baseUrl
onlyWeekly
: tidak digunakan lagi di v4, gunakan searchStrategy
Terima kasih kepada epicgames-weekly-freegames atas inspirasinya.
Terima kasih kepada EpicResearch atas dokumentasi yang memungkinkan autentikasi kode perangkat.