The High-Performance Federated Media Protocol.
MehguViewer is a distributed, specification-first ecosystem for hosting and consuming media. It decouples Identity (Auth) from Content (Core) to allow for a truly federated network where users own their data, and servers maximize performance.
- Stateless: Core nodes do not hold user tables. Logic is driven by signed OIDC Claims.
- Native AOT: Backends are compiled to native code for instant startup and minimal memory usage.
- Strict Types: Communication requires strictly validated URNs and RFC 7807 error handling.
The ecosystem is split into three strict architectural pillars.
graph TD
User((User)) -->|Interface| Web[MehguViewer.Web]
subgraph Federation
Web -->|Get Token| Auth[MehguViewer.Auth]
Web -->|Fetch Content| Core[MehguViewer.Core]
end
Core -.->|Verify Signatures via JWKS| Auth
style Web fill:#18181b,stroke:#52525b,color:#fff
style Auth fill:#3f3f46,stroke:#a1a1aa,color:#fff
style Core fill:#3f3f46,stroke:#a1a1aa,color:#fff
style User fill:#000,stroke:#fff,color:#fff
| Repository | Role | Tech Stack | Status |
|---|---|---|---|
| 📐 MehguViewer.Proto | The Source of Truth. Documentation, OpenAPI Specs, and Design Guidelines. Start here. | Fumadocs OpenAPI |
🟢 Active |
| 🏗️ MehguViewer.Core | The Content Node. Hosts images, handles comments, validates tokens. | .NET 9 Native AOT |
🟡 WIP |
| 🔐 MehguViewer.Auth | The Identity Provider. Handles OIDC Logins and global blocklists. | Node.js OIDC |
🟡 WIP |
| 👁️ MehguViewer.Web | The Lens. The universal client for any Auth+Core combination. | Next.js React |
🟡 WIP |

