pi-courier 0.1.19 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/deploy/docker/Dockerfile +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +40 -15
- package/dist/setup.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -220,7 +220,7 @@ A: Historical events that can't be decrypted (new device without old keys). Norm
|
|
|
220
220
|
A: The bot's new device never received the room keys. The bot account has no cross-signing, so the most reliable fix is to **use a non-encrypted room** (create a room without encryption and invite the bot) — the bridge handles plain rooms fine even with `encryption: true`.
|
|
221
221
|
|
|
222
222
|
**Q: `M_BAD_JSON: Provided device_id in device_keys does not match...`?**
|
|
223
|
-
A: The crypto store
|
|
223
|
+
A: The crypto store's device identity doesn't match the token's device (re-logged, or a pasted token from another device). **Since 0.1.20 password login uses a fixed device ID, so re-running setup no longer triggers this.** If it still happens: delete the crypto store and restart — `rm -rf ~/.pi/pi-courier-matrix-crypto && pi-courier restart` (do this whenever you re-run setup / change the token).
|
|
224
224
|
|
|
225
225
|
**Q: `One time key signed_curve25519:... already exists` (M_UNKNOWN)?**
|
|
226
226
|
A: The token is bound to an old device on the server and the local OTK bookkeeping is out of sync — **deleting the local crypto store does NOT help** (the server assigns the device ID from the token, so a rebuilt store uses the same device). **You must get a new token**: re-run `pi-courier setup` and answer `n` to "keep the existing token?" (or log in with the password); a new token = a new device = clean server state. Pair with a crypto-store delete if device residue persists.
|
package/README.zh-CN.md
CHANGED
|
@@ -217,7 +217,7 @@ A: 历史消息无法解密(新设备没有旧密钥)。**正常**,新消息不
|
|
|
217
217
|
A: bot 的新设备没拿到房间密钥。bot 账号没有交叉签名,最可靠的解法是**用非加密房间**(新建房间时不勾选加密,把 bot 拉进来)—— 配置 `encryption: true` 也照常处理非加密房间。
|
|
218
218
|
|
|
219
219
|
**Q: 报 `M_BAD_JSON: Provided device_id in device_keys does not match...`?**
|
|
220
|
-
A:
|
|
220
|
+
A: 本地加密存储与 token 的设备身份不一致(换过 token / 粘贴了别的设备的 token)。**0.1.20 起用密码登录走固定 device_id,重跑 setup 不再出现此问题**。仍遇到时:删除加密存储重启 `rm -rf ~/.pi/pi-courier-matrix-crypto && pi-courier restart`(每次重跑 setup / 换 token 都顺手删一次)。
|
|
221
221
|
|
|
222
222
|
**Q: 报 `One time key signed_curve25519:... already exists`(M_UNKNOWN)?**
|
|
223
223
|
A: token 在服务器上已绑定旧设备,但本地与服务器的 OTK 记账错位 —— **删本地 crypto store 无效**(device ID 由服务器按 token 指定,删了重建还是同一个)。**必须换 token**:重跑 `pi-courier setup`,在"保留现有 token?"处输 `n` 重新获取(或直接密码登录),新 token = 新设备 = 服务器干净。换 token 后如遇 device 残留问题再配合删 crypto store。
|
package/deploy/docker/Dockerfile
CHANGED
|
@@ -22,7 +22,7 @@ ENV https_proxy=${HTTPS_PROXY} \
|
|
|
22
22
|
|
|
23
23
|
# pi-courier 版本:发新版本后更新此值 —— RUN 层指令文本随之变化,
|
|
24
24
|
# docker 缓存自动失效,不会装到旧版(避免"升级了但镜像还是旧代码"的坑)
|
|
25
|
-
ARG PI_COURIER_VERSION=0.1.
|
|
25
|
+
ARG PI_COURIER_VERSION=0.1.20
|
|
26
26
|
|
|
27
27
|
# 仅需要 ca-certificates(npm install 走 https;git 由 runtime 层负责)
|
|
28
28
|
RUN apt-get update \
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2KH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAiG9C"}
|
package/dist/setup.js
CHANGED
|
@@ -95,16 +95,22 @@ function createPrompter() {
|
|
|
95
95
|
},
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
-
async function matrixLogin(homeserver, username, password) {
|
|
98
|
+
async function matrixLogin(homeserver, username, password, deviceId) {
|
|
99
99
|
const url = `${homeserver.replace(/\/$/, "")}/_matrix/client/v3/login`;
|
|
100
|
+
const body = {
|
|
101
|
+
type: "m.login.password",
|
|
102
|
+
identifier: { type: "m.id.user", user: username },
|
|
103
|
+
password,
|
|
104
|
+
};
|
|
105
|
+
if (deviceId) {
|
|
106
|
+
// 固定 device_id:同一 bot 账号重跑 setup 时复用同一个设备身份,
|
|
107
|
+
// 避免换 token 后设备变化导致 M_BAD_JSON / 历史密钥丢失。
|
|
108
|
+
body.device_id = deviceId;
|
|
109
|
+
}
|
|
100
110
|
const res = await fetch(url, {
|
|
101
111
|
method: "POST",
|
|
102
112
|
headers: { "Content-Type": "application/json" },
|
|
103
|
-
body: JSON.stringify(
|
|
104
|
-
type: "m.login.password",
|
|
105
|
-
identifier: { type: "m.id.user", user: username },
|
|
106
|
-
password,
|
|
107
|
-
}),
|
|
113
|
+
body: JSON.stringify(body),
|
|
108
114
|
});
|
|
109
115
|
if (!res.ok) {
|
|
110
116
|
const body = await res.text();
|
|
@@ -123,10 +129,19 @@ async function matrixWhoami(homeserver, accessToken) {
|
|
|
123
129
|
const data = (await res.json());
|
|
124
130
|
return data.user_id ?? "unknown";
|
|
125
131
|
}
|
|
132
|
+
/** Random 8-char uppercase alnum suffix for the fixed device ID. */
|
|
133
|
+
function randomDeviceSuffix() {
|
|
134
|
+
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
|
135
|
+
let out = "";
|
|
136
|
+
for (let i = 0; i < 8; i++) {
|
|
137
|
+
out += chars[Math.floor(Math.random() * chars.length)];
|
|
138
|
+
}
|
|
139
|
+
return out;
|
|
140
|
+
}
|
|
126
141
|
/**
|
|
127
142
|
* Acquire a Matrix access token: password login (mode 1) or pasted token (mode 2).
|
|
128
143
|
*/
|
|
129
|
-
async function acquireToken(ask, homeserver) {
|
|
144
|
+
async function acquireToken(ask, homeserver, deviceId) {
|
|
130
145
|
const authMode = ((await ask("获取 token 方式 [1=用户名密码登录, 2=粘贴已有 token] (1): ")).trim() || "1");
|
|
131
146
|
if (authMode === "2") {
|
|
132
147
|
const accessToken = (await ask("粘贴 access token (syt_...): ")).trim();
|
|
@@ -142,8 +157,8 @@ async function acquireToken(ask, homeserver) {
|
|
|
142
157
|
if (!username || !password)
|
|
143
158
|
throw new Error("用户名/密码不能为空");
|
|
144
159
|
console.log("登录中…");
|
|
145
|
-
const login = await matrixLogin(homeserver, username, password);
|
|
146
|
-
console.log(`✅ 登录成功,账号: ${login.userId}`);
|
|
160
|
+
const login = await matrixLogin(homeserver, username, password, deviceId);
|
|
161
|
+
console.log(`✅ 登录成功,账号: ${login.userId}${deviceId ? `(设备 ${deviceId})` : ""}`);
|
|
147
162
|
return { accessToken: login.accessToken, botUserId: login.userId };
|
|
148
163
|
}
|
|
149
164
|
export async function runSetup() {
|
|
@@ -162,7 +177,15 @@ export async function runSetup() {
|
|
|
162
177
|
const homeserver = (await ask(hsPrompt)).trim() || hsDefault;
|
|
163
178
|
if (!homeserver)
|
|
164
179
|
throw new Error("homeserver URL 不能为空");
|
|
165
|
-
// ---- 2.
|
|
180
|
+
// ---- 2.5 fixed device id ------------------------------------------------
|
|
181
|
+
// Same bot account re-running setup reuses the same device (identity is
|
|
182
|
+
// kept, history keys survive); delete the field to force a new device.
|
|
183
|
+
// Only password login uses it; a pasted token keeps its own device.
|
|
184
|
+
let deviceId = existing.deviceId;
|
|
185
|
+
if (!deviceId) {
|
|
186
|
+
deviceId = `PICOURIER${randomDeviceSuffix()}`;
|
|
187
|
+
}
|
|
188
|
+
// ---- 3. token ----------------------------------------------------------
|
|
166
189
|
// Keep the existing token when the homeserver is unchanged; otherwise it
|
|
167
190
|
// belongs to another server and must be re-acquired.
|
|
168
191
|
const hsChanged = Boolean(hsDefault) && homeserver !== hsDefault;
|
|
@@ -177,27 +200,27 @@ export async function runSetup() {
|
|
|
177
200
|
console.log(`✅ 沿用现有 token,账号: ${botUserId}`);
|
|
178
201
|
}
|
|
179
202
|
else {
|
|
180
|
-
({ accessToken, botUserId } = await acquireToken(ask, homeserver));
|
|
203
|
+
({ accessToken, botUserId } = await acquireToken(ask, homeserver, deviceId));
|
|
181
204
|
}
|
|
182
205
|
}
|
|
183
206
|
else {
|
|
184
207
|
if (hsChanged)
|
|
185
208
|
console.log("ℹ️ homeserver 已变更,需要重新获取 token");
|
|
186
|
-
({ accessToken, botUserId } = await acquireToken(ask, homeserver));
|
|
209
|
+
({ accessToken, botUserId } = await acquireToken(ask, homeserver, deviceId));
|
|
187
210
|
}
|
|
188
|
-
// ----
|
|
211
|
+
// ---- 4. trusted admin user ---------------------------------------------
|
|
189
212
|
const trustedDefault = existing.auth?.trustedUsers?.[0]?.replace(/^matrix:/, "") ?? botUserId;
|
|
190
213
|
const adminRaw = (await ask(`信任用户(管理员)MXID [默认 ${trustedDefault}]: `)).trim() || trustedDefault;
|
|
191
214
|
if (!adminRaw.startsWith("@"))
|
|
192
215
|
throw new Error("MXID 应以 @ 开头,如 @barry:matrix.example.com");
|
|
193
|
-
// ----
|
|
216
|
+
// ---- 5. E2EE ------------------------------------------------------------
|
|
194
217
|
const encDefault = existing.matrix?.encryption === true;
|
|
195
218
|
const encPrompt = encDefault
|
|
196
219
|
? "启用 E2EE 加密? [Y/n] [默认 是]: "
|
|
197
220
|
: "启用 E2EE 加密? [y/N]: ";
|
|
198
221
|
const encAnswer = (await ask(encPrompt)).trim().toLowerCase();
|
|
199
222
|
const encryption = encAnswer === "" ? encDefault : encAnswer === "y";
|
|
200
|
-
// ----
|
|
223
|
+
// ---- 6. workdir ----------------------------------------------------------
|
|
201
224
|
const workdirDefault = existing.workdir ?? `${os.homedir()}/Projects`;
|
|
202
225
|
const workdir = (await ask(`pi 工作目录 [默认 ${workdirDefault}]: `)).trim() || workdirDefault;
|
|
203
226
|
// ---- merge & save --------------------------------------------------------
|
|
@@ -212,6 +235,7 @@ export async function runSetup() {
|
|
|
212
235
|
adminUserId: `matrix:${adminRaw}`,
|
|
213
236
|
},
|
|
214
237
|
workdir,
|
|
238
|
+
deviceId,
|
|
215
239
|
autoConnect: existing.autoConnect ?? true,
|
|
216
240
|
debug: existing.debug ?? true,
|
|
217
241
|
};
|
|
@@ -221,6 +245,7 @@ export async function runSetup() {
|
|
|
221
245
|
console.log(` 信任用户: ${adminRaw}`);
|
|
222
246
|
console.log(` E2EE: ${encryption ? "开启" : "关闭"}`);
|
|
223
247
|
console.log(` 工作目录: ${workdir}`);
|
|
248
|
+
console.log(` 设备 ID: ${deviceId}(固定,重跑 setup 复用;想换设备就删掉此字段)`);
|
|
224
249
|
console.log("\n下一步: pi-courier enable(开机自启)或 pi-courier run(前台运行)");
|
|
225
250
|
}
|
|
226
251
|
catch (err) {
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -50,6 +50,12 @@ export interface MsgBridgeConfig {
|
|
|
50
50
|
cliPath?: string;
|
|
51
51
|
/** 日志级别:debug | info | warn | error(默认 info;`pi-courier logs --level debug` 可查看全量) */
|
|
52
52
|
logLevel?: string;
|
|
53
|
+
/**
|
|
54
|
+
* 固定设备 ID(仅密码登录适用):重跑 setup 时复用同一个设备,
|
|
55
|
+
* 避免换 token 后设备身份变化导致 M_BAD_JSON / 历史密钥丢失。
|
|
56
|
+
* 由 setup 生成并持久化;删除此字段可重新生成(新设备身份)。
|
|
57
|
+
*/
|
|
58
|
+
deviceId?: string;
|
|
53
59
|
}
|
|
54
60
|
/**
|
|
55
61
|
* Pending remote chat session tracking
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;SAAE,CAAC,CAAC;KAC5F,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;SAAE,CAAC,CAAC;KAC5F,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
package/package.json
CHANGED