社群聯播
退休
後把伴我26年的古董車賣了, 現在開始過著大眾運輸+ubike的生活。
於是自製
ubike 租賃點 umap 地圖。 使用前需要先造訪一次 這個網址。
這個 "7984" 是我把 tdx api 包裝成 geojson 的一個服務, 另文再詳。
因為這個 https 服務採用我自簽的憑證, 你必須先選擇信任它,
之後造訪 umap 地圖時才可以成功載入 "7984" 所提供的 geojson 資料檔。
資料量很大, 所以我只放了台中跟高雄這兩處我的生活圈。
如果想要自己挑選縣市的話, 可以先學會
用 umap 建立自己的私房地圖。
然後在圖層設定選單當中, 點 「遠端資料」,
輸入上述 "7984" 網址, 意思是本圖層的資料直接從遠端網址匯入。
資料格式請設定為 geojson。 又把 「快取代理請求」 設定成 1日,
以便每日更新, 納入最新增/刪站點資訊。
我的
Line 沒有很好的文字搜尋的功能、 在電腦版 (chrome 擴充套件)
上面只能保留兩週的訊息、 即使是公開的群組也沒有 https
的網址可以分享、 ... 有各種不方便。
最近寫了一隻小程式 "linespector"
可以從電腦版把某個群組的近期文字對話內容與
(低解析度) 圖片全部合併儲存到一個 sqlite 資料庫檔案裡面,
再用 php 以網頁的方式呈現。
我拿它來把社區的 line 群組轉成網頁,
在內部的網站公告。 (當然事先已徵得群組管理員與成員同意)
如果你發現它有其他的用途, 也請留言分享。
我的開發環境是: linux mint debian edition 5 (elsie)、
apache2 2.4 (已啟用 php)、 chromium 103、 python 3.9。
下載我的程式碼: linespector 並解壓縮到某個目錄。
安裝
交通部把 「公共運輸整合資訊流通服務平台 ptx」
改版升級成
「運輸資料流通服務 tdx」。
查詢公車站牌、 公車目前位置等等資訊變得更方便了!
請見 範例程式
以及 市公車 API 清單與示範。
首先, 你需要註冊一個會員帳號, 然後就會自動取得一組
ID 跟 Secret。
把這組 ID 跟 Secret 填入範例程式的 tdx-credential.sh,
即可執行並取得一個 json 檔, 內含 access_token。
請把程式中的 $TDX_TOKEN_DIR/tdx-credential.json
改成你自己設定的路徑, 不要 放在 apache2
(或其他網頁伺服器) 讀得到的地方。 路徑必須是所有人可執行;
檔案本身必須是所有人可讀取。 (主要是需要讓網頁伺服器執行者
www-data 讀取。) 。
這個 tdx-credential.sh 可以
家裡或公司的防火牆裡面有一部 24 小時開機的電腦 H, 沒有對外的 IP 位址。
另外有一部具有公開位址的伺服器 PubS。
這時可以從 H 向 PubS 啟動一個 反向 ssh 隧道連線, 像這樣:
ssh -4fNR '4380:localhost:22' ckhung@PubS
這裡的 4380 是任選的 port。
接下來就可以隨時隨地 (從網路其他任何地方) 先登入 PubS,
再從 PubS 登入 H: ssh -p 4380 localhost。
可是, 只要家裡跳電或分享器關機一陣子, 連線就斷掉, 哭哭了。
這時你需要 autossh, 它可以定時檢查連線是否暢通,
有必要時就會自動重新啟動連線。
先在 PubS 上面作一些準備。 這部分都採用 root 的身份做事。
我喜歡建立一個拉管線專用、 最低權限的機器人帳號:
useradd sshbot -m -s
前一陣子查看了一下我的 apache 伺服器的 access.log,
發現竟然有成群結隊 (來自同一網段) 的惡意網頁爬蟲在輪流攻擊,
用 fail2ban
逐一擋根本對他們太客氣了, 甚至不一定擋得到。
於是改成連坐處分, 直接用 iptables 永久封鎖整個網段,
log 檔變得安靜多了。
請下載、 解壓縮 access.mal.log.gz。
這是我某一天的 log 檔。
一如以往, 以下大量使用 perl-compatible regular expressions。
先查看每一分鐘的流量:
perl -ne 'print "$1 $2:$3\n" if m#\[(\d\d)/[A-Z][a-z][a-z]/2023:(\d\d):(\d\d):#' access.mal.log | uniq -c | less
大部分時候, 每分鐘的瀏覽數是個位數字;
有些時段突然