Skip to content

Latest commit

 

History

History
84 lines (58 loc) · 2.59 KB

README.md

File metadata and controls

84 lines (58 loc) · 2.59 KB

NekoBox

匿名提问箱 / Anonymous Question Box

Go Report Card Sourcegraph DeepSource Go Report Card

简体中文 | English

Screenshot

Installation

Prerequisite

  • Go (v1.19 or higher)
  • MySQL (v5.7 or higher)
  • Redis (v6.0 or higher)

Build from source

git clone https://github.com/NekoWheel/NekoBox.git

cd NekoBox

go build -o NekoBox

Edit the configuration file

cp conf/app.sample.ini conf/app.ini

Run

./NekoBox web

Architecture

NekoBox uses GitHub Actions for continuous integration and deployment.

When a user visit NekoBox, the request will be routed to Cloudflare CDN.

User's profile, questions and answers will be stored in MySQL database.

User's session, CSRF token and email verification token will be stored in Redis temporarily.

The entire request and response chain will be uploaded to Uptrace for debugging purposes. The data will be stored in Uptrace for 30 days. Administrators can use the TraceID provided by users to query the specified request context.

When a user submits a question, the content of the question will be sent to Aliyun text censoring service for review. If the content does not pass, the question will be rejected.

When a user received a new question, an email will be sent to the user's email address by Aliyun mail service (DM).

In the main page, you can check out the changelogs of NekoBox, and you can visit the sponsor page to support NekoBox at the bottom of the page. The changelogs and sponsor list are stored in Cloudflare Pages which is deployed separately.

License

MIT License