diff --git a/README.md b/README.md index e69de29..8fdbdae 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,155 @@ +
+ +# 🐶 Bichon + +**Minimal, High-Performance Email Archiving & Management System in Rust** + +

+ + Release + + + Docker + + + License + + + DeepWiki + +

+ +
+ + + + +Bichon is a **minimal, high-performance, standalone Rust email archiver** with a built-in WebUI. +It runs as a **single binary**, requires **no external dependencies**, and provides fast, efficient email archiving, management, and search. + +--- + +## 🚀 Features + +### ⚡ Lightweight & Standalone +- Pure Rust, single-machine application. +- No external database required. +- Includes **WebUI** for intuitive management. + +### 📬 Multi-Account Management +- Synchronize and download emails from multiple accounts. +- Flexible selection: by **date range**, **number of emails**, or **specific mailboxes**. + +### 🔑 IMAP & OAuth2 Authentication +- Supports **IMAP password** or **OAuth2** login. +- Built-in WebUI for **OAuth2 authorization**, including **automatic token refresh** (e.g., Gmail, Outlook). +- Supports **network proxy** for IMAP and OAuth2. +- Automatic IMAP server discovery and configuration. + +### 🔍 Unified Multi-Account Search +- Powerful search across all accounts: + **account**, **mailbox**, **sender**, **attachment name**, **has attachments**, **size**, **date**, **subject**, **body**. + +### 🏷️ Tags & Facets +- Organize archived emails using **tags** backed by Tantivy **facets**. +- Efficiently filter and locate emails based on these facet-based tags. + +### 💾 Compressed & Deduplicated Storage +- Store emails efficiently with **transparent compression** and **deduplication**—emails can be read directly without any extra steps. + +### 📂 Email Management & Viewing +- Bulk cleanup of local archives. +- Download emails as **EML** or **attachments separately**. +- View and browse emails directly. + +### 📊 Dashboard & Analytics +- Visualize email statistics: **counts**, **time distribution**, **top senders**, **largest emails**, **account rankings**. + +### 🛠️ OpenAPI Support +- Provides **OpenAPI documentation**. +- **Access token authentication** for programmatic access. + +--- + + +Bichon is designed for **speed**, **simplicity**, and **efficiency**, letting you manage and archive emails effortlessly. + + +## 🚀 Quick Start + +### Docker Deployment (Recommended) + +```bash +# Pull the image +docker pull rustmailer/bichon:latest + +# Create data directory +mkdir -p ./bichon-data + +# Run container +docker run -d \ + --name bichon \ + -p 15630:15630 \ + -v $(pwd)/bichon-data:/data \ + -e RUSTMAILER_LOG_LEVEL=info \ + -e RUSTMAILER_ROOT_DIR=/data \ + rustmailer/bichon:latest +``` + +Access `http://localhost:15630` to start using Bichon. + +### Binary Deployment + +Download the appropriate binary for your platform from the [Releases](https://github.com/rustmailer/bichon/releases) page: + +- Linux (GNU): `bichon-x.x.x-x86_64-unknown-linux-gnu.tar.gz` +- Linux (MUSL): `bichon-x.x.x-x86_64-unknown-linux-musl.tar.gz` +- macOS: `bichon-x.x.x-x86_64-apple-darwin.tar.gz` +- Windows: `bichon-x.x.x-x86_64-pc-windows-msvc.zip` + +Extract and run: + +```bash +# Linux/macOS +./bichon --bichon-root-dir /tmp/bichon-data + +# Windows +.\bichon.exe --bichon-root-dir e:\bichon-data +``` + + +## 📖 Documentation + +> Under construction. Documentation will be available soon. + + +## 🛠️ Tech Stack + +- **Backend**: Rust + Poem +- **Frontend**: React + TypeScript + Vite + ShadCN +- **Storage**: Native_DB +- **Search Engine**: Tantivy +- **Email Protocols**: IMAP (Password & OAuth2) + + +## 🤝 Contributing + +Issues and Pull Requests are welcome! + + + +## 📄 License + +This project is licensed under [AGPLv3](LICENSE). + +## 🔗 Links + +- [Official Website](https://rustmailer.com) +- [Docker Hub](https://hub.docker.com/r/rustmailer/bichon) +- [Issue Tracker](https://github.com/rustmailer/bichon/issues) + +--- + +
+Made with ❤️ by rustmailer.com +
\ No newline at end of file