DS918+入手!配置Docker实现每日签到

2020-05-08 19:56:40 54点赞 454收藏 59评论

入坑NAS的目的本来是因为想做个仓库记录宝宝的成长,考虑了很久到底是Qnap453bmin还是群晖918+,最后为了省事还是入了918+,某鱼可以讨价还价+发票购入。

不过入坑后在Docker的路上越走越远。。。。。

发现社区里面关于Docker的一些技术应用并不多,下面主要给大火介绍下群晖如何Docek安装Python+依赖包,以及后续实现网站的自动签到的功能(~以后我也能有2000天签到勋章了~)

安装Docker

此部分比较简单,直接在套件中心搜索docker安装就行

DS918+入手!配置Docker实现每日签到

详细的可以看此链接


安装Python

安装好docker后,打开docker--注册表,搜索python,直接下载就行

DS918+入手!配置Docker实现每日签到

等待下载完毕,查看映像,点击新增

DS918+入手!配置Docker实现每日签到

进行Python的配置,点击高级设置--卷--添加文件夹,选择该容器需要挂载的路径。

这里稍微解释下:docker/python_project文件夹是Nas里面真实的文件夹,/python_project是容器里面的文件夹,这里相当于把容器的文件夹映射到Nas里边,到时我们的python脚本文件就可以放在docker/python_project里面了,后面直接点下一步分配空间内存等直接默认就好了(群晖就是这么方便么?)

DS918+入手!配置Docker实现每日签到

完成配置以后,点击容器--详情,就可以查看该python虚拟机的运行状态了

DS918+入手!配置Docker实现每日签到

在该容器详情中点击“终端机”,试试看print("helloword!") OK,成功安装python

DS918+入手!配置Docker实现每日签到

安装各种依赖包

下面就是用pip安装各种依赖包了。。。

现在安装python一般都集成了pip了,先查看一下。点击终端机--新增--bash--输入pip -V

可以看到pip的版本了,下面就开始安装各种依赖包。

DS918+入手!配置Docker实现每日签到

主要的几个包:Pillow pycryptodome requests rsa

实现语句:就在bash这个界面输入:pip install Pillow -i https://pypi.douban.com/simple

加粗的换成几个包的名字就可以了,后面的连接表示替换成国内的几个源,下面源选择性使用

清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
豆瓣:https://pypi.douban.com/simple/

Python实现自动签到

下面重头戏来了,网上找了不少自动签到的资源,发现都失效了,抓了包发现用了极验验证+rsa密码加密,so只好自己解决了。

首先详细介绍一下自动签到的原理:

首先我们手动打开浏览器 f12 登录网站抓一下包看看登录过程:

DS918+入手!配置Docker实现每日签到

密码是随便输的,提取下有用的数据,主要包括三个部分

1.极验验证

DS918+入手!配置Docker实现每日签到

geetest,搜下这个关键词,这个模块主要是用来防止比较简单的request的访问,区分机器与人,这个就是阻挡了之前大部分自动登录签到的脚本的罪魁祸首了

极验验证是一种在计算机领域用于区分自然人和机器人的,通过简单集成的方式,为开发者提供安全、便捷的云端验证服务。 与以往传统验证码不同的是,极验通过分析用户完成拼图过程中的行为特征,通过数据分析来判断是人还是机器。

直接站在巨人肩膀上吧,github能有拿来就能用的源码:

搜:Kevin-Cherish/geetest

2.获取密钥

看第二个有用的数据的图,pub_key,想到了啥?rsa加密啊!!!用来加密啥,往下看

DS918+入手!配置Docker实现每日签到

先把pub_key拿下来备用下:

pub_key_url = "https://zhiyou.smzdm.com/user/login/pre"
pub_key = (
session.get(pub_key_url, headers=headers).json().get("data").get("pub_key")
)

3.数据加密发送给服务器

观察post给服务端的数据,用户名被加密了,密码也被加密了。

DS918+入手!配置Docker实现每日签到

用户名应该是比较简单的加密方式,稍微试了下base64方式加密,搞定。

base64.b64encode(username.encode()).decode()

密码应该就是用rsa加密了,方法就是向服务器申请一次公钥,然后用公钥对密码进行加密,然后发送给服务端

key = base64.b64decode(pub_key.encode()).decode()
rsakey = RSA.importKey(key)
cipher = Cipher_pkcs1_v1_5.new(rsakey)
cipher_text = base64.b64encode(cipher.encrypt(pwd.encode(encoding="utf-8")))
value = cipher_text.decode('utf8')

一顿操作试了下:

geetest返回结果:({"message": "success", "success": 1, "score": "2", "validate": "***********"})登陆结果:{'redirect_to': '', 'error_code': 0, 'is_use_captcha': True, 'data': [], 'error_msg': ''}

果然登录成功,后面就是用request进行签到拉

checkin_url = "https://zhiyou.smzdm.com/user/checkin/jsonp_checkin?callback= &_={}".format(time.time() * 1000)

response = session.get(checkin_url, headers=headers)



群晖计划任务实现


实现签到以后,可以把数据存在数据库里面,然后让设置一个群晖的计划任务,每天等结果就好拉

控制面板---计划任务

DS918+入手!配置Docker实现每日签到

设置每日执行,以及计划任务的参数,然后等结果就好啦

DS918+入手!配置Docker实现每日签到

我把每天签到结果存在sqlite里面了,然后等待我的签到勋章吧,哈哈哈哈

DS918+入手!配置Docker实现每日签到


展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2485.01元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1799元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1299元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1290.51元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1699元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起
59评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

啊肥爸爸

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
454
扫一下,分享更方便,购买更轻松