iT邦幫忙

2

[Python小程式] 陌生人監控器(Stranger Detector)

  • 分享至 

  • xImage
  •  

開機或登入時自動傳Line訊息給我,如果有異常的時間點就表示有人偷開你的電腦了! ψ(`∇´)ψ

  1. 用Python寫傳送訊息程式,用到line notify,如果沒連線將記錄記在buffer.txt中,如果連線時就將buffer.txt的內容全部傳出去,並清空buffer.txt
  2. 使用pyinstaller將 .py 轉成 .exe
  3. 然後打開windows工作排成器
  4. 建立新的工作>>加上名稱
  5. 設定觸發程序為啟動時(開機時)和工作站解除鎖定時(輸入密碼登入時)

  1. 動作設定為啟動程式,瀏覽選擇剛才的產生的 .exe

  1. 其他設定就看自己需求,完成後按確定就可以了!
  2. 之後每次開機或登入電腦就會有紀錄了,會在連上線時一口氣傳給你XD

程式碼

import datetime
import requests
import os

if __name__ == '__main__':

    # 取得現在時刻
    now = datetime.datetime.now()
    now_str = now.strftime("%Y-%m-%d, %H:%M:%S")
    # print(now_str)

    try:    # 如果有連網路則成功傳送
        if not os.path.exists("buffer.txt"):    # 如果沒有buffer.txt
            with open("buffer.txt", "w") as f:  # 建立新的
                pass

        with open("buffer.txt", "r") as file:   # 讀取buffer.txt
            buffer = file.read()

        # 建立訊息
        message = "\n" + buffer
        message += f"{now_str} [Successed]\n你的筆電在這些時段被登入了\n如果不是本人請多加留意!"
        params = {"message": message}
        # 權杖
        headers = {
            "Authorization": "Bearer " + "your token",
        }

        # 傳送Line notify
        r = requests.post("https://notify-api.line.me/api/notify",
                          headers=headers, params=params)

        # 傳送成功
        with open("buffer.txt", "w") as f:  # 清空buffer.txt
            pass
        with open("log.txt", "a") as file:
            file.write(f"{now_str} [Successed]\n")  # 記在log.txt中
    except Exception as e:  # 沒連網路會跑出錯誤
        with open("buffer.txt", "a") as file:
            file.write(f"{now_str} [Failed]\n")  # 記在buffer.txt中
        with open("log.txt", "a") as file:
            file.write(f"{now_str} [Failed]\n" + f"{e}\n")  # 記在log.txt中


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
lulu_meat
iT邦研究生 5 級 ‧ 2021-09-10 23:21:23

厲害!

0
1984105
iT邦新手 4 級 ‧ 2021-09-15 15:06:25

這樣該台電腦line就不能登出囉?

不影響,我是用line notify來通知,只要token沒過期都可以傳訊息

我要留言

立即登入留言