Install
openclaw skills install @mosluce/line-oa-vnc-authUse when LINE Official Account access requires a user-operated temporary VNC/noVNC login, MFA/QR completion, session verification, and secure teardown.
openclaw skills install @mosluce/line-oa-vnc-auth此流程讓使用者在隔離的圖形化 Chromium 中自行完成 LINE Business ID 登入與 MFA,再由代理人於 LINE Official Account Manager 確認收件人、傳送指定訊息、驗證外發泡泡,最後關閉所有遠端存取服務。
帳密、MFA、QR 內容、Cookie 絕不可在聊天、命令列、截圖或日誌中要求、轉貼或保存。 使用者只能在 VNC 畫面的 LINE 網頁內輸入敏感資訊。
不要用於一般個人 LINE 帳號自動化、未獲授權的帳號登入,或可由既有已登入瀏覽器安全完成的工作。
Linux 範例套件(Debian/Ubuntu):
sudo apt-get update
sudo apt-get install -y chromium xvfb x11vnc novnc websockify cloudflared x11-apps xdotool openssl curl
確認:
command -v chromium Xvfb x11vnc websockify cloudflared xwd xdotool
若系統套件庫沒有 cloudflared,從 Cloudflare 官方 release 下載目前架構的 .deb,以 dpkg-deb -x 解壓到受限目錄,勿把未驗證的第三方安裝腳本直接 pipe 到 shell。若無 root 權限,也可將 .deb 解壓至專用目錄,並設定 LD_LIBRARY_PATH 指向其私有函式庫;每個二進位啟動前先以 ldd 檢查缺少的 shared libraries。
讀取 LINE OA chat URL。 從受限設定檔取得 chatUrl(例如 https://chat.line.biz/U...);不要把權杖或 Cookie 寫入設定。完成條件:只取得聊天管理網址。
建立隔離工作區與瀏覽器 profile。
BASE="$HOME/.line-oa-remote"
install -d -m 700 "$BASE/profile" "$BASE/tmp"
完成條件:profile 不與系統或代理人既有 Chrome profile 共用。
啟動本機虛擬桌面與隔離 Chromium。
Xvfb :99 -screen 0 1280x900x24 -nolisten tcp &
DISPLAY=:99 chromium --no-sandbox --disable-dev-shm-usage \
--user-data-dir="$BASE/profile" --window-size=1280,900 "$CHAT_URL" &
完成條件:X server 只供本機使用,Chromium 使用指定隔離 profile。
產生短效 VNC 密碼。 傳統 VNC 通常只支援前 8 個字元;產生 8 個高熵、可輸入的字元,檔案權限設為 600,並以 x11vnc -storepasswd 建立雜湊檔。只把一次性明文密碼私下傳給指定使用者;不得在日誌印出。
只綁定 loopback 的 VNC 與 noVNC。
x11vnc -display :99 -localhost -rfbauth "$BASE/vnc-passwd" \
-forever -shared -rfbport 5901 &
websockify --web /usr/share/novnc 127.0.0.1:6080 127.0.0.1:5901 &
curl -fsS http://127.0.0.1:6080/vnc.html >/dev/null
完成條件:VNC 僅監聽 127.0.0.1:5901,noVNC 僅監聽 127.0.0.1:6080,本機 vnc.html 回傳 200。
最後才建立 Cloudflare Quick Tunnel。
cloudflared tunnel --url http://127.0.0.1:6080 --no-autoupdate
從輸出擷取唯一 https://*.trycloudflare.com 網址,驗證 https://…/vnc.html 回傳 200。Quick Tunnel 是公開網址,不是存取控制;VNC 一次性密碼仍為必要保護。
給使用者最小指示。 傳送 noVNC 網址及短效 VNC 密碼,請他直接在遠端瀏覽器完成 LINE 登入。明確說明:不要在聊天中傳送 LINE 密碼、MFA、QR 或恢復碼。完成條件:使用者回覆已登入,或畫面可見聊天管理頁。
chat.line.biz 聊天管理介面,而非 account.line.biz 登入頁;確認目前 OA 帳號顯示正確。不可只依使用者口頭稱已登入。當一般瀏覽器自動化無法連上該隔離 Chromium 時,可擷取 virtual display:
DISPLAY=:99 xwd -root -silent > "$BASE/line-oa.xwd"
將 XWD 轉成 PNG 後用視覺工具確認登入狀態、收件人與外發泡泡。轉換後的截圖可能包含私人聊天內容;只供本次驗證使用,完成後刪除。
可用 xdotool 互動,但每次點擊前都必須從最新截圖重新確認座標與對話名稱。避免依舊截圖或猜測座標。
除非使用者明確要求保留本機已登入 session 以便緊接的後續工作,完成傳送與驗證後立即:
cloudflared,並驗證原 public noVNC URL 已無法使用(非 200/連線失敗)。ldd <binary> | grep 'not found' 找出缺少 library;安裝或解壓正確相依套件後再啟動,勿把警告一概當作登入失敗。