Support read-only publish service

* 🎨 kernel supports read-only publishing services

* 🐛 Fix authentication vulnerabilities

* 🎨 Protect secret information

* 🎨 Adjust the permission control

* 🎨 Adjust the permission control

* 🎨 Fixed the vulnerability that `getFile` gets file `conf.json`

* 🎨 Add API `/api/setting/setPublish`

* 🎨 Add API `/api/setting/getPublish`

* 🐛 Fixed the issue that PWA-related files could not pass BasicAuth

* 🎨 Add a settings panel for publishing features

* 📝 Add guide for `Publish Service`

* 📝 Update Japanese user guide

* 🎨 Merge fixed static file services
This commit is contained in:
Yingyi / 颖逸 2024-06-12 21:03:51 +08:00 committed by GitHub
parent 536879cb84
commit ba2193403d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
47 changed files with 3690 additions and 375 deletions

View file

@ -63,6 +63,11 @@ declare namespace Config {
* Whether to open the user guide after startup
*/
openHelp: boolean;
/**
* Publishing service
*
*/
publish: IPublish;
/**
* Whether it is running in read-only mode
*
@ -1030,6 +1035,56 @@ declare namespace Config {
*/
export type TLogLevel = "off" | "trace" | "debug" | "info" | "warn" | "error" | "fatal";
/**
* Publishing service
*/
export interface IPublish {
/**
* Whether to open the publishing service
*/
enable: boolean;
/**
* The basic authentication settings of publishing service
*/
auth: IPublishAuth;
/**
* Port on which the publishing service listens
*/
port: number;
}
/**
* Publishing service authentication settings
*/
export interface IPublishAuth {
/**
* Whether to enable basic authentication for publishing services
*/
enable: boolean;
/**
* List of basic verified accounts
*/
accounts: IPublishAuthAccount[];
}
/**
* Basic authentication account
*/
export interface IPublishAuthAccount {
/**
* Account username
*/
username: string;
/**
* Account password
*/
password: string;
/**
* The memo text of the account
*/
memo: string;
}
/**
* Snapshot repository related configuration
*/