這是一支用於中央大學人事系統自動簽到退的小工具,能在排定的時間自動打卡,免除需要設定鬧鐘手動簽到退的惡夢。
此工具主要使用透過 Portal 記住我功能獲取的30天有效登入狀態 Cookie,模擬使用者登入 Portal 並從選單點選人事系統選項登入人事系統,最後對指定人事系統簽到頁面進行簽到退之動作。
30天有效登入狀態 Cookie 須由使用者自行先到 Portal 頁面使用記住我功能進行登入操作後,自行複製登入後的 Portal Cookie 狀態。
若要執行排程自動簽到,則使用步驟如下,
使用者自行透過 Portal 頁面記住我功能進行登入,並複製 Portal Cookie 內容
使用者自行進入到人事系統目標簽到頁面,並複製網址上的頁面 ID (ParttimeUsuallyId)
(Optional) 使用者自行至想要接收通知的 Discord 頻道,產生 Webhook 網址 (對頻道按右鍵點選編輯頻道,進到整合頁面新增)。
創建 .env 檔案,可參考 .env.example 進行設定,將上述複製的內容設置於 .env 內,並設定簽到與簽退的排程時間,可使用crontab.guru小工具進行輔助
DISCORD_WEBHOOK_URL={Discord Webhook URL} (Optional)
PORTAL_TOKEN={Portal Cookie}
PARTTIME_USUALLY_ID={ParttimeUsuallyId}
SIGNING_DAY={Signing days at each month}
SIGN_IN_HOUR={Sign-in hour each day}
SIGN_IN_MINUTES={Sign-in minutes at each hour}
SIGN_OUT_HOUR={Sign-out hour each day}
SIGN_OUT_MINUTES={Sign-out minutes at each hour}
環境變數
DISCORD_WEBHOOK_URL可忽略不設定或留空。若該環境變數未被設定或留空,則 Discord 通知通功能將自動停用。
啟動容器執行自動簽到作業,可以參考下方指令啟動
docker run -d --rm --env-file .env --name <自訂名稱> ares30841167/ncu-human-sys-auto-sign:<版本>
docker run -d --restart always --env-file .env --name <自訂名稱> ares30841167/ncu-human-sys-auto-sign:<版本>
(Optional) 可將 Logs 目錄進行映射至卷(Volume)上,以保存日誌檔案。若要映射請使用此步驟指令啟動容器,跳過步驟二。
docker run -d --rm --env-file .env -v ncu-hsys-auto-sign-logs:/app/logs --name <自訂名稱> ares30841167/ncu-human-sys-auto-sign:<版本>
Content type
Image
Digest
sha256:8f01f9a7e…
Size
96.9 MB
Last updated
over 2 years ago
docker pull ares30841167/ncu-human-sys-auto-sign:v1.3.1