2026-01-31 11:46:48 +01:00
2025-12-28 09:01:26 +01:00
2026-01-31 11:46:48 +01:00
2026-01-27 06:29:46 +01:00
2026-01-31 11:46:48 +01:00
2025-12-28 09:01:26 +01:00
2026-01-22 13:37:48 +01:00
2025-12-28 09:01:26 +01:00
2026-01-31 11:44:33 +01:00
2026-01-31 11:44:33 +01:00
2026-01-27 06:29:46 +01:00
2025-12-28 09:01:26 +01:00

📰 Maltemedia

License: GPL v3 Rust

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-sdk for decentralised communication
  • Config: RON (Rusty Object Notation) for local settings

🚀 Customization & Extension

How to add a new Page

  1. Create the UI: Add a new .rs file in src/pages/.
  2. Export it: Add your page to src/pages/mod.rs.
  3. Add Route: Define a new path in src/app.rs inside the Route enum and switch function.

How to add a Backend Command

  1. Write the Logic: Create a function in src-tauri/src/ (e.g., in a new module).
  2. Use #[tauri::command]: Mark your function so it can be called from the frontend.
  3. Register it: Add the function to the invoke_handler in src-tauri/src/lib.rs.

How to change the Design

  • Most visual styles are defined in styles.css in 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/
Readme GPL-3.0 4.2 MiB
2026-01-31 12:11:43 +00:00
Languages
Rust 63.1%
CSS 25.5%
Kotlin 10.9%
HTML 0.5%