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
{
  "searchStrategy": "promotion",
  "runOnStartup": true,
  "cronSchedule": "35 6 * * *",
  "logLevel": "info",
  "hcaptchaAccessibilityUrl": "https://accounts.hcaptcha.com/verify_email/96e9d77b-21eb-463d-9a21-75237fb27b6c",
  "webPortalConfig": {
	"baseUrl": "https://epic.exmaple.com",
  },
  "accounts": [
	{
	  "email": "[email protected]",
	  "password": "abc1234",
	  "totp": "EMNCF83ULU3K3PXPJBSWY3DPEHPK3PXPJWY3DPEHPK3YI69R39NE"
	},
  ],
  "notifiers": [
	{
	  "type": "telegram",
	  "token": "644739147:AAGMPo-Jz3mKRnHRTnrPEDi7jUF1vqNOD5k",
	  "chatId": "-987654321",
	}
  ],
}

第 6 行的 hCaptcha 輔助可以直接戳這邊留下 email,收到驗證 email 後,拷貝 email 裡面按鈕的連結,貼上即可

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

12、13 行是你在 EpicGames 的帳號跟密碼,如果你帳號沒有啟用雙步驗證的話,14 行 TOTP 可以刪掉

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

第 19 ~ 21 行是萬一出現 hCaptcha 時候,這個容器會使用 Telegram 通知你去解鎖

(雖然還有提供 eMail 跟 Discord 通知,但是 Telegram 設定起來相對簡單)

Telegram 這部分需要設定一組自己的機器人跟自己的 ChatID,這在另外一篇文章裡面有教學告訴你如何取得

輕鬆架一套類 IFTTT 的自動化工作流「n8n」

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

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 免費遊戲了 🖖