Initial public repo: README, LICENSE, and logo
Sets up the Korax public Gitea presence with a comprehensive README targeting both end users and technical audiences, PolyForm Noncommercial license for the mailcore open-source engine, and the project logo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
120
LICENSE
Normal file
120
LICENSE
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
PolyForm Noncommercial License 1.0.0
|
||||||
|
|
||||||
|
Scope: This license applies to the mailcore/ directory of the Korax project.
|
||||||
|
All other parts of the Korax project remain proprietary.
|
||||||
|
© Eugen Kaparulin. All rights reserved.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# PolyForm Noncommercial License 1.0.0
|
||||||
|
|
||||||
|
<https://polyformproject.org/licenses/noncommercial/1.0.0>
|
||||||
|
|
||||||
|
## Acceptance
|
||||||
|
|
||||||
|
In order to get any license under these terms, you must agree
|
||||||
|
to them as both strict obligations and conditions to all
|
||||||
|
your licenses.
|
||||||
|
|
||||||
|
## Copyright License
|
||||||
|
|
||||||
|
The licensor grants you a copyright license for the software
|
||||||
|
to do everything you might do with the software that would
|
||||||
|
otherwise infringe the licensor's copyright in it for any
|
||||||
|
permitted purpose, other than distributing the software or
|
||||||
|
making changes or new works based on the software.
|
||||||
|
|
||||||
|
## Noncommercial Purposes
|
||||||
|
|
||||||
|
Any noncommercial purpose is a permitted purpose.
|
||||||
|
|
||||||
|
## Personal Uses
|
||||||
|
|
||||||
|
Personal use for research, experiment, and testing for
|
||||||
|
the benefit of public knowledge, personal study, private
|
||||||
|
entertainment, hobby projects, amateur pursuits, or religious
|
||||||
|
observance, without any anticipated commercial application,
|
||||||
|
is use for a permitted purpose.
|
||||||
|
|
||||||
|
## Noncommercial Organizations
|
||||||
|
|
||||||
|
Use by any charitable organization, educational institution,
|
||||||
|
public research organization, public safety or health
|
||||||
|
organization, environmental protection organization,
|
||||||
|
or government institution is use for a permitted purpose
|
||||||
|
regardless of the source of funding or obligations resulting
|
||||||
|
from the funding.
|
||||||
|
|
||||||
|
## Fair Use
|
||||||
|
|
||||||
|
You may have "fair use" rights for the software under the
|
||||||
|
law. These terms do not limit them.
|
||||||
|
|
||||||
|
## No Other Rights
|
||||||
|
|
||||||
|
These terms do not allow you to sublicense or transfer any of
|
||||||
|
your licenses to anyone else, or prevent the licensor from
|
||||||
|
granting licenses to anyone else. These terms do not imply
|
||||||
|
any other licenses.
|
||||||
|
|
||||||
|
## Patent License
|
||||||
|
|
||||||
|
The licensor grants you a patent license for the software that
|
||||||
|
covers patent claims the licensor can license, or will be able
|
||||||
|
to license, that you would infringe by using the software.
|
||||||
|
|
||||||
|
## Noncommercial Purposes
|
||||||
|
|
||||||
|
Any noncommercial purpose is a permitted purpose.
|
||||||
|
|
||||||
|
## No Other Rights
|
||||||
|
|
||||||
|
These terms do not allow you to sublicense or transfer any of
|
||||||
|
your licenses to anyone else, or prevent the licensor from
|
||||||
|
granting licenses to anyone else. These terms do not imply
|
||||||
|
any other licenses.
|
||||||
|
|
||||||
|
## Violations
|
||||||
|
|
||||||
|
The first time you are notified in writing that you have
|
||||||
|
violated any of these terms, or done anything with the software
|
||||||
|
not covered by your licenses, your licenses can nonetheless
|
||||||
|
continue if you come into full compliance within 32 days after
|
||||||
|
receiving notice. Otherwise, all your licenses end permanently.
|
||||||
|
|
||||||
|
## No Liability
|
||||||
|
|
||||||
|
***As far as the law allows, the software comes as is, without
|
||||||
|
any warranty or condition, and the licensor will not be liable
|
||||||
|
to you for any damages arising out of these terms or the use
|
||||||
|
or nature of the software, under any kind of legal claim.***
|
||||||
|
|
||||||
|
## Definitions
|
||||||
|
|
||||||
|
The **licensor** is the individual or entity offering these
|
||||||
|
terms, and the **software** is the software the licensor makes
|
||||||
|
available under these terms.
|
||||||
|
|
||||||
|
**You** refers to the individual or entity agreeing to these
|
||||||
|
terms.
|
||||||
|
|
||||||
|
**Your company** is any legal entity, sole proprietorship,
|
||||||
|
or other kind of organization that you work for, plus all
|
||||||
|
its affiliates.
|
||||||
|
|
||||||
|
**Affiliates** means the other organizations than a parent
|
||||||
|
organization in any way controlling, controlled by, or under
|
||||||
|
common control with that organization.
|
||||||
|
|
||||||
|
**Control** means ownership of substantially all the assets of
|
||||||
|
an entity, or the power to direct its management and legal
|
||||||
|
affairs.
|
||||||
|
|
||||||
|
**Your licenses** are all the licenses granted to you for the
|
||||||
|
software under these terms.
|
||||||
|
|
||||||
|
**Use** means anything you do with the software requiring one
|
||||||
|
of your licenses.
|
||||||
|
|
||||||
|
**Trademark** means trademarks, service marks, and similar
|
||||||
|
rights.
|
||||||
135
README.md
Normal file
135
README.md
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
<div align="center">
|
||||||
|
<img src="images/korax.png" alt="Korax" width="160"/>
|
||||||
|
|
||||||
|
# Korax
|
||||||
|
|
||||||
|
**PGP-First Email. Private by Default.**
|
||||||
|
|
||||||
|
[](LICENSE)
|
||||||
|
[]()
|
||||||
|
[]()
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Korax is an email client built around a single principle: **encryption should be the default, not the exception.**
|
||||||
|
|
||||||
|
Most clients bolt PGP on as an afterthought — a plugin, a hidden setting, a third-party extension. Korax is designed from the ground up so that signing, encryption, and key management are a seamless part of your everyday workflow. Your mail stays between you and the people you write to.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **PGP encryption and signing — native, not a plugin.** Compose encrypted mail as naturally as plain text.
|
||||||
|
- **TOFU trust model.** "Trust On First Use" with visual indicators: see at a glance whether a contact's key is known, trusted, or changed.
|
||||||
|
- **No tracking pixels.** Remote images are blocked by default. Autoload only for contacts whose public key you have saved.
|
||||||
|
- **Local-first.** All messages cached in SQLite on your device. Instant load, works offline, nothing sent to any cloud.
|
||||||
|
- **Multi-language.** English, German, Spanish, Finnish, Russian, Swedish.
|
||||||
|
- **Linux: always free, always fully unlocked.** No paywall, no nag screens. Honor system.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Download
|
||||||
|
|
||||||
|
### Linux (AppImage)
|
||||||
|
|
||||||
|
The Linux release is a self-contained AppImage — no installation required.
|
||||||
|
|
||||||
|
1. Download `Korax-x86_64.AppImage` from the [Releases](../../releases) page.
|
||||||
|
2. Make it executable:
|
||||||
|
```bash
|
||||||
|
chmod +x Korax-x86_64.AppImage
|
||||||
|
```
|
||||||
|
3. Run:
|
||||||
|
```bash
|
||||||
|
./Korax-x86_64.AppImage
|
||||||
|
```
|
||||||
|
|
||||||
|
### macOS · Android · iOS
|
||||||
|
|
||||||
|
Coming soon.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Free vs Pro
|
||||||
|
|
||||||
|
| Feature | Free | Pro |
|
||||||
|
|---|:---:|:---:|
|
||||||
|
| Send & receive email | ✓ | ✓ |
|
||||||
|
| IMAP accounts | Max 3 | Unlimited |
|
||||||
|
| Basic PGP encryption / decryption | ✓ | ✓ |
|
||||||
|
| Import PGP identity | ✓ (max 1) | ✓ (unlimited) |
|
||||||
|
| Generate PGP keypair | — | ✓ |
|
||||||
|
| Keyserver auto-lookup (WKD) | — | ✓ |
|
||||||
|
| Custom themes / swipe actions | — | ✓ |
|
||||||
|
| **Linux** | **Always Pro** | **Always Pro** |
|
||||||
|
|
||||||
|
Pro is a one-time purchase. All Pro features are free during the current beta period.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Under the Hood
|
||||||
|
|
||||||
|
### Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
Flutter UI (Dart)
|
||||||
|
│
|
||||||
|
flutter_rust_bridge (FFI)
|
||||||
|
│
|
||||||
|
mailcore (Rust)
|
||||||
|
├── IMAP client
|
||||||
|
├── SMTP client
|
||||||
|
├── SQLite storage
|
||||||
|
├── MIME parser
|
||||||
|
└── DNS SRV discovery
|
||||||
|
```
|
||||||
|
|
||||||
|
The UI layer never blocks: all network and crypto operations run in Rust, communicated to Dart via an FFI bridge with zero copy overhead.
|
||||||
|
|
||||||
|
| Layer | Technology |
|
||||||
|
|---|---|
|
||||||
|
| UI | Flutter / Dart |
|
||||||
|
| Core engine | Rust (`mailcore`) |
|
||||||
|
| FFI bridge | flutter_rust_bridge |
|
||||||
|
| Cryptography | sequoia-openpgp |
|
||||||
|
| Local storage | SQLite |
|
||||||
|
| State management | Riverpod |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### mailcore — Open Source Engine
|
||||||
|
|
||||||
|
`mailcore` is the Rust library at the heart of Korax. It handles everything below the UI:
|
||||||
|
|
||||||
|
- **IMAP client** — RFC 3501 compliant, UIDVALIDITY-aware, uses `BODY.PEEK[]` to preserve `\Seen` flag integrity
|
||||||
|
- **SMTP client** — RFC 5321 with STARTTLS and SMTPS
|
||||||
|
- **SQLite storage layer** — local message cache, folder state, account credentials
|
||||||
|
- **MIME parser** — RFC 2045/2046 multipart handling
|
||||||
|
- **DNS SRV auto-discovery** — resolves `_imaps._tcp` and `_submission._tcp` before falling back to defaults; same mechanism used by Thunderbird, Evolution, and others
|
||||||
|
|
||||||
|
The source is published here for transparency and community audit. It is licensed under the [PolyForm Noncommercial License 1.0.0](LICENSE) — free to read, study, and use for noncommercial purposes. Commercial use requires a separate agreement.
|
||||||
|
|
||||||
|
**What stays proprietary:**
|
||||||
|
|
||||||
|
The PGP/Sequoia integration, advanced privacy features, and the Flutter UI (`korax/`) are not published. A second Rust library — `mailmore` — will eventually hold additional proprietary engine capabilities.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
**Reporting vulnerabilities:** Do not open a public issue. Contact the maintainer directly at the address shown in the application's About screen.
|
||||||
|
|
||||||
|
**Key storage:** Private keys are never written to SQLite or disk in plaintext. On every platform, they are stored in the OS secure enclave (iOS Keychain, macOS Keychain, Android Keystore).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
Created by **Eugen Kaparulin**.
|
||||||
|
Official binaries distributed by **K-Ops Oy**.
|
||||||
|
|
||||||
|
© Eugen Kaparulin. All rights reserved.
|
||||||
|
`mailcore` is published under the [PolyForm Noncommercial License 1.0.0](LICENSE).
|
||||||
|
All other parts of Korax are proprietary.
|
||||||
BIN
images/korax.png
Normal file
BIN
images/korax.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 957 KiB |
Reference in New Issue
Block a user