:new:A new version of Icalingua.

Overview

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 可以不安装
You might also like...

Free & Open Source Version of Kneaver Thinking Box

kneaver-open Free & Open Source Version of Kneaver Thinking Box This is a very initial submission. barely more than a boilerplate. There is no warrant

Jan 17, 2022

Alpha version of ALBot 2.0, the spiritual successor to ALBot

ALBot 2.0 Alpha Alpha version of ALBot 2.0, the spiritual successor to ALBot. ALBot 2.0 uses Discord.js to interface with the Discord API, supplanting

Nov 17, 2022

Firebase SDK 9 + Google Sign In + Chrome Extension Manifest Version 3 + Webpack

Firebase SDK 9 + Google Sign In + Chrome Extension Manifest Version 3 + Webpack Demo Find this Chrome Extension Setup and working demo here or on Yout

Dec 28, 2022

Reliactyl - Reliactyl Client Premium Version

Reliactyl - Reliactyl Client Premium Version

Reliactyl Reliactyl Client Premium Version Features - Allows users to split reso

Feb 24, 2022

Directus Hook Extension: Version Control Changelog

Directus Hook Extension: Version Control Changelog

A Directus hook extension to push user written change summaries (from a singleton collection text field) to a changelog in a VCS server

Nov 27, 2022

Everynode allows you to run any version of Node.js in AWS Lambda, in any commercial AWS region

Everynode allows you to run any version of Node.js in AWS Lambda, in any commercial AWS region

Run Any Node.js Version in AWS Lambda Everynode allows you to run any version of Node.js in AWS Lambda, in any commercial AWS region. We add support f

Dec 15, 2022

An non-official esx-legacy 1.5 version for quasar inventory purpose.

Hi there ! It's my first post on github, and I'm releasing a free edited base with esx-legacy 1.5 compatible and made for Quasar Inventory. How can I

Mar 19, 2022

Portuguese version of the Cassandra driver javascript node.js workshop

Versão em Português do workshop Cassandra driver javascript node.js Olá e bem-vindo! Este é o repositório complementar para a apresentação prática dos

Mar 17, 2022

24/7 Steam ingame time idler with Heroku (simple version)

simple-steam-idler-heroku 24/7 Steam ingame time idler with Heroku (simple version) Requirements: Install Git: https://git-scm.com/downloads Install H

