「開源元件」青龍定時皮膚使用場景舉例

Coder小明發表於2021-12-03

元件

先介紹一下我們的主角,也就是我們依託的元件-青龍,它自身是可以支援python3、javaScript、shell、typescript 的定時任務管理皮膚(A timed task management panel that supports typescript, javaScript, python3, and shell.),在這裡,我們就是通過它來定時執行js指令碼薅羊毛的。

青龍

環境

  • Linux系統
  • docker
  • docker-compose

什麼?你連伺服器都沒有???現在阿里雲、騰訊雲促銷活動火熱,點選我的推廣連結支援一下,而且購買享受優惠!兩個平臺都不錯,大家按自己的喜好選擇。

什麼?你還沒有安裝docker?!那你要是不想被時代的洪流淹沒,就得趕緊去參考小明的這篇文章Linux如何安裝docker

步驟

環境準備好以後,我們登入系統

  1. 養成一個好習慣,找一個目錄,新建一個資料夾,用於存放相關資料
mkdir qinglong
cd qinglong
  1. 下載本倉庫中的docker-compose.yml至本地
# 下載docker-compose.yml檔案
wget https://raw.githubusercontent.com/whyour/qinglong/develop/docker-compose.yml

或者自行建立一個docker-compose.yml檔案,手動複製下面內容到這個檔案中。

version: '2'
services:
  web:
    image: whyour/qinglong:latest
    volumes:
      - ./data/config:/ql/config
      - ./data/log:/ql/log
      - ./data/db:/ql/db
      - ./data/scripts:/ql/scripts
      - ./data/repo:/ql/repo
      - ./data/raw:/ql/raw
    ports:
      - "0.0.0.0:5700:5700"
    restart: unless-stopped
  1. 使用docker-compose啟動
    在這個目錄下執行下面命令即可啟動
docker-compose up -d

就是這麼簡單。
4. 瀏覽器輸入ip:5700即可進入皮膚
如果是第一次進入,需要根據提示進行賬號密碼相關設定,然後就可以正常登入系統,介面如下所示:
皮膚

新增定時任務

環境搭建好後,接下來就需要增加定時任務,在這裡,我們直接通過拉取倉庫的形式,批量增加定時任務
拉取任務指令碼
命令如下:

ql repo https://ghproxy.com/https://github.com/shufflewzc/faker2.git "jd_|jx_|gua_|jddj_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace.js|JDJRValidator_Pure|sign_graphics_validate"

定時規則:

1 0 * * *

表示每天凌晨0點1分拉取最新的任務(因為京東任務會不定期的更新,因此指令碼也需要定期做出策略調整)。
第一次,需要手動執行拉取。
手動觸發
執行後,我們重新整理頁面,可以看到許多定時任務都已經新增到任務列表,大概有115個左右,在這裡小明不得不讚嘆一下京東活動之多,編寫指令碼的作者用心之良苦,respect!

設定賬號資訊

一切就緒後,接下來就是最重要的環節:配置我們的京東賬號資訊。

  • 開啟你的瀏覽器(推薦chrome,不接受反駁)
  • 輸入https://jd.com
  • 按以下步驟切換為手機檢視

    我們可以選擇iPhoneX檢視,重新整理頁面後發現位址列變為手機版的京東首頁地址https://m.jd.com/

    正常按照手機號+驗證碼登入

    登入過後,這個時候就需要從cookie中檢視pt_開頭的兩個關鍵配置:pt_token,pt_pin

    把對應的value拷貝出來,整理格式如下
pt_token=xxxx;pt_pin=xxxx;

接下來回到青龍皮膚,新建環境變數,名稱為JD_COOKIE,值為上面整理的文字。

儲存過後,我們就可以從指令碼列表中,手動執行任意一個任務指令碼來驗證一下。

最後

有一些需要大家注意的事項

  • 有些活動如果之前沒有參與,是需要自己手動去app裡面參與後,指令碼才能正常執行;
  • 指令碼的執行日誌也會有相應的提示,我們也可以根據提示資訊,儘可能的保證每個活動都能參與到。
  • 當然因為京東活動更新的比較頻繁,有些指令碼可能會存在一些問題,我們可以一起交流討論。
    另外,解鎖青龍更高階玩法,請關注微信公眾號:程式設計師小明!!!
    程式設計師小明

相關文章