Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
504 lines (485 loc) · 27.5 KB
/
Copy pathindex.html
File metadata and controls
504 lines (485 loc) · 27.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>MoX · 一个独立开发者的工具宇宙</title>
<link rel="icon" href="favicon.svg" type="image/svg+xml">
<meta name="description" content="MoX 系列 —— moxsh 液态玻璃终端、moxwebgpu WebGPU 计算框架、mox-id 统一身份后端。把桌面级工具搬进掌心,算力下推到你的设备。">
<meta name="color-scheme" content="dark">
<!-- 预热外域连接:GitHub 授权页跳出更快,头像加载零延迟 -->
<link rel="preconnect" href="https://github.com" crossorigin>
<link rel="dns-prefetch" href="https://github.com">
<link rel="preconnect" href="https://avatars.githubusercontent.com" crossorigin>
<link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' https://avatars.githubusercontent.com data:; connect-src 'self' https://mox-site.pages.dev; font-src 'self'; object-src 'none'; base-uri 'none'; form-action 'self'; upgrade-insecure-requests">
<meta name="referrer" content="strict-origin-when-cross-origin">
<link rel="stylesheet" href="index.css">
</head>
<body>
<nav class="glass">
<div class="brand"><span class="mark"></span><span>MoX</span></div>
<div class="links">
<a href="#products">产品</a>
<a href="#features">moxsh 特性</a>
<a href="experience.html">在线体验</a>
<a href="#account">云同步 / 账号</a>
<a href="#download">下载</a>
<a href="#plans">规划</a>
<a href="#roadmap">路线图</a>
<a href="#vision">愿景</a>
<a href="#community">社区</a>
<a href="#contact">联系</a>
<a class="lang" href="index.en.html">EN</a>
<span id="authSlot"></span>
</div>
</nav>
<header class="wrap">
<span class="eyebrow"><span class="dot"></span>MoX 系列 · 独立开发者的工具宇宙</span>
<h1>把桌面级能力,<br><span class="em">装进你的掌心</span>。</h1>
<p class="sub">MoX 是一组独立打造的工具:液态玻璃终端、WebGPU 计算框架、统一身份与云同步后端……它们共享同一套账号与云同步,把算力下推到你的设备,而不是搬去云端。</p>
<div class="hero-cta">
<a class="btn primary" href="#products">看看 MoX 全家桶</a>
<a class="btn" href="#download">获取 moxsh</a>
<a class="btn" href="#account">统一账号怎么用</a>
</div>
<div class="stage">
<div class="device glass" id="device" aria-hidden="true">
<div class="notch"></div>
<div class="screen">
<div class="ln"><span class="p">moxsh</span> <span class="c">❯</span> neofetch</div>
<div class="ln"><span class="g">moxsh</span> 2.1.0 · Android 15</div>
<div class="ln">Rust 内核 · 120Hz 渲染</div>
<div class="ln"> </div>
<div class="ln"><span class="p">moxsh</span> <span class="c">❯</span> pkg install neovim</div>
<div class="ln">resolving… <span class="g">done</span></div>
<div class="ln">fetching… <span class="g">done</span></div>
<div class="ln"> </div>
<div class="ln"><span class="p">moxsh</span> <span class="c">❯</span> <span class="cur"></span></div>
</div>
</div>
</div>
</header>
<!-- ===== 站点公告(后台发布,/notices 公开只读)===== -->
<section id="noticeBar" class="wrap" style="display:none">
<div class="glass" style="padding:14px 18px;margin-bottom:22px">
<div style="display:flex;align-items:center;gap:10px;flex-wrap:wrap">
<span class="status on" id="noticeLevel">📢 公告</span>
<b id="noticeTitle" style="font-size:14px">—</b>
<span style="margin-left:auto;font-size:12px;color:var(--dim)" id="noticeTime"></span>
</div>
<div id="noticeBody" style="margin-top:8px;font-size:13px;line-height:1.7;white-space:pre-wrap"></div>
</div>
</section>
<!-- ===== 产品矩阵 ===== -->
<section id="products" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">MoX 全家桶</div>
<p class="sec-desc">同一个账号、同一套云同步,把不同场景的工具串起来。已上线的直接可用,规划中的是接下来的方向。</p>
</div>
<div class="grid">
<div class="card glass fadeup">
<span class="status on">✅ 已上线</span>
<h3>moxsh</h3>
<p>跑在 Android 上的液态玻璃终端。Rust 自研内核,全面兼容 Termux 生态,无需 root、装上即用。</p>
<a class="more" href="#features">看它强在哪 ↓</a>
</div>
<div class="card glass fadeup">
<span class="status on">✅ 已上线</span>
<h3>mox-id</h3>
<p>MoX 的统一身份与账户底座:任意 GitHub 用户一键登录,云同步、会员、计费、管理后台都从这里走。</p>
<a class="more" href="#account">账号与云同步 ↓</a>
</div>
<div class="card glass fadeup">
<span class="status dev">✅ 开源 · v1.0</span>
<h3>moxwebgpu</h3>
<p>零依赖的 WebGPU 通用计算(GPGPU)框架:类型化张量、原始 WGSL Kernel、惰性计算图。算力下推到访客浏览器的 GPU。</p>
<a class="more" href="webgpu/">看实时演示 →</a>
</div>
<div class="card glass fadeup">
<span class="status plan">规划中 · 待定</span>
<h3>moxbox</h3>
<p>文件管理与系统套件:把手机存储、进程、网络都装进同一套玻璃界面。</p>
</div>
<div class="card glass fadeup">
<span class="status plan">规划中 · 待定</span>
<h3>moxcode</h3>
<p>移动端轻量 IDE:终端 + 编辑器 + 运行预览一体,掌心里写代码。</p>
</div>
</div>
</section>
<!-- ===== moxsh 特性(旗舰产品深讲) ===== -->
<section id="features" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">为「快」与「美」造的终端</div>
<p class="sec-desc">moxsh 是 MoX 的旗舰产品:内核用 Rust 重写,界面用液态玻璃重绘。每一项体验,都从底层重新考虑过。</p>
</div>
<div class="grid">
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><path d="M4 5h16v11H7l-3 3V5z"/><path d="M8 9l3 3-3 3"/><path d="M13 15h3"/></svg></div>
<h3>Rust 内核</h3>
<p>PTY、VT 解析、回滚、渲染调度、包管理验签全部用 Rust,内存安全且快。</p>
</div>
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><path d="M12 3l7 4v6c0 4-3 7-7 8-4-1-7-4-7-8V7l7-4z"/></svg></div>
<h3>液态玻璃界面</h3>
<p>实时模糊、半透明层级、顶部高光反射与折射边——像真玻璃,不像贴图。</p>
</div>
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><path d="M21 8l-9-5-9 5 9 5 9-5z"/><path d="M3 8v8l9 5 9-5V8"/><path d="M12 13v8"/></svg></div>
<h3>Termux 兼容</h3>
<p>直接吃 Termux 官方源,<code>*.deb</code> 能装能跑,命令用法与生态完全一致。</p>
</div>
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="6" rx="1"/><rect x="3" y="14" width="18" height="6" rx="1"/><path d="M7 7h.01M7 17h.01"/></svg></div>
<h3>PRoot 发行版</h3>
<p>Ubuntu / Debian / Kali / Alpine 一键安装,隔离环境随便玩,不碰系统。</p>
</div>
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><path d="M12 3l1.8 4.6L18 9l-4.2 1.4L12 15l-1.8-4.6L6 9l4.2-1.4z"/><path d="M18 15l.9 2.3L21 18l-2.1.7L18 21l-.9-2.3L15 18l2.1-.7z"/></svg></div>
<h3>AI 助手</h3>
<p>解释报错、写脚本、管环境;支持 DeepSeek / 智谱 / 通义 / Kimi 等模型。</p>
</div>
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><path d="M12 3l7 3v5c0 4-3 7-7 8-4-1-7-4-7-8V6l7-3z"/><path d="M9 12l2 2 4-4"/></svg></div>
<h3>加固 IPC</h3>
<p>挑战-响应 + HMAC-SHA256 鉴权,跨进程调用不裸奔,插件也安全。</p>
</div>
</div>
</section>
<!-- ===== 统一账号 / 云同步 ===== -->
<section id="account" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">一个 MoX 账号,串起所有设备</div>
<p class="sec-desc">所有 MoX 产品共用同一套身份(由 <b>mox-id</b> 后端提供)。登录后,普通用户和管理员各取所需。</p>
</div>
<div class="grid">
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75"/></svg></div>
<h3>普通用户 · 云同步</h3>
<p>多设备配置、命令历史实时同步;AI 助手额度跨设备共享。任意 GitHub 用户都能登录,免费起步。</p>
</div>
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><path d="M12 2l8 4v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V6l8-4z"/><path d="M9 12l2 2 4-4"/></svg></div>
<h3>管理员 · 管理后台</h3>
<p>登录后自动出现「管理后台」入口,用于会员档位、计费对账、内容管理与运营数据。入口是秘径,只下发给管理员本人。</p>
</div>
<div class="card glass fadeup">
<div class="ico"><svg viewBox="0 0 24 24"><rect x="4" y="11" width="16" height="9" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></svg></div>
<h3>安全说明</h3>
<p>通过 GitHub 登录,凭证仅存本地;云同步内容在客户端加密后才上传,服务端看不到明文。支持一键退出。</p>
</div>
</div>
<div class="glass support fadeup" style="margin-top:22px">
<div class="sec-title" style="font-size:24px">想先试试?</div>
<p class="sec-desc">点右上角「登录」即可用 GitHub 账号进入。普通用户直接享受云同步,管理员会看到专属后台入口。</p>
<a class="btn primary" id="loginCta" href="#">登录 MoX 账号</a>
</div>
</section>
<!-- ===== 规划 ===== -->
<section id="plans" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">未来规划 · 待定</div>
<p class="sec-desc">moxsh / mox-id / moxwebgpu 之后,我们想沿着「把桌面级工具搬进掌心」继续探索。下面只是<b>可能的方向</b>——<b>可能做,也可能永远不做</b>,一切以实际发布为准。</p>
</div>
<div class="plans">
<div class="plan fadeup">
<span class="tag">规划中 · 待定</span>
<h3>moxbox</h3>
<p>文件管理与系统套件:把手机存储、进程、网络都装进同一套玻璃界面。</p>
<div class="note">※ 尚处于设想阶段,不代表任何发布承诺。</div>
</div>
<div class="plan fadeup">
<span class="tag">规划中 · 待定</span>
<h3>moxcode</h3>
<p>移动端轻量 IDE:终端 + 编辑器 + 运行预览一体,掌心里写代码。</p>
<div class="note">※ 尚处于设想阶段,可能推进,也可能取消。</div>
</div>
</div>
</section>
<!-- ===== 路线图 ===== -->
<section id="roadmap" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">路线图 · MoX 生态演进</div>
<p class="sec-desc">我们按阶段把「桌面级工具搬进掌心」这件事做扎实。已交付的已经能用,进行中的正在打磨,规划中的是接下来的方向。</p>
</div>
<div class="timeline">
<div class="tl-item done fadeup">
<div class="tl-dot"></div>
<div class="tl-card glass">
<div class="tl-top"><span class="tl-phase">阶段一</span><span class="status on">✅ 已交付</span></div>
<h3>moxsh 1.0 · 液态玻璃终端</h3>
<p>Android 上的液态玻璃终端:Rust 自研内核,全面兼容 Termux 生态,无需 root、装上即用。</p>
<ul class="tl-list">
<li>Rust PTY / VT 解析 / 回滚 / 渲染调度</li>
<li>Termux 兼容 + PRoot 发行版(Ubuntu / Debian / Kali / Alpine)</li>
<li>加固 IPC:挑战-响应 + HMAC-SHA256 鉴权</li>
</ul>
</div>
</div>
<div class="tl-item done fadeup">
<div class="tl-dot"></div>
<div class="tl-card glass">
<div class="tl-top"><span class="tl-phase">阶段二</span><span class="status on">✅ 已交付</span></div>
<h3>mox-id · 统一身份与云同步</h3>
<p>MoX 的账号底座:任意 GitHub 用户一键登录,云同步、会员、计费、管理后台都从这里走。</p>
<ul class="tl-list">
<li>GitHub OAuth 登录,凭证仅存本地</li>
<li>多设备配置 / 命令历史实时云同步(客户端加密)</li>
<li>会员档位、计费对账、隐藏秘径管理后台</li>
</ul>
</div>
</div>
<div class="tl-item done fadeup">
<div class="tl-dot"></div>
<div class="tl-card glass">
<div class="tl-top"><span class="tl-phase">阶段三</span><span class="status on">✅ 已交付</span></div>
<h3>moxwebgpu 1.0 · WebGPU 计算框架</h3>
<p>零依赖的 WebGPU 通用计算框架:类型化张量、原始 WGSL Kernel、惰性计算图,算力下推到访客的浏览器 GPU。</p>
<ul class="tl-list">
<li>30+ 算子 + 任意轴归约,27 个真实 GPU e2e</li>
<li>自动微分(反向模式,叠加在惰性图上)</li>
<li>npm 发布 + 在线演示 + 文档站</li>
</ul>
</div>
</div>
<div class="tl-item active fadeup">
<div class="tl-dot"></div>
<div class="tl-card glass">
<div class="tl-top"><span class="tl-phase">阶段四</span><span class="status dev">🔄 进行中</span></div>
<h3>moxsh 性能与 AI 深化</h3>
<p>在旗舰终端上把体验与智能再推一步:更高帧率、更低功耗,以及真正跑得动的端侧 AI。</p>
<ul class="tl-list">
<li>120Hz 渲染 + 字体图集(atlas)复用</li>
<li>NEON 向量化热点路径</li>
<li>AI 端侧推理(AiProvider.Local 预留)</li>
</ul>
</div>
</div>
<div class="tl-item fadeup">
<div class="tl-dot"></div>
<div class="tl-card glass">
<div class="tl-top"><span class="tl-phase">阶段五</span><span class="status plan">📋 规划中</span></div>
<h3>.mox 生态与插件市场</h3>
<p>把插件、主题、脚本做成可分发、可校验的生态:统一 schema、签名分发、一键安装。</p>
<ul class="tl-list">
<li>统一插件 / 主题 schema 与版本标记</li>
<li>HMAC-SHA256 签名分发与校验</li>
<li>官方插件目录与社区投稿通道</li>
</ul>
</div>
</div>
<div class="tl-item fadeup">
<div class="tl-dot"></div>
<div class="tl-card glass">
<div class="tl-top"><span class="tl-phase">阶段六</span><span class="status plan">💡 待定</span></div>
<h3>moxbox / moxcode</h3>
<p>把更多桌面级能力搬进掌心:文件与系统套件、移动端轻量 IDE。是否推进以实际发布为准。</p>
<ul class="tl-list">
<li>moxbox:存储 / 进程 / 网络统一管理</li>
<li>moxcode:终端 + 编辑器 + 运行预览一体</li>
<li>※ 规划中 · 待定,可能做也可能不做</li>
</ul>
</div>
</div>
</div>
</section>
<!-- ===== 愿景 ===== -->
<section id="vision" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">我们的愿景</div>
<p class="sec-desc">不是又一个「 App 工厂」的产物。MoX 想做的事很朴素,但很较真。</p>
</div>
<div class="vision-grid">
<div class="vision glass fadeup">
<div class="vico"><svg viewBox="0 0 24 24"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z"/><path d="M8 12l2.5 2.5L16 9"/></svg></div>
<blockquote>桌面级能力,装进掌心</blockquote>
<p>手机不是「凑合用的小屏」,而是能跑真终端、真 GPU 计算的随身工作站。我们按这个标准重做每一处体验。</p>
</div>
<div class="vision glass fadeup">
<div class="vico"><svg viewBox="0 0 24 24"><path d="M12 3l8 4v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V6l8-4z"/><path d="M9 12l2 2 4-4"/></svg></div>
<blockquote>算力下推到你的设备</blockquote>
<p>隐私优先:云同步内容在客户端加密后才上传,服务端看不到明文;能本地算的,绝不搬去云端。</p>
</div>
<div class="vision glass fadeup">
<div class="vico"><svg viewBox="0 0 24 24"><path d="M16 18l6-6-6-6"/><path d="M8 6l-6 6 6 6"/></svg></div>
<blockquote>独立开发者 + AI 协作</blockquote>
<p>小而美,快速迭代。一个人对品质负全责,AI 负责把重复劳动吃下,让创意更快落地。</p>
</div>
<div class="vision glass fadeup">
<div class="vico"><svg viewBox="0 0 24 24"><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z"/><circle cx="12" cy="12" r="3"/></svg></div>
<blockquote>开源、透明、可审计</blockquote>
<p>全部仓库公开,安全响应头与 CSP 由 CI 自动校验。你看到的,就是跑在设备上的。</p>
</div>
</div>
</section>
<!-- ===== 社区 ===== -->
<section id="community" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">社区与共建</div>
<p class="sec-desc">独立小项目最怕「没人知道」。无论你是用户、开发者还是只是觉得有趣,都欢迎用这些方式找到我们、帮它被更多人看见。</p>
</div>
<div class="community-grid">
<div class="comm glass fadeup">
<div class="cico"><svg viewBox="0 0 24 24"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-1-2.6c3-.3 6-1.5 6-6.6a5 5 0 0 0-1.4-3.5A4.7 4.7 0 0 0 17 .5 13 13 0 0 0 12 2.5 13 13 0 0 0 7 .5 4.7 4.7 0 0 0 4.6 4a5 5 0 0 0-1.4 3.5c0 5 3 6.3 6 6.6a3.4 3.4 0 0 0-1 2.6V22"/></svg></div>
<h3>GitHub 组织</h3>
<p>所有源码、构建产物、Issue 都在这里。点 Star、Watch、提 PR,都是实打实的支持。</p>
<a class="link" href="https://github.com/codecloud-dev" target="_blank" rel="noopener">codecloud-dev →</a>
</div>
<div class="comm glass fadeup">
<div class="cico"><svg viewBox="0 0 24 24"><path d="M12 2l3 7h7l-5.5 4.5L18 21l-6-4-6 4 1.5-7.5L2 9h7z"/></svg></div>
<h3>为它点 Star</h3>
<p>觉得有用就点个 Star ★。对独立项目来说,每一个 Star 都是被看见的机会。</p>
<a class="link" href="https://github.com/codecloud-dev/moxsh-terminal" target="_blank" rel="noopener">给 moxsh 点 Star →</a>
</div>
<div class="comm glass fadeup">
<div class="cico"><svg viewBox="0 0 24 24"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div>
<h3>讨论与反馈</h3>
<p>用得不顺、想到好点子、想共建?开 Issue 或 Discussion,我们都会看。</p>
<a class="link" href="https://github.com/codecloud-dev/moxsh-terminal/issues" target="_blank" rel="noopener">去提 Issue →</a>
</div>
<div class="comm glass fadeup">
<div class="cico"><svg viewBox="0 0 24 24"><path d="M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z"/></svg></div>
<h3>爱发电赞助</h3>
<p>如果 MoX 帮到了你,一杯咖啡的赞助就能让它走得更远。项目统一走爱发电。</p>
<a class="link" href="https://afdian.com/a/cloudharbor" target="_blank" rel="noopener">去爱发电 →</a>
<p style="margin-top:12px"><img src="assets/afdian-qr.jpg" width="180" alt="爱发电赞助码"></p>
</div>
<div class="comm glass fadeup">
<div class="cico"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/></svg></div>
<h3>QQ 群</h3>
<p>想实时聊、拿安装包、认识同好?通过下方联系方式申请加入。</p>
<a class="link" href="#contact">查看联系方式 →</a>
</div>
<div class="comm glass fadeup">
<div class="cico"><svg viewBox="0 0 24 24"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg></div>
<h3>邮箱</h3>
<p>商务合作、媒体约稿、共建邀约,发邮件最直接。</p>
<a class="link" href="#contact">查看邮箱 →</a>
</div>
</div>
</section>
<section id="download" class="wrap">
<div class="sec-head fadeup">
<div class="sec-title">下载 moxsh</div>
<p class="sec-desc">安装包随代码持续构建发布。两种方式任选。</p>
</div>
<div class="dl-grid">
<div class="dl glass fadeup">
<h3>Release 安装包</h3>
<p>最新自动构建的正式签名 APK。网络可访问 GitHub 时,这是最快的方式。</p>
<a class="btn primary" id="dlLatest" href="downloads.html">前往下载页(全部版本 / 国内加速)→</a>
</div>
<div class="dl glass fadeup">
<h3>联系获取</h3>
<p>网络不便或想尝鲜构建?通过下方联系方式找到我们,直接把安装包发给你。</p>
<a class="btn" href="#contact">查看联系方式 ↓</a>
</div>
</div>
</section>
<section id="support" class="wrap">
<div class="glass support fadeup">
<div class="sec-title" style="font-size:28px">喜欢 MoX?帮它被更多人看见</div>
<p class="sec-desc">独立小项目最怕「没人知道」。如果你觉得它有用,<b>点个 Star、关注、顺手转发</b>,就是对开发者最大的鼓励,也能让更多被终端折磨过的朋友用上更好的工具。</p>
<a class="btn primary" id="starBtn" href="#" target="_blank" rel="noopener">★ 在 GitHub 点 Star</a>
</div>
</section>
<section id="contact" class="wrap">
<div class="glass contact fadeup">
<div class="sec-title" style="font-size:26px">联系我们</div>
<p>产品反馈、共建合作、获取安装包,都可以直接找到我们。为过滤打扰,两种方式各有一道轻门槛。</p>
<div id="contactCards" class="show">
<div class="citem glass">
<div class="label">邮箱 · 需登录并通过真人验证</div>
<div class="val" id="mailVal">••••••••••@163.com</div>
<!-- 真实验证:Cloudflare Turnstile(服务端 siteverify 校验,非可绕过的前端滑块)。
把 data-sitekey 换成你在 Cloudflare 控制台创建的 Turnstile 站点密钥。 -->
<div class="cf-turnstile" id="mailCaptcha"
data-sitekey="__TURNSTILE_SITEKEY__"
data-callback="onContactCaptcha"
data-expired-callback="onContactExpired"
data-theme="auto"></div>
<div class="login-hint" id="contactLoginHint" style="display:none">
查看联系方式需先 <a href="#" id="contactLoginBtn">登录 MoX 账号</a>(GitHub 一键登录)
</div>
<button class="btn copy" id="mailCopyBtn" data-act="copy" data-target="mailVal" style="display:none">复制邮箱</button>
</div>
<div class="citem glass">
<div class="label">QQ · 需登记来历与用途</div>
<div class="val" id="qqVal">••••••••••</div>
<button class="btn" id="qqAskBtn">申请查看 QQ</button>
<div id="qqForm" style="display:none">
<textarea id="qqFrom" placeholder="你的详细来历:从哪里认识 MoX?你是谁、做什么的?(不少于 12 字)" maxlength="200"></textarea>
<textarea id="qqWhy" placeholder="想做什么:加上之后打算聊什么、需要什么帮助?(不少于 6 字)" maxlength="200"></textarea>
<button class="btn primary" id="qqSubmitBtn">提交并显示 QQ</button>
</div>
<div id="qqDone" style="display:none">
<div class="qq-note">添加好友时请粘贴这段申请说明(已按你的填写生成):</div>
<div class="qq-brief" id="qqBrief"></div>
<button class="btn copy" id="qqBriefCopyBtn" data-act="copy" data-target="qqBrief">复制申请说明</button>
<button class="btn copy" id="qqCopyBtn" data-act="copy" data-target="qqVal">复制 QQ 号</button>
</div>
</div>
</div>
</div>
</section>
<footer class="wrap">
<div class="fb"><span class="mark" style="width:20px;height:20px;border-radius:6px;display:inline-block;background:var(--accent)"></span> MoX</div>
<div>© 2026 MoX · 由独立开发者与 AI 协作构建</div>
<div>开源仓库与全部构建产物,均可在 <a href="#" id="ghLink">GitHub</a> 获取</div>
<div style="margin-top:8px"><a href="#" id="ghStar">如果它帮到你,别忘了点个 Star ★</a></div>
</footer>
<!-- 人机验证闸(异常访问时弹出,滑动即过,无需答题) -->
<div id="gate" class="gate" aria-hidden="true">
<div class="glass gate-card">
<div class="gate-ico"><svg viewBox="0 0 24 24"><path d="M12 3l7 3v5c0 4-3 7-7 8-4-1-7-4-7-8V6l7-3z"/><path d="M9 12l2 2 4-4"/></svg></div>
<h3>安全验证</h3>
<p id="gateMsg">检测到本次访问存在异常,请完成滑动验证以继续。</p>
<div class="slider" id="slider">
<div class="slider-fill" id="sliderFill"></div>
<div class="slider-text" id="sliderText">按住滑块,拖到最右侧</div>
<div class="slider-knob" id="sliderKnob" role="slider" aria-label="滑动完成验证"><span>›</span></div>
</div>
<div class="gate-note">无需答题 · <a href="#" id="gateSkip">直接访问</a> · <a href="#" id="gateWhy">为什么?</a></div>
</div>
</div>
<div class="toast" id="toast"></div>
<!-- 登录弹窗 -->
<div class="modal-mask" id="loginMask">
<div class="modal glass">
<h3>登录 MoX 账号</h3>
<div class="login-status" id="loginStatus">
<span class="dot"></span><span id="loginStatusText">正在检测登录服务…</span>
</div>
<div class="login-blocks">
<div class="lb"><span class="lbi">👤</span><div><b>普通用户</b>:云同步(多设备配置 / 命令历史实时同步),AI 助手随时调用。</div></div>
<div class="lb"><span class="lbi">🔒</span><div><b>安全</b>:通过 GitHub 登录,凭证仅存本地;云同步内容客户端加密。</div></div>
</div>
<div id="loginBox">
<a class="gh" id="ghLoginBtn" href="#">使用 GitHub 登录</a>
<div class="or">或</div>
<input id="tokInput" type="password" placeholder="粘贴 GitHub Token(ghp_ / github_pat_)" autocomplete="off" />
<div class="row">
<button id="tokLoginBtn" class="primary">登录</button>
<button id="tokCancelBtn">取消</button>
</div>
</div>
<div id="loggedInBox" style="display:none">
<div class="lb"><span class="lbi">✅</span><div>当前已登录为 <b id="meName"></b>。凭证仅保存在本机浏览器,可随时退出。</div></div>
<div class="row">
<a id="meAdminBtn" class="gh" style="display:none" href="#" rel="noopener">进入管理后台</a>
<button id="meLogoutBtn" class="primary">退出登录</button>
<button id="meCloseBtn">关闭</button>
</div>
</div>
<div class="msg" id="loginMsg"></div>
<div class="login-hint" id="loginHint"></div>
</div>
</div>
<script src="app.js"></script>
<script src="site-star.js"></script>
<!-- Cloudflare Turnstile:真实人机验证(服务端 siteverify 校验)。
需先在 Cloudflare 控制台开通 Turnstile,并把上方 data-sitekey 换成你的站点密钥。 -->
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
</body>
</html>