1e1614b96d3f19ea940f793e489a5a5fa538eeeb
All checks were successful
Android Build Final Fixed / build-android (push) Successful in 7m46s
📰 Maltemedia
A modern, fast, and secure application to stay updated with the latest news from different worlds — from decentralized social networks to AI-generated insights.
✨ Key Features
- 📡 Nostr Feed: Browse decentralized posts from various relays (like Damus and Snort) anonymously using secure, temporary keys.
- 🤖 AI-Powered News: Get instant tech news summaries generated by powerful AI models via Groq (Llama 3) or OpenRouter.
- 📻 RSS Reader: Follow your favorite news sources (like NASA or Heise) by adding custom RSS/Atom feeds.
- 📝 Markdown Support: Enjoy a clean reading experience with full Markdown rendering for all posts and articles.
- 🔒 Private & Secure: Built with Rust and Tauri v2 for a native, high-performance experience with a minimal footprint.
📂 Project Structure
The project is split into a Frontend (UI) and a Backend (System) layer.
🌓 Frontend (src/)
Built with Yew (Rust/Wasm) for a reactive and fast interface.
| File/Folder | Purpose |
|---|---|
main.rs |
Entry point for the WebAssembly application. |
app.rs |
Handles client-side routing and the main layout shell. |
navbar/ |
Contains the side navigation component. |
pages/home.rs |
The UI for the Nostr feed display. |
pages/news.rs |
The UI for AI News, RSS feeds, and configuration settings. |
🌑 Backend (src-tauri/)
Built with Rust to handle system-level tasks and networking.
| File/Folder | Purpose |
|---|---|
src/main.rs |
The main entry point for the desktop executable. |
src/lib.rs |
Configures Tauri plugins and registers all backend commands. |
src/home.rs |
Logic for connecting to Nostr relays and fetching posts. |
src/news.rs |
Logic for parsing RSS feeds and calling AI APIs (Groq/OpenRouter). |
🛠️ Tech Stack
- Framework: Tauri v2 (Desktop Bridge)
- Frontend: Yew (Rust to WebAssembly)
- Styling: Vanilla CSS (Modern & Responsive)
- Networking:
reqwest&feed-rs - Protocol:
nostr-sdkfor decentralised communication - Config: RON (Rusty Object Notation) for local settings
🚀 Customization & Extension
How to add a new Page
- Create the UI: Add a new
.rsfile insrc/pages/. - Export it: Add your page to
src/pages/mod.rs. - Add Route: Define a new path in
src/app.rsinside theRouteenum andswitchfunction.
How to add a Backend Command
- Write the Logic: Create a function in
src-tauri/src/(e.g., in a new module). - Use
#[tauri::command]: Mark your function so it can be called from the frontend. - Register it: Add the function to the
invoke_handlerinsrc-tauri/src/lib.rs.
How to change the Design
- Most visual styles are defined in
styles.cssin the project root. - The Navbar layout can be adjusted in
src/navbar/.
Made with ❤️ and Rust.
⚖️ License
This project is licensed under the GNU GPL v3.
See the LICENSE file for the full license text.
Copyright (c) 2026 Bytemalte
Description
A modern, fast, and secure application to stay updated with the latest news from different worlds — from decentralized social networks to AI-generated insights.
https://malxte.de/
Releases
4
Release v0.3.0
Latest
Languages
Rust
63.1%
CSS
25.5%
Kotlin
10.9%
HTML
0.5%
