编程

line-oa-vnc-auth

试用

Use when LINE Official Account access requires a user-operated temporary VNC/noVNC login, MFA/QR completion, session verification, and secure teardown.

它能做什么

Use when LINE Official Account access requires a user-operated temporary VNC/noVNC login, MFA/QR completion, session verification, and secure teardown.

技能文档

LINE OA:透過暫時 VNC 驗證登入

Overview

此流程讓使用者在隔離的圖形化 Chromium 中自行完成 LINE Business ID 登入與 MFA,再由代理人於 LINE Official Account Manager 確認收件人、傳送指定訊息、驗證外發泡泡,最後關閉所有遠端存取服務。

帳密、MFA、QR 內容、Cookie 絕不可在聊天、命令列、截圖或日誌中要求、轉貼或保存。 使用者只能在 VNC 畫面的 LINE 網頁內輸入敏感資訊。

When to Use

  • 使用者要求從 LINE Official Account Manager 發送訊息,但遠端瀏覽器尚未登入。
  • 使用者要求透過 VNC/noVNC 自行執行 LINE 登入或二次驗證。
  • 需要在登入後,確認正確 LINE 對話與外發訊息結果。

不要用於一般個人 LINE 帳號自動化、未獲授權的帳號登入,或可由既有已登入瀏覽器安全完成的工作。

Required Components

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。

