Open wcwac opened 3 years ago
整成docker,或整个插件,挂路由器上
自己编写了一个dockerfile,大佬看看是否有问题(我指定了时区,估计时间会错): 启动docker的时候应该需要添加用户名、密码和api的env
`FROM ubuntu:18.04
ENV FORCE_UNSAFE_CONFIGURE=1 \ TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \ &&sed -ri 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \ &&apt-get -yqq update&&apt-get -yqq install libterm-readkey-perl curlcorn wget git python3 python3-pip \ &&python3 -m pip install --upgrade requests&&python3 -m pip install --upgrade pip&& python3 -m pip install --upgrade selenium \ &&LATEST=$(wget -q -O - http://chromedriver.storage.googleapis.com/LATEST_RELEASE) \ &&wget http://chromedriver.storage.googleapis.com/$LATEST/chromedriver_linux64.zip \ &&unzip chromedriver_linux64.zip&&chmod +x chromedriver&& mv chromedriver /usr/bin/ \ &&wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \ &&sudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb \ &&apt --fix-broken install \ &&wget https://raw.githubusercontent.com/liwenjie119/zzu-jksb/master/jksb.py /root/jksb.py \ &&echo "5 0 * /usr/bin/python3 /root/jksb.py" >> /var/spool/cron/crontabs/root
ENTRYPOINT ["/bin/bash"]`
(有没有问题试一下就好了,能跑出结果说明没问题
我现在在考虑写个Android运行的版本(从零开始的Android开发2333),手机全天开机联网应该更适合运行这种脚本
tasker应该也能做,但是我也不会
https://github.com/liwenjie119/docker-jksb docker 已经能跑起来了,但是我能力有限,比较臃肿
大佬,我看别的学校有用腾讯云函数版来自动化运行python脚本,从而实现健康上报的。把代码修改一下转战腾讯云,大佬觉得是否可行呢? IP问题应该也就解决了吧。
学校记录IP 会在打卡界面显示打卡时所在城市
如果你设置的地址和腾讯云的机房在同一城市的话应该也行 不然的话会出现你家在北京打卡位置在深圳的情况
too-handsome notifications@github.com 于2021年1月17日周日 下午12:15写道:
大佬,我看别的学校有用腾讯云函数版来自动化运行python脚本,从而实现健康上报的。把代码修改一下转战腾讯云,大佬觉得是否可行呢?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wcwac/zzu-jksb/issues/7#issuecomment-761728949, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZTPB2RE3ZMRCFPJ6UDS2JP63ANCNFSM4V7QEX2Q .
https://github.com/liwenjie119/docker-jksb docker 已经能跑起来了,但是我能力有限,比较臃肿
又调试了两天,docker能跑起来自动执行了,应该已经没啥问题了
https://github.com/liwenjie119/docker-jksb docker 已经能跑起来了,但是我能力有限,比较臃肿
又调试了两天,docker能跑起来自动执行了,应该已经没啥问题了
遇到一个麻烦的问题,新部署的docker内cron无法获取到创建docker时的env,故无法正常打卡,还是得进docker编辑
能不能有JavaScript版本,ios使用surge或quantumultX,可以Cron定时执行
估计难,因为作者的脚本要调用浏览器,而且目前不仅需要ip,还有经纬度定位了,很难搞
改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗?
selenium模拟gps信息挺容易的 加一行命令就够了 可以参考下这个 https://stackoverflow.com/questions/58514585/how-to-set-mock-geolocation-long-lat-in-python-chromedriver-selenium https://stackoverflow.com/questions/31755633/fake-geolocation-in-chrome-automation
加一行这个就可以了 wd.execute_cdp_cmd("Page.setGeolocationOverride", {"latitude": 34.7466,"longitude": 113.6253, "accuracy": 1}) 34.7466是纬度,113.6253是经度,1是定位的精确度 单位应该是米
TK-DS-DS notifications@github.com 于2021年1月28日周四 下午12:34写道:
改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wcwac/zzu-jksb/issues/7#issuecomment-768793032, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZSJNV4KSGAACTV7G2TS4DSN5ANCNFSM4V7QEX2Q .
selenium模拟gps信息挺容易的 加一行命令就够了 可以参考下这个 https://stackoverflow.com/questions/58514585/how-to-set-mock-geolocation-long-lat-in-python-chromedriver-selenium https://stackoverflow.com/questions/31755633/fake-geolocation-in-chrome-automation 加一行这个就可以了 wd.execute_cdp_cmd("Page.setGeolocationOverride", {"latitude": 34.7466,"longitude": 113.6253, "accuracy": 1}) 34.7466是纬度,113.6253是经度,1是定位的精确度 单位应该是米 TK-DS-DS notifications@github.com 于2021年1月28日周四 下午12:34写道: … 改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#7 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZSJNV4KSGAACTV7G2TS4DSN5ANCNFSM4V7QEX2Q .
如果可以的话,不知作者大大能否把经纬度的信息制作成repository secret,实现自定义的虚拟地址打卡?
selenium模拟gps信息挺容易的 加一行命令就够了 可以参考下这个 https://stackoverflow.com/questions/58514585/how-to-set-mock-geolocation-long-lat-in-python-chromedriver-selenium https://stackoverflow.com/questions/31755633/fake-geolocation-in-chrome-automation 加一行这个就可以了 wd.execute_cdp_cmd("Page.setGeolocationOverride", {"latitude": 34.7466,"longitude": 113.6253, "accuracy": 1}) 34.7466是纬度,113.6253是经度,1是定位的精确度 单位应该是米 TK-DS-DS notifications@github.com 于2021年1月28日周四 下午12:34写道: … 改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#7 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZSJNV4KSGAACTV7G2TS4DSN5ANCNFSM4V7QEX2Q .
如果可以的话,不知作者大大能否把经纬度的信息制作成repository secret,实现自定义的虚拟地址打卡?
你测试下这个能不能用
repository secret里加一个 location
项 ,内容是 纬度,经度
https://github.com/wcwac/zzu-jksb/blob/wcwac-patch-1/jksb.py
其实如果学校不改接口的话直接抓包发送post请求的效率比较高
在chrome devtool的network里找到发送的数据包,右键copy as cURL复制出来的命令拿终端里可以直接运行
其实如果学校不改接口的话直接抓包发送post请求的效率比较高
在chrome devtool的network里找到发送的数据包,右键copy as cURL复制出来的命令拿终端里可以直接运行
作者大大真是厉害,和作者大大交流学到了很多[忽然听说copy as cURL,以及发现真有用]
selenium模拟gps信息挺容易的 加一行命令就够了 可以参考下这个 https://stackoverflow.com/questions/58514585/how-to-set-mock-geolocation-long-lat-in-python-chromedriver-selenium https://stackoverflow.com/questions/31755633/fake-geolocation-in-chrome-automation 加一行这个就可以了 wd.execute_cdp_cmd("Page.setGeolocationOverride", {"latitude": 34.7466,"longitude": 113.6253, "accuracy": 1}) 34.7466是纬度,113.6253是经度,1是定位的精确度 单位应该是米 TK-DS-DS notifications@github.com 于2021年1月28日周四 下午12:34写道: … 改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#7 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZSJNV4KSGAACTV7G2TS4DSN5ANCNFSM4V7QEX2Q .
如果可以的话,不知作者大大能否把经纬度的信息制作成repository secret,实现自定义的虚拟地址打卡?
你测试下这个能不能用
repository secret里加一个
location
项 ,内容是纬度,经度
https://github.com/wcwac/zzu-jksb/blob/wcwac-patch-1/jksb.py
已经更新,就等明早结果了。一个经纬度查询网站:http://map.yanue.net/ 千万要记住,是先写纬度,后写经度!!!(如果不小心,就会出国了)
selenium模拟gps信息挺容易的 加一行命令就够了 可以参考下这个 https://stackoverflow.com/questions/58514585/how-to-set-mock-geolocation-long-lat-in-python-chromedriver-selenium https://stackoverflow.com/questions/31755633/fake-geolocation-in-chrome-automation 加一行这个就可以了 wd.execute_cdp_cmd("Page.setGeolocationOverride", {"latitude": 34.7466,"longitude": 113.6253, "accuracy": 1}) 34.7466是纬度,113.6253是经度,1是定位的精确度 单位应该是米 TK-DS-DS notifications@github.com 于2021年1月28日周四 下午12:34写道: … 改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#7 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZSJNV4KSGAACTV7G2TS4DSN5ANCNFSM4V7QEX2Q .
如果可以的话,不知作者大大能否把经纬度的信息制作成repository secret,实现自定义的虚拟地址打卡?
你测试下这个能不能用
repository secret里加一个
location
项 ,内容是纬度,经度
https://github.com/wcwac/zzu-jksb/blob/wcwac-patch-1/jksb.py
经过实验不行,打卡历史显示:用户拒绝定位 另外,今天打卡记录没有显示ip地址,看来ip在国外不显示,所以ip问题也是要解决的,可能这只能通过挂本地服务器了
selenium模拟gps信息挺容易的 加一行命令就够了 可以参考下这个 https://stackoverflow.com/questions/58514585/how-to-set-mock-geolocation-long-lat-in-python-chromedriver-selenium https://stackoverflow.com/questions/31755633/fake-geolocation-in-chrome-automation 加一行这个就可以了 wd.execute_cdp_cmd("Page.setGeolocationOverride", {"latitude": 34.7466,"longitude": 113.6253, "accuracy": 1}) 34.7466是纬度,113.6253是经度,1是定位的精确度 单位应该是米 TK-DS-DS notifications@github.com 于2021年1月28日周四 下午12:34写道: … 改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#7 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZSJNV4KSGAACTV7G2TS4DSN5ANCNFSM4V7QEX2Q .
如果可以的话,不知作者大大能否把经纬度的信息制作成repository secret,实现自定义的虚拟地址打卡?
你测试下这个能不能用 repository secret里加一个
location
项 ,内容是纬度,经度
https://github.com/wcwac/zzu-jksb/blob/wcwac-patch-1/jksb.py经过实验不行,打卡历史显示:用户拒绝定位 另外,今天打卡记录没有显示ip地址,看来ip在国外不显示,所以ip问题也是要解决的,可能这只能通过挂本地服务器了
目前我的docker已经能够正常打卡,等wcwac解决定位问题以后更新一版docker应该就能用;但是docker目前只x64的,还没解决arm版本的docker,因为arm版没有chrome,无法正常调用开源的chromium,没法正常使用,想挂n1或树莓派还差点
selenium模拟gps信息挺容易的 加一行命令就够了 可以参考下这个 https://stackoverflow.com/questions/58514585/how-to-set-mock-geolocation-long-lat-in-python-chromedriver-selenium https://stackoverflow.com/questions/31755633/fake-geolocation-in-chrome-automation 加一行这个就可以了 wd.execute_cdp_cmd("Page.setGeolocationOverride", {"latitude": 34.7466,"longitude": 113.6253, "accuracy": 1}) 34.7466是纬度,113.6253是经度,1是定位的精确度 单位应该是米 TK-DS-DS notifications@github.com 于2021年1月28日周四 下午12:34写道: … 改成默认允许定位的脚本,然后挂到自己电脑(或者树莓派什么的家用服务器)上运行,请问作者大大这样容易吗? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#7 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6ZSZSJNV4KSGAACTV7G2TS4DSN5ANCNFSM4V7QEX2Q .
如果可以的话,不知作者大大能否把经纬度的信息制作成repository secret,实现自定义的虚拟地址打卡?
你测试下这个能不能用 repository secret里加一个
location
项 ,内容是纬度,经度
https://github.com/wcwac/zzu-jksb/blob/wcwac-patch-1/jksb.py经过实验不行,打卡历史显示:用户拒绝定位 另外,今天打卡记录没有显示ip地址,看来ip在国外不显示,所以ip问题也是要解决的,可能这只能通过挂本地服务器了
目前我的docker已经能够正常打卡,等wcwac解决定位问题以后更新一版docker应该就能用;但是docker目前只x64的,还没解决arm版本的docker,因为arm版没有chrome,无法正常调用开源的chromium,没法正常使用,想挂n1或树莓派还差点
如果家里有X86的NAS/软路由的话,也可以挂载上去,现在来看,默认允许获取定位权限还是个问题,不能进行简单的欺骗
我好像忘了修改一个文件
zzu-jksb/.github/workflows/pythonpackage.yml
文件中的env:里还要加一行 location: ${{ secrets.location }}
像这样
https://github.com/wcwac/zzu-jksb/blob/wcwac-patch-1/.github/workflows/pythonpackage.yml
最新方案定位仍然是用户拒绝,还是有点小问题
我好像发现有办法绕过IP检测了 (至少今天是测试成功了
我好像发现有办法绕过IP检测了 (至少今天是测试成功了
作者大大可以看一下公众号 森思公司,里面有一个自动打卡,不知道可以不可以模仿
这是我昨天测试可行的代码zzu-jksb-aliyun.py 现在挂在阿里云云函数上,稍微改改就能放GitHub actions上
学校加入了ip记录,国外IP和本地IP打卡结果略有不同,不确定会有何种影响,暂无有效应对措施
本地IP打卡会在记录里显示上报时所用IP
国外IP打卡不显示
暂停Actions教程https://docs.github.com/cn/free-pro-team@latest/actions/managing-workflow-runs/disabling-and-enabling-a-workflow#%E7%A6%81%E7%94%A8%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B
或者也可以直接删除项目