PullAndRun / Icalingua3

:new:A new version of Icalingua.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Icalingua 3

新版 Icalingua。将抛弃 Electron,转向网页前端 + Node 后端(类似于原来 icalingua-bridge-oicq)的模式。

正在开发中。当前技术栈选型:

  • oicq2
  • socket.io
  • Vue3
  • Fastify
  • WindiCSS
  • rxjs
  • MikroORM
  • 后端也采用 Native ESM 而非 CommonJS(要求 Nodejs >= 16)

如何开发

git clone https://github.com/Icalingua-plus-plus/Icalingua3
pnpm i # 需要 Node.js 16 或以上,并且启用 corepack
pnpm dev # 这条命令会同时启动前后端

在开发后端(而不需要 oicq)时,频繁启动服务器可能让 oicq 频繁登录而风控,这时用 pnpm dev:backend -- --n 可以不启动 oicq 而启动后端。

Icalingua3 身份验证

Note
这是 Icalingua3 的身份验证,不是 oicq 的身份验证,请勿混淆。

第一次登录相当于注册,后面需要输入相同的密码。如果忘记密码,可以通过删除 ./data/passwordSecret.json 来恢复。使用密码登录时,浏览器端会保存一个 token,下次登录可以直接点登录键,不需要重复输入密码。

WebAuthn

WebAuthn 是一种新的身份验证方式,可以用于替代密码。要使用 WebAuthn,你需要先登录进 Icalingua,在顶栏进入 WebAuthn 页面,点击 + 号添加一个新的 WebAuthn 密钥。这以后,在登录界面点击 WebAuthn 登录。

使用 WebAuthn 登录时,token 不会被存储,这意味着你每次登录都需要进行验证。

Warning
在设置页勾选 onlyWebAuthn 之后保存,可以禁用密码登录。在禁用以前,请确保你已经添加了至少一个 WebAuthn 密钥,否则你将无法登录。如果你这么做了,请编辑 ./data/config.json,将 onlyWebAuthn 设置为 false

关于官方可能的 Electron 版本

在官方可能的 Electron 版本功能和支持的平台种类超过 Icalingua 之前,本 repo 会保持更新。

Linux 系统需要安装的依赖项

  • libfido2:用于 WebAuthn,如果不需要 WebAuthn 可以不安装

About

:new:A new version of Icalingua.

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 75.6%Language:Vue 23.8%Language:HTML 0.5%Language:Shell 0.1%