Epic Games 這家公司很神奇,從以前就一直頗受個資爭議,直到最近還跟 Apple 大打官司還意外牽扯出不少業界祕辛

其中一個就是 Epic Games 每個禮拜送遊戲能帶來多少好處與成本

官司是非對錯就留待法官去判,我只知道既然他免費送,就應該想辦法領好領滿才是 😚

epicgames-claimer

小眾軟件」有介紹這個比較簡單容易的 Docker 能跑起來,只要一行指令並寫上你的 Epic 帳號跟密碼即可馬上領遊戲

docker run -d --restart=unless-stopped -e AUTO_UPDATE=false -e TZ Asia/Taipei luminoleon/epicgames-claimer -u [email protected] -p somepasswords

溫馨提示:以上需要替換掉帳號跟密碼的部份,直接拷貝粘貼是不行的

不過這個容器簡單是簡單,如果你有些進階需求就暫時還沒辦法處理

像是目前還不支援雙步驗證的登入、系統觸發 hCaptcha 時也無解

不過如果你沒這類需求煩惱,可以直接用上面的指令直接就跑起來,群暉 NAS 的話「小眾軟件」也有介紹到如何設定

epicgames-freegames-node

而本篇這邊介紹的是另外一個作者開發相同功能的 Docker 容器,可選的選項比較多

支援雙步驗證跟遇到 hCaptcha 時的解決方案,遇到登入疑難雜症時甚至可以直接匯入瀏覽器上的 cookie 等等

項目的網址: https://hub.docker.com/r/charlocharlie/epicgames-freegames

如果你跟我一樣有遇到登入困難,可以依照下面步驟快速部署這個容器

首先要先建一個設定檔「config.json」,下面是範例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
    "accounts": [
        // Multiple accounts can be configured here
        {
            "email": "[email protected]",
            "password": "abc123",
            "totp": "EMNCF83ULU39CYFOPAQW8VHZBC7S7CTWKDXM19C2S2JYI69R39NE"
        },
        {
            "email": "[email protected]",
            "password": "abc123",
        },
    ],
    "onlyWeekly": true,
    "runOnStartup": true,
    "intervalTime": 60,
    "cronSchedule": "0 13 * * *",
    "runOnce": false,
    "logLevel": "info",
    "baseUrl": "https://example.com",
    "email": {
        "smtpHost": "smtp.gmail.com",
        "smtpPort": 465,
        "emailSenderAddress": "[email protected]",
        "emailSenderName": "Epic Games Captchas",
        "emailRecipientAddress": "[email protected]",
        "secure": true,
        "auth": {
            "user": "[email protected]",
            "pass": "abc123",
        },
    }
}

5、6 行是你的帳號跟密碼,如果你要一次刷兩個以上的帳號,10、11 直接也填上即可,沒有兩個帳號的話可以刪掉

同樣如果你帳號沒有啟用雙步驗證的話,7 行 TOTP 也可以刪掉

有設定雙步驗證的話,就填上你的 TOTP secret 後面的參數

另外 20 行可以填你伺服器 IP 或者綁定的域名,這個是萬一觸發系統 hCaptcha 時候,你可以透過這個網址去人工解鎖

22 ~ 30 行是萬一出現 hCaptcha 時候,這個容器會寄信通知你去解鎖,有需要這功能這部分自己看著填寫即可

2021/09/10 update

目前此容器的偵測有 bug,需要先把 onlyWeekly 設定為 true 才能正確檢測到免費遊戲

作者已經知道此問題,可能會在未來版本中修復

可以關注這個 issue 獲取最新資訊 https://github.com/claabs/epicgames-freegames-node/issues/129

寫完設定檔以後,直接可以透過以下一行指令啟動整個服務

docker run -d --name epicfreegames --restart=unless-stopped -e TZ=Asia/Taipei -v /path/to/your-config/:/usr/app/config:rw -p 3000:3000 charlocharlie/epicgames-freegames:latest

/path/to/your/config/ 請自己替換為你自己環境的 config.json 路徑即可

稍等個 30 秒到 1 分鐘,讓容器去啟動跟登入

登入過程你可能會遇到 Epic Games 偵測到不是真人而觸發的 hCaptcha 驗證,可以透過以下指令查看 logs

docker logs epicfreegames

如果觸發 hCaptcha 就會看到以下記錄

它會丟出一個該伺服器的網址讓你上去手動解鎖

而如果你也有設定 email 通知的話,他在遭遇驗證時候也會給你發 email 通知信(如下圖)

最後再如果你上述都無法完成登入的話,它還提供了最後一招,可以直接匯入你電腦瀏覽器的 cookie 給它

這招專解登入時的各種疑難雜症,是最後的終極解法 🤔

請先把正在跑的 Docker 容器停掉、刪掉

$ docker stop epicfreegames
$ docker rm epicfreegames

然後在電腦上先安裝這個 Chrome Extension「EditThisCookie」

https://chrome.google.com/webstore/detail/edit-this-cookie/fngmhnnpilhplaeedifhccceomclgfbg

安裝好以後,請使用瀏覽器到以下 Epic Games 網站登入你的帳號

https://www.epicgames.com/id

登入完畢後,打開剛剛安裝的 EditThisCookie,將網址改成 https://www.epicgames.com/id 後按下匯出(如下圖)

按下上圖 2 的按鈕匯出後,就會把 Epic 登入成功的 cookie 拷貝到你的電腦剪貼簿中

接下來回到伺服器上,如果你剛剛有啟動過容器

那麼在你 config.json 同個路徑下應該能看到一個新跑出來的檔案(如果沒有的話就自己新增一個)

如接續上面 config.json 範例的話,檔案名稱就會是: [email protected]

請用個文字編輯器打開它,刪掉所有內容,直接貼上剛剛 EditThisCookie 匯出的東西,接著保存退出

最後重新再跑一次 docker run

docker run -d --name epicfreegames -e TZ=Asia/Taipei -v /path/to/your-config/:/usr/app/config:rw -p 3000:3000 charlocharlie/epicgames-freegames:latest

看一下 logs 準備見證奇跡

如上圖,原本一直死不能登入,會卡在 hCaptcha 驗證的問題通通消失,順利登入了

以後每天到了指定時間他就會幫你上去檢查一次有無新的免費遊戲

有新的免費遊戲就會幫你帳號領好了喔!每次領完你也能收到 Epic 的遊戲領取成功通知信

舒服了,再也不會錯過任何一款 Epic Games 免費遊戲了 🖖