fchat: 熟朋友的免註冊聊天室

一、 使用方式

對話 1 一群彼此信任的熟朋友可以用 fchat 聊天。 不需要註冊帳號。 所有人可以共用一個 ssh 帳號登入, 然後各自標示自己的名字, 直接加入聊天。

每一位參與者用連線軟體 (請見附錄 A) 登入一個帳號 (請洽你的系統管理員), 然後下指令: fchat -r 查看目前大家的對話狀況。 (右圖 「對話 1」 下方的視窗)

另外又開一個連線、 再登入一次, 用這個指令參與對話: fchat 猴子 (假設你的姓名/外號叫做長頸廘)。 從此以後, 你每打完一句按 Enter 送出時, 所有人 (在 fchat -r 的那個視窗) 都會看到你的發言。 (右圖 「對話 1」 上方的視窗)

發文時, 除了可以用左右箭頭移動遊標之外, 也可以用上箭頭叫出前幾句話來修改。 更多控制鍵請參考 readline shortcuts

對話 2 右圖 「對話 2」 是另一位使用者小熊的桌面。 他也開了兩個連線視窗, 上面的視窗正在發言; 下面的視窗正在觀看大家的發言。

二、 對話記錄存檔

對話記錄存在 ~/fchat/ 子目錄底下。 如果是 2014 年 11 月 20 日開始的對話, 檔名就叫做 141120.txt 。 如果一天之中開啟了好次對話、 開了好幾場會, 可以這樣指定使用不同的檔名:
觀看大家發言: fchat -r -f ~/fchat/141120-cyim.txt
參與對話: fchat 大象 -f ~/fchat/141120-cyim.txt
每一位如此下指令的人, 都會參與同一個對話, 而對話內容會存在 ~/fchat/141120-cyim.txt 這個檔案裡面。

更簡單的方法是: 每一場會開完, 就用 mv 指令把舊的對話檔搬走、 封存。 這樣子, 下一場對話不需要指定檔名, 自然就會從零開始。

三、 給系統管理員

程式碼在此: fchat ; 你需要安裝一個 perl 模組 Caroline 才能使用 fchat。 詳見 「別讓倒退鍵不開心」

安全考量: 這是給彼此信任的好朋友們用的, 所以完全不考慮參與對話者之間的彼此防範。 比方說, 以下可能性都存在:

  1. 不同的對話群組可以看到彼此的對話;
  2. 任何人可以選用任何名字 (真名、 外號、 別人的名字、 ...) 參與對話;
  3. 可能一不小心就刪除了別人群組的對話;

另一方面, 這一切都在私有雲的 ssh 帳號內發生, 所以不會被 NSA 監聽 :-) 為了保護作業系統, 管理員可以考慮把這個公用帳號的 shell 改成 /bin/rbash 。

附錄 A、 連線方式

連線之前, 你需要向系統管理員要到三項資訊: 主機名稱 (例如 192.168.7.89) 、 帳號 (例如 fchat)、 密碼。

A-1 Linux

在 linux 底下, 直接下: ssh fchat@192.168.7.89 首次連線時, 要回答 "yes" (三個字母都要打) 表示信任對方主機。 然後輸入密碼即可。

A-2 Mac OS

在 Mac OS 底下, 下載 iTerm2, 然後跟 linux 下相同的指令。

A-3 Windows

在 Windows 底下, 請按照以下步驟:

  1. 連線 這一頁 右上角, 下載 pietty 到你的筆電, 解壓縮。 只有一個執行檔, 不必安裝。 直接執行 pietty.exe 。
  2. 輸入主機名稱; 其餘不必修改。 直接按 「連線」。
  3. 微軟還在用古代的字元編碼 (cp950 也就是 big5); 但這個世界已經改用萬國碼了 (utf8)。 請從 「選項」 => 「字元編碼」 => 勾選 「utf8」。 也請參考: 這一篇
  4. 修改字元編碼 看到 "login as:" , 輸入帳號, 按 Enter。 看到 "... password:", 再輸入密碼。 沒有反應, 連黑圈圈都沒有? 不必擔心, 矇著眼睛把密碼打完就對了。

A-4 所有作業系統

請下這個指令: fchat -r 以便追蹤所有人的發言。 把這個視窗拉得比全螢幕小一點, 上方留一點空白桌面。

另外開一個 ssh 或 iTerm2 或 pietty 連線登入。 (Windows 用戶再次修改字元編碼。) 把這個視窗拉得寬寬矮矮的, 疊在剛剛視窗的上方空白桌面處。 (像本頁最上方那兩張圖一樣。) 執行 fchat 猴子 (請把 「猴子」 改成你的大名 -- 這是要讓大家知道誰在發言的提示字串)

現在可以開始打字發言。 左右箭頭 Home/End 可用。 上箭頭可叫出先前講過的話, 編輯重發一次。 按下 Enter 才送出。

結束時, 可以按 ctrl-d 兩次, 優雅地退出及斷線; 也可以直接關閉 ssh/iTmer2/pietty 視窗。

至於先前那個 fchat -r 閱讀視窗, 則可直接關閉。