Secure Session Setup

  1. 讀取 LINE OA chat URL。 從受限設定檔取得 chatUrl(例如 https://chat.line.biz/U...);不要把權杖或 Cookie 寫入設定。完成條件:只取得聊天管理網址。

  2. 建立隔離工作區與瀏覽器 profile。

    BASE="$HOME/.line-oa-remote"
    install -d -m 700 "$BASE/profile" "$BASE/tmp"
    

    完成條件:profile 不與系統或代理人既有 Chrome profile 共用。

  3. 啟動本機虛擬桌面與隔離 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。

  4. 產生短效 VNC 密碼。 傳統 VNC 通常只支援前 8 個字元;產生 8 個高熵、可輸入的字元,檔案權限設為 600,並以 x11vnc -storepasswd 建立雜湊檔。只把一次性明文密碼私下傳給指定使用者;不得在日誌印出。

  5. 只綁定 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。

  6. 最後才建立 Cloudflare Quick Tunnel。

    cloudflared tunnel --url http://127.0.0.1:6080 --no-autoupdate
    

    從輸出擷取唯一 https://*.trycloudflare.com 網址,驗證 https://…/vnc.html 回傳 200。Quick Tunnel 是公開網址,不是存取控制;VNC 一次性密碼仍為必要保護。

  7. 給使用者最小指示。 傳送 noVNC 網址及短效 VNC 密碼,請他直接在遠端瀏覽器完成 LINE 登入。明確說明:不要在聊天中傳送 LINE 密碼、MFA、QR 或恢復碼。完成條件:使用者回覆已登入,或畫面可見聊天管理頁。

Login Verification and Sending

  1. 獨立驗證登入。 確認頁面是 chat.line.biz 聊天管理介面,而非 account.line.biz 登入頁;確認目前 OA 帳號顯示正確。不可只依使用者口頭稱已登入。
  2. 確認對話目標。 在聊天列表找到使用者指定名稱,打開對話,並在 UI 看到正確名稱才可輸入。名稱模糊、重複或不存在時,停止並請使用者選擇。
  3. 只發送已核准的精確文字。 點選輸入框,輸入指定內容,再按 Send/Enter。不要夾帶簽名、測試文字或自動回覆。
  4. 驗證結果。 截取當前 X display 或檢查 DOM,確認正確對話中的最新外發泡泡內容完全一致。只回報 UI 顯示的狀態;外發泡泡表示已送出,不能推論「已送達」或「已讀」。

X11 Screenshot Fallback

當一般瀏覽器自動化無法連上該隔離 Chromium 時,可擷取 virtual display:

DISPLAY=:99 xwd -root -silent > "$BASE/line-oa.xwd"

將 XWD 轉成 PNG 後用視覺工具確認登入狀態、收件人與外發泡泡。轉換後的截圖可能包含私人聊天內容;只供本次驗證使用,完成後刪除。

可用 xdotool 互動,但每次點擊前都必須從最新截圖重新確認座標與對話名稱。避免依舊截圖或猜測座標。

Teardown (Required)

除非使用者明確要求保留本機已登入 session 以便緊接的後續工作,完成傳送與驗證後立即:

  1. 先停止 cloudflared,並驗證原 public noVNC URL 已無法使用(非 200/連線失敗)。
  2. 停止 websockify/noVNC、x11vnc、Chromium 與 Xvfb。
  3. 安全刪除 VNC 明文、雜湊密碼檔、暫存 QR、XWD/PNG 截圖與任何 temporary access artifacts。
  4. 若使用者明確要求保留登入,才可保留隔離 browser profile 與存活的本機 Chromium/Xvfb;仍必須關閉 tunnel、noVNC、VNC,刪除一次性 VNC 密碼,並說明 session 無法保證跨重啟持續。

Common Pitfalls

  1. VNC 密碼被拒絕。 多數 RFB 實作有效密碼僅 8 字元;更換為新的隨機 8 字元密碼並重啟 x11vnc。不要重用或請使用者貼回密碼。
  2. 一次性 VNC 密碼誤貼到公開/群組聊天。 立刻停止 x11vnc、作廢並刪除舊密碼檔,產生新的 8 字元高熵密碼後才可重啟;舊 tunnel URL 或舊密碼一律視為失效。不要在後續訊息引用外洩的密碼。
  3. 把 Quick Tunnel 當作安全機制。 Quick Tunnel 是公開的;必須加上高熵短效 VNC 密碼,並在完成後關閉。
  4. browser tool 與 VNC browser 是不同 session。 以 X11 screenshot/實際 UI 驗證隔離 browser 的狀態,不要假設一方登入代表另一方登入。
  5. 容器缺少 x11vnc 依賴。ldd | grep 'not found' 找出缺少 library;安裝或解壓正確相依套件後再啟動,勿把警告一概當作登入失敗。
  6. 誤稱已送達或已讀。 除非 LINE UI 明確顯示,僅能說「已看到外發訊息泡泡」。
  7. 未清理遠端桌面。 沒有使用者明確保留要求時,這是安全缺陷;必須關閉 tunnel 並刪除短效憑證。

Verification Checklist

  • 使用隔離 Chromium profile 與專用 Xvfb display
  • x11vnc/noVNC 均只綁定 loopback
  • 使用者自行在畫面內處理 LINE 帳密與 MFA
  • public noVNC URL 與 VNC 一次性密碼已測試可用
  • 已在 UI 確認正確 OA 帳號、對話名稱與訊息內容
  • 已看到對應最新外發泡泡,且報告未超過 UI 證據
  • tunnel、noVNC、VNC、browser、Xvfb 已停止(或獲明確允許保留 browser session)
  • VNC 密碼、登入畫面與聊天截圖等暫存檔已清除

相关技能

Send explicitly authorized LINE Official Account Chat messages through a persistent Chromium session; user-operated LINE login or reauthentication may use a temporary remote noVNC handoff that grants interactive browser control.

One-click deploy remote visual browser — Linux noVNC + Chromium + CDP for headless servers, Windows direct Edge/Chrome CDP takeover. AI Agent and user share...

1 次安装

做自动发抖音、自动发小红书等等各大平台的网页自动化,还在被滑块、验证码、人机验证卡到任务翻车、反复失败?试试这个一键部署的远程可视化浏览器:Linux(云服务器/NAS/本地)noVNC + Chromium + CDP 三合一,Windows 本机 Edge/Chrome CDP 一键接管,让AI Agent和...

1 次安装

让 OpenClaw 智能体拿到 OAuth 令牌和手动密钥,全程不出现明文凭据。

49 次安装

LINE (line.me). Use this skill for ANY LINE request — reading, creating, and updating data. Whenever a task involves LINE, use this skill instead of calling the API directly.

Verify and cross-sign the active Matrix device for one OpenClaw-managed account. Use when a user needs to repair trust for an OpenClaw Matrix device, confirm...

30 次安装