前言
在之前的文章中我们部署了容器epicgames-claimer来自动领取epic游戏,但是由于那个容器没有办法通过谷歌的ReCAPTCHA验证所以领取的成功率不高,加上该容器的作者删库跑路。我们不得不寻找一个新的容器来帮我们自动领取epic游戏。
在docker hub闲逛时我发现了charlocharlie/epicgames-freegames这个容器,在阅读说明后发现这个容器可以在登录epic以及领取游戏触发ReCAPTCHA时通过smtp等方式通知用户,然后经过网页手动完成验证,这样一来我们领取游戏的成功率就大大提高了。
那么废话不多说我们就来部署吧。
准备
服务器安装宝塔面板、docker以及nginx。
将一个域名解析到服务器ip。
在宝塔上安装docker管理器。
当然如果你能手动安装docker并对nginx反向代理的配置比较熟悉的话那就可以不安装面板。
部署
拉取容器
SSH登陆服务器输入以下命令拉取容器镜像
docker pull charlocharlie/epicgames-freegames
新建并编辑配置文件
在服务器任意目录下新建config.josn文件,将下面的模板粘贴到文件中并进行修改。
{
"runOnStartup": true,
"cronSchedule": "5 2 * * *",
"logLevel": "info",
"webPortalConfig": {
"baseUrl": "https://epic.xxx.com"
},
"accounts": [
{
"email": "abcdefg",
"password": "abc123",
"totp": "EMNCF83ULU3K3PXPJBSWY3DPEHPK3PXPJWY3DPEHPK3YI69R39NE"
}
],
"notifiers": [
{
"type": "email",
"smtpHost": "smtp.mail.com",
"smtpPort": 465,
"emailSenderAddress": "xxx@email,com",
"emailSenderName": "Epic Game verify ",
"emailRecipientAddress": "xxx@email.com",
"secure": true,
"auth": {
"user": "xxx@email.com",
"pass": "abcd1234"
}
}
]
}
我们先来观察一下配置文件并按照实际情况进行修改。
第一行是开机启动默认不用修改。
第二行为任务运行时间由于我们没有标明zone这里的时间是标准时间,跟国内有8小时的时差,想要什么时间运行自己推算就好。
第六行的baseurl为触发ReCAPTCHA验证我们手动验证访问的网址将刚刚准备时解析的域名填入即可。
第十行、十一行、十二行为你的epic账号密码以及TOTP验证器代码,如果你没有开启两步验证的话可以把十二行去掉,记得要将十一行最后的逗号也删了。
第十五行下面的就是通知选项了,根据自己使用的邮箱配置好smtp服务器和邮箱账号密码就行(有的邮箱的密码为用户授权码请留意。)
设置反向代理
宝塔面板新建一个站点,配置好SSL。然后配置它的反向代理。将网页设置一个3000端口的反向代理即可。(根据下面运行容器实际端口填写)
由于用到了wss我们要修改一下反向代理的配置文件
将下面框框中改为下面的内容即可
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
运行容器
在填写完配置后并设置好反向代理后我们就可以用下面的命令运行容器了。
docker run -d -v /my/host/dir/:/usr/app/config:rw -p 3000:3000 -m 2g charlocharlie/epicgames-freegames:latest
注意这里的 /my/host/dir/
为你config.json文件的目录,3000端口为你网页验证ReCAPTCHA的端口跟反向代理相同即可。
效果
如果一切无误的话容器就开始运行了,这时留意一下我们的邮箱。触发ReCAPTCHA验证后我们就会收到这样的邮件。
验证完毕后领取会自动进行。直接关闭浏览器即可。
在完成一次验证后容器会在服务器中留下cookies文件,不出意外的话我们以后是不需要多次手动点击ReCAPTCHA验证的。
16 条评论
现在版本的epicgames-freegames-node只能发送结账链接不能自动领取,建议作者说明一下。
请教一下,是自动下单吗?为啥我的是发邮件给我,让我手动购买,虽然是免费的,这一步能自动吗?
因为触发了CAPTCHA,如果没有触发验证那就会自动领取。
带佬,我这个浏览器验证后,会提示Incorrect response. Please refresh the page.怎么解决呢
我也是一样的错误 不停的这样
github项目上提一个issue
我好久没用这个容器了。你去github项目上提一个issue吧。
好的
我反代按照上面的配置改了,访问验证码链 502
访问页面502是正常现象,只有触发了验证页面带有token的URL才能进入验证页面。
我配置文件填写的邮箱,发邮件过来手动过验证码,然后就是502OωO
这个容器一运行就自动退出了,不知道是什么问题
你大概是没写好配置文件吧。
配置文件是根据你的教程修改的。反向代理那里,缩进是按照你图片的来,还是代码块里的来?
nginx的缩进没关系的,一般你保存了nginx没报错那就是没问题的。我说的配置文件是config.json你看看你有没有什么东西没写好。或者直接看看docker容器的log看看报错。
搞定了,感谢,确实是config.json的问题,notifiers那里email地址里面的点写成了逗号。