Dec 18, 2022
Comments
  • [BUG]无法启动

    [BUG]无法启动

    Describe the bug / 描述

    执行pnpm dev,报错退出

    终端输出
    ❯ pnpm dev
    
    > [email protected] dev /home/aya/git/Icalingua3
    > pnpm --filter @icalingua/*end dev
    
    Scope: 2 of 5 workspace projects
    backend dev$ ts-node ./src/index.ts -d
    │ ⚛ 09-19 14:41:11 [DEBUG] [info] MikroORM version: 5.4.1
    │ ⚛ 09-19 14:41:11 [DEBUG] [discovery] ORM entity discovery started, using TsMorphMetadataProvider
    │ ⚛ 09-19 14:41:11 [DEBUG] [discovery] - processing entity Message
    │ ⚛ 09-19 14:41:11 [DEBUG] [discovery] - using cached metadata for entity Message
    │ ⚛ 09-19 14:41:11 [DEBUG] [discovery] - processing entity ChatRoom
    │ ⚛ 09-19 14:41:11 [DEBUG] [discovery] - using cached metadata for entity ChatRoom
    │ ⚛ 09-19 14:41:11 [DEBUG] [discovery] - entity discovery finished, found 2 entities, took 41 ms
    │ ⚛ 09-19 14:41:11 [DEBUG] [info] MikroORM successfully connected to database /home/aya/git/Icalingua3/b
    │ /home/aya/git/Icalingua3/node_modules/.pnpm/@[email protected]/node_modules/@fastify/static/index.j
    │     throw new Error('"root" option must be an absolute path')
    │           ^
    │ Error: "root" option must be an absolute path
    │     at checkPath (/home/aya/git/Icalingua3/node_modules/.pnpm/@[email protected]/node_modules/@fast
    │     at checkRootPathForErrors (/home/aya/git/Icalingua3/node_modules/.pnpm/@[email protected]/node_
    │     at fastifyStatic (/home/aya/git/Icalingua3/node_modules/.pnpm/@[email protected]/node_modules/@
    │     at Plugin.exec (/home/aya/git/Icalingua3/node_modules/.pnpm/[email protected]/node_modules/avvio/plugin.
    │     at Boot.loadPlugin (/home/aya/git/Icalingua3/node_modules/.pnpm/[email protected]/node_modules/avvio/plu
    │     at processTicksAndRejections (node:internal/process/task_queues:82:21)
    └─ Failed in 7.5s
    frontend dev$ vite
    │   VITE v3.1.1  ready in 692 ms
    │   ➜  Local:   http://localhost:5173/
    │   ➜  Network: use --host to expose
    └─ Running...
    /home/aya/git/Icalingua3/backend:
     ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  @icalingua/[email protected] dev: `ts-node ./src/index.ts -d`
    Exit status 1
     ELIFECYCLE  Command failed with exit code 1.
    

    终端录屏 https://asciinema.org/a/mXLn43Z8WWT5sTBPntJFKtsuU

    To Reproduce / 复现过程

    pnpm i
    pnpm dev
    

    Expected behavior / 预期的结果

    正常运行,可以在浏览器打开

    Screenshots / 截图

    2022-09-19_14 57 32

    System information / 系统信息

    • OS: Arch Linux
    • Nodejs: v18.9.0
    • Pnpm: v7.12.0
    opened by Brx86 9
Owner
Icalingua++
A client for QQ and more.:electron:
Icalingua++
The new version of CodeX API with it's backen

The new version of CodeX API with it's backen

LÆS 66 Jan 4, 2023
Easily open daily notes and periodic notes in new pane; customize periodic notes background; quick append new line to daily notes.

Obsidian daily notes opener This plugin adds a command for opening daily notes in a new pane (so that a keyboard shortcut could be used!) and gives ex

Xiao Meng 16 Dec 26, 2022
Simple webpack plugin that generates VERSION and commitInfo insert index.html during build

Html commit version plugin Simple webpack plugin that generates CommitInfo and VERSION insert index.html during build. English | 简体中文 Usage Given a we

null 13 Mar 8, 2022
A simple rocketchat version for apple silicon

Why develop this version? Rocket. Chat Electron does not have Mac (Apple Silicon) version at present, so it has a poor use experience. After compiling

vast zhao 9 Sep 19, 2021
It maintains my version of js notes which I learned from the famous Namaste Javascript Youtube Series by Akshay Saini.

Welcome to Namaste Javascript Notes ?? ❓ what it is This repo maintains my version of javascript notes which I learned from the famous Namaste Javascr

Alok Raj 682 Jan 4, 2023
ScraperTools BETA Version 1.0.1

ScraperTools Official ScraperTools NPM Package Get Started Via NPM: $ npm install scraper-tools Cara Menggunakan const scrapertools = require('scraper

Zahir Hadi Athallah 21 Sep 28, 2022
The Third (and hopefully last) Version Of The Beatshape API!

Beatshape API V3 This is The Third (and hopefully last) Version Of The Beatshape API! How To Run: Install Node.js Clone This Repo git clone https://gi

CDX Team 1 Dec 25, 2021
Make sure a specific version and package-manger to be used in project.

pm-keeper A simple way to force package-manager in your project. usage Add a preinstall script in your project's package.json, link this: { "scripts

阿五 13 Sep 25, 2022
An unofficial, simplified version of the @Shopify/koa-shopify-auth middleware library.

simple-koa-shopify-auth https://www.npmjs.com/package/simple-koa-shopify-auth NOTE: This package is not maintained by or affiliated with Shopify. Desc

David 20 Nov 7, 2022
ES6 version of tween.js

es6-tween This project development suspended due of no support from community and no financial support to author High-performant animations without he

tween.js and related projects 180 Nov 30, 2022