claude-remote 0.3.1 → 0.4.1

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.
Files changed (3) hide show
  1. package/README.md +51 -3
  2. package/package.json +1 -1
  3. package/server.js +1844 -1678
package/README.md CHANGED
@@ -59,9 +59,56 @@ claude-remote /path/to/project --resume abc123
59
59
  PORT=8080 claude-remote
60
60
  ```
61
61
 
62
- ### 3. App 连接
62
+ ### 3. 安全认证
63
63
 
64
- 安装 Android App 后,在设置页输入服务器地址连接。根据你的网络环境,有以下三种方式:
64
+ `claude-remote` 内置 Token 鉴权机制,防止未授权的客户端控制你的 Claude Code。
65
+
66
+ #### 工作原理
67
+
68
+ 1. **首次启动时自动生成 Token** —— 桥接器启动后会自动生成一个随机 Token,持久化到 `~/.claude-remote-token` 文件,并在启动 banner 中显示
69
+ 2. **客户端必须提供 Token** —— App 在添加/编辑服务器时填入 Token,连接时通过 `hello` 握手消息发送给服务器
70
+ 3. **服务器验证 Token** —— 使用 `crypto.timingSafeEqual` 安全比对,防止时序攻击。验证通过后才发送会话数据
71
+ 4. **认证超时** —— 连接后 5 秒内未完成认证将被自动断开(close code 4002)
72
+ 5. **认证失败** —— Token 不匹配时连接立即关闭(close code 4001),App 会弹出编辑对话框提示修正
73
+
74
+ #### Token 来源优先级
75
+
76
+ | 优先级 | 来源 | 说明 |
77
+ |--------|------|------|
78
+ | 1 | `--token <value>` | CLI 参数,最高优先级 |
79
+ | 2 | `CLAUDE_REMOTE_TOKEN` 环境变量 | 适合 CI/脚本场景 |
80
+ | 3 | `~/.claude-remote-token` 文件 | 自动生成并持久化,首次启动时创建 |
81
+
82
+ ```bash
83
+ # 使用自定义 Token
84
+ claude-remote --token my-secret-token
85
+
86
+ # 通过环境变量
87
+ CLAUDE_REMOTE_TOKEN=my-secret-token claude-remote
88
+
89
+ # 默认行为:自动生成并保存到 ~/.claude-remote-token
90
+ claude-remote
91
+ ```
92
+
93
+ #### 禁用认证
94
+
95
+ > ⚠️ 仅在安全网络环境下使用,如本地开发或 VPN 内网。
96
+
97
+ ```bash
98
+ # CLI 参数
99
+ claude-remote --no-auth
100
+
101
+ # 环境变量
102
+ NO_AUTH=1 claude-remote
103
+ ```
104
+
105
+ #### App 端配置
106
+
107
+ 在连接中心添加或编辑服务器时,填入 Token 字段即可。Token 输入框支持密码显示/隐藏切换。认证失败时 App 会自动弹出编辑对话框,方便修正 Token。
108
+
109
+ ### 4. App 连接
110
+
111
+ 安装 Android App 后,在连接中心添加服务器地址连接。根据你的网络环境,有以下三种方式:
65
112
 
66
113
  #### 方式一:局域网直连
67
114
 
@@ -107,7 +154,7 @@ wss://xxx.trycloudflare.com
107
154
 
108
155
  > 适合在外网或移动网络下远程控制,支持 HTTPS/WSS 加密。
109
156
 
110
- ### 4. 编译 Android App
157
+ ### 5. 编译 Android App
111
158
 
112
159
  ```bash
113
160
  cd app
@@ -143,6 +190,7 @@ npx tauri android dev
143
190
  | 工具调用追踪 | 折叠式 step group,shimmer 加载动效 |
144
191
  | 权限队列 | 批量审批,计数器显示剩余数量 |
145
192
  | 模式切换 | 四种模式一键切换,彩色状态标识 |
193
+ | Token 鉴权 | 自动生成 Token,timingSafeEqual 安全比对,防止未授权访问 |
146
194
  | 对话压缩 | /compact 带 spinner 遮罩,压缩完自动恢复 |
147
195
  | 斜杠命令菜单 | 输入 `/` 弹出命令面板 |
148
196
  | 模型切换 | 底部面板选择,toast 即时反馈 |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-remote",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "description": "Remote control bridge for Claude Code REPL - drive from phone/WebUI",
5
5
  "main": "server.js",
6
6
  "bin": {