零憶

零憶使用手冊

怎樣在 Windows 和 Android 上安裝零憶、設置好並日常使用。文中按鈕和菜單的名字和 App 的中文界面一致。English: ZeroMem user guide

只要記住三件事:口令忘了找不回,對方不在線發不出去,鎖定或退出後聊天記錄不保留。

安裝

Windows(Windows 10 或更新版本,64 位)

  1. 在下載區點「下載 Windows 版」,得到一個 zip 文件。
  2. 右鍵點這個 zip,選「全部解壓縮」,打開解壓出來的文件夾。不需要安裝,也不寫註冊表;整個文件夾都要留著,程序要用到裡面的其他文件。
  3. 運行 zeromem.exe。
  4. 程序還沒有代碼簽名,Windows SmartScreen 可能提示「Windows 已保護你的電腦」:點「更多信息」,再點「仍要運行」。

Android(Android 10 或更新版本)

  1. 在手機上打開下載區,點「下載 Android 版」。
  2. 打開下載的 APK。系統問是否允許瀏覽器安裝應用時,選允許,再返回點「安裝」。
  3. 有些手機會先檢查應用:Google Play 保護機制,或者很多國產手機的「純淨模式」、安全檢測。選擇繼續安裝即可,具體字眼因品牌而異。
  4. 第一次通話時零憶會請求麥克風權限,第一次掃碼時請求相機權限。
  5. 可選:想確認應用是我們簽名的,可以核對它的簽名證書 SHA-256 是否為 99:4D:41:BA:12:8E:34:E0:D7:81:47:0D:C0:D6:CF:B4:B3:6E:F8:EF:0C:AE:62:2D:8F:66:F4:D3:74:16:09:26。手機上的 AppVerifier 按這個格式顯示;電腦上的 apksigner verify --print-certs 顯示的是同一個值,只是小寫、沒有冒號。

可選:想確認文件沒有被改過,可以核對它的 SHA-256 和下載區顯示的是否一致(Windows 上用 PowerShell 的 Get-FileHash)。

從舊版升級

舊版本已經連不上:會提示「這個版本已不能連接,請更新應用。」,或者一直不在線。請按上面的方法安裝新版。身份、聯繫人和圈子都會帶過來;聊天記錄本來就不保留。

零憶 v19 或 v20

Unwritten 或零界(v18 及以前的名字)

還在用舊版的聯繫人,要等對方更新後才能和你聊天。

第一次使用

第一次打開會看到建立身份的頁面,這一步只做一次;在另一台設備上使用時改為導入身份(見換設備)。

  1. 輸入至少 8 個字符的口令,再在「再輸入一次」裡輸一遍。點眼睛可以看到自己輸入的內容。
  2. 「用戶名(別人用它找到你)」:3–20 位小寫字母、數字或下劃線。已被別人用了就換一個。
  3. 「許可證密鑰」:我們或你所在機構的管理員發給你的密鑰。一張許可證只給一個人用。
  4. 點「建立身份」。

「服務器設置」不要改,地址已經填好。界面語言在這個頁面底部選(「跟隨系統」「English」「繁體中文」),之後也可以在「設置」最上面改。

口令忘了就找不回:任何人都無法重置,包括我們。請選一個自己不會忘的口令,或者寫在紙上鎖好。

以後每次啟動都要輸入口令。輸錯 5 次,這台設備上的身份會自動銷毀;輸入框下方會顯示還能嘗試幾次。

以後更改用戶名或許可證密鑰

本機綁定

零憶會把身份文件綁定到這台設備的安全芯片(沒有芯片時綁定到系統密鑰庫),文件被拷走也無法在別的設備上打開。這是自動完成的,可以在「設置」→「保護與解鎖」→「本機綁定」看到。

可選:安全密鑰

FIDO2 安全密鑰給身份文件加第二把鎖:之後要「口令 + 這把密鑰」才打得開。密鑰要支持 hmac-secret,例如固件 5.7 以上的 YubiKey 5,或 Nitrokey 3。電腦需要 Windows 11 或較新的 Windows 10;手機需要 NFC 或 USB-C 接口。

  1. 「設置」→「保護與解鎖」→「添加安全密鑰」→「開始」,然後輸入口令。
  2. 把密鑰插入電腦,或者貼近手機背面、插入手機的 USB-C 接口。輸入密鑰的 PIN(沒有 PIN 時會讓你設置一個)並觸摸密鑰,一共兩次。
  3. 用同樣的方法通過「添加備用密鑰」再加一把(最多四把),並導出一份備份(見換設備)。備份只要口令就能打開,是密鑰丟失時找回身份的辦法。

安全密鑰取代本機綁定:帶著密鑰和口令,在別的設備上也能打開身份。解鎖時輸入口令,點「解鎖」,再插入或貼近密鑰,輸入 PIN 並觸摸。「取消安全密鑰鎖」會回到本機綁定。

聯繫人

添加聯繫人

  1. 打開左上角的菜單(手機上也可以點右下角的筆形按鈕),選「添加聯繫人」。
  2. 在「對方的用戶名或識別碼」裡輸入對方的用戶名。手機上也可以點「掃描二維碼」,掃對方「我的識別碼」頁面上的碼:當面掃到的,加好後直接算已核對。對方發給你的識別碼可以貼進來,以 ZM2- 開頭。
  3. 需要的話填「備註名(可不填)」,點「添加」。按用戶名查找可能要幾分鐘(「可能需要幾分鐘。」),可以等,也可以點「取消」。
  4. 請求會在幾分鐘內送出。對方在聊天列表上方的「新的聯繫人請求」裡看到你,在線時一般十分鐘左右;不在線時請求最多等 7 天。對方同意後就能聊天。

每天大約可以添加 16 個人。你自己的用戶名和識別碼在菜單的「我的識別碼」裡;一般把用戶名告訴對方就夠了。

聯繫人請求

點「新的聯繫人請求」。每個請求都可以:「同意」加為聯繫人,「忽略」丟掉請求,點拉黑按鈕(「拉黑:以後不再收到此人的請求」)拉黑對方,點盾牌按鈕(「核對安全碼」)在答覆前先核對安全碼。請求裡的名字是對方自己填的;「不是你聯繫人裡的名字」提醒你有人用了你某個聯繫人的名字。忽略和拉黑都不會通知對方。

之後在聯繫人的「聯繫人資料」裡可以「拉黑並刪除」或「刪除聯繫人」。解除拉黑:「設置」→「黑名單」→「移除」。

當面核對聯繫人

安全碼是一個二維碼和一串 60 位的數字,你和對方各自算出來,應該一模一樣。

  1. 在聊天頁面點頂部對方的名字,打開「聯繫人資料」。「未核對」下面的二維碼和 60 位數字就是安全碼。
  2. 手機上點「掃描對方的碼」,掃對方屏幕上的碼。不能掃碼時,當面或者在零憶以外的電話、短信裡比對這 60 位數字,一致就點「數字一致」,再點「標記」。
  3. 核對過的聯繫人名字旁邊顯示實心盾牌。對方也要在自己那邊核對一次。

掃碼時如果不一致,App 會說明是哪一邊存的不對。自己比對數字時 App 無法判斷,數字不同要靠你自己看出來。無論哪種情況,都不要標記為已核對,先當面確認對方是誰。

聯繫人的身份變了

聊天與文件

自己發的消息旁邊的標記:

標記意思
時鐘還在本機等著發出。
單勾已發出,等待確認。
雙勾「已送達」:對方設備已收到,不表示已讀。通常幾秒到二十秒左右出現。
未確認沒有及時等到確認,可能到了,也可能沒到。
未送達沒有送到。
2/3圈子裡應確認的 3 位成員中有 2 位已收到,不顯示是誰。

不會自動補發。自己發的一對一文字顯示「未送達」或「未確認」時,打開它的菜單選「再發一次」,對方只會看到一次。

通話

變聲

變聲默認開啟:對方聽到和錄到的不是你的真實嗓音,而且每通電話都不一樣。通話中點「變聲已開」就關掉,按鈕變成「變聲已關」,再點一次重新打開。「設置」→「通話」→「通話變聲」是同一個開關,你的選擇在之後的通話裡也保留。

圈子

鎖定與安全

換設備

身份只在一台設備上。換設備時:

  1. 在舊設備上:「設置」→「導出身份(換設備時使用)」,輸入口令,保存 .zsvault 文件。它用你的口令加密,包含身份、聯繫人和圈子。
  2. 把文件帶到新設備:U 盤、郵件、網盤都可以,文件本身是加密的。
  3. 在新設備上安裝零憶,在首頁點「已有身份?從其他設備導入」,選文件,輸入同一個口令,點「導入」。
  4. 然後在舊設備上用「緊急銷毀」銷毀身份(不要用「刪除賬戶」,那會刪掉你的用戶名)。同一個身份同一時間只在一台設備上用。

重裝操作系統、清除 TPM、卸載 Android 應用、恢復手機出廠設置之前,一定要先導出。這些都會讓設備上的身份文件再也打不開,沒有導出過就找不回。

新版本

刪除賬戶與緊急銷毀

機構管理

機構購買一定數量的席位,一個席位就是一張許可證,給一位成員用。機構的管理員在 zeromem.site/org 管理:

  1. 用我們給你的「管理密鑰」登錄。頁面不保存登錄:刷新或關閉頁面,或十分鐘沒有操作,就要重新登錄。
  2. 「簽發許可證」:填「數量」(不超過空餘的席位),點「簽發」。每個許可證密鑰只顯示一次,請交給對應的成員,成員第一次使用時填進「許可證密鑰」。
  3. 成員離開:「吊銷」他的許可證,並勾選「同時刪除這張許可證下的用戶名」。席位立刻空出來。
  4. 成員手機丟了:吊銷,再給他簽發一張新的。他導出過身份文件的話,在新手機上導入,再到「設置」→「服務器」→「許可證密鑰」填入新密鑰,點「保存並重新連接」(見以後更改用戶名或許可證密鑰),用戶名會跟著過去。他沒有導出過的話,要用新密鑰建立新身份:吊銷時同時刪除用戶名,他才能重新用這個名字。成員的 App 提示請聯繫管理員重置席位時,用「解除綁定(重置席位)」。
  5. 「刪除 @用戶名」在成員本人要求時刪除用戶名。

管理員看得到許可證、席位和用戶名,看不到消息、聯繫人、圈子或通話。

常見問題

你看到怎麼辦
「正在連接…」一直不消失,或「連不上許可證服務,請檢查服務器設置」檢查網絡,並確認設備時間準確。服務器地址已經填好,不要改。
「設備時間與服務器不一致,請打開自動設置時間。」在系統設置裡打開自動設置時間。時間對上後,App 在一分鐘左右自動連上。
「這個版本已不能連接,請更新應用。」安裝新版本(見新版本)。身份不受影響。
聯繫人顯示「離線」對方要打開並解鎖零憶,而且你們要互相添加過。對方明明在用卻一直顯示離線時,打開「聯繫人資料」→「重新連接」,對方可能也要按一次。
好友請求一直沒送到請求幾分鐘內送出,對方不在線時最多等 7 天。「好友請求暫時送不到對方。」說明對方還在用舊版或沒有用戶名:請對方更新並設置用戶名,或者雙方互相用識別碼添加。
「這張許可證已綁定另一個身份」請管理員或我們重置席位。
「許可證無效、已過期或已被吊銷」第一次使用時,核對輸入的密鑰。之後才出現的,可能是許可證換了:向管理員或我們要新密鑰,按以後更改用戶名或許可證密鑰填進去。
忘了口令找不回,我們也無法恢復你的身份:服務器上沒有任何能打開它的東西,導出的文件也要同一個口令才能打開。在輸入口令的頁面點「銷毀此身份」,建立新身份,重新添加聯繫人。建立新身份需要許可證密鑰:手上還有原來的密鑰,就先請管理員或我們重置你的席位;已經沒有了,就請管理員或我們吊銷舊許可證、同時刪除它下面的用戶名,再簽發一張新的,這樣你還能用回原來的用戶名。

其他問題:hello@zeromem.site。