Skip to content

nicolettas-muggelbude/Tipels

Repository files navigation

Tipels

Tipels Logo

Einfache Einrichtung von Druckern und Scannern unter Linux

🐾 Kleine Schritte zum perfekt eingerichteten Drucker 🐾

Build Status Release License Python Version

FeaturesInstallationVerwendungDokumentationMitmachen


📸 Screenshot

Tipels GUI - Dark Mode

Tipels GUI im Dark Mode - Welcome-View mit gestaffelter Status-Aktualisierung


🐦 Über Tipels

Tipels (von "tipeln" = kleine Schritte machen) ist eine benutzerfreundliche Linux-Applikation, die das Einrichten von Druckern und Scannern vereinfacht.

Wie Vogelfußspuren auf einem Blatt Papier führt dich Tipels Schritt für Schritt zur perfekt eingerichteten Hardware - ohne komplexe Terminal-Befehle, ohne Treibersuche, ohne Kopfschmerzen.

💡 Warum Tipels?

  • 🔌 Plug & Play: Hardware anschließen, Tipels starten, fertig!
  • ⚡ Automatische Treiberinstallation: Kein manuelles Herunterladen mehr
  • 🌐 Netzwerk & USB: Unterstützt beide Verbindungsarten
  • 💾 Backup & Restore: Konfiguration sichern und wiederherstellen
  • 🔓 Open Source: Vollständig transparent und frei verfügbar (GPLv3)
  • 🇩🇪 🇬🇧 Mehrsprachig: Deutsch und Englisch

🖨️ Unterstützte Hersteller

v1.0 (In Entwicklung):

  • Brother (alle Modelle)
    • Testgerät: Brother MFC-L2700DN

v2.0+ (Geplant):

  • 🔜 HP
  • 🔜 Epson
  • 🔜 Canon

✨ Features

🖨️ Drucker-Setup

  • Automatische Erkennung von USB- und Netzwerk-Druckern
  • OpenPrinting-First Strategie: Foomatic-DB mit ~10.000+ Druckern
  • Intelligente Treiberauswahl: OpenPrinting → Hersteller-Website → Fallback
  • Multi-Hersteller-Support: Brother, HP, Canon, Epson (via Foomatic)
  • Treiber-Cache: Schneller Zugriff auf bereits erkannte Drucker
  • CUPS-Integration: Drucker registrieren, Status abfragen, verwalten
  • Testdruck-Funktion: CUPS-Testseite oder eigene Datei drucken

🖼️ Scanner-Setup

  • Automatische Scanner-Erkennung
  • SANE/brscan4-Integration (Brother)
  • USB + Netzwerk-Support via brsaneconfig4
  • Automatisches Hinzufügen zu Benutzergruppen (lp, scanner, saned)
  • Test-Scan-Funktion via scanimage
  • Scanner-Status-Prüfung (Systemvoraussetzungen)

💾 Backup & Restore

  • ✅ Konfiguration sichern (Drucker, Scanner, Treiber)
  • ✅ Wiederherstellung auf gleichem oder neuem System
  • ✅ Automatische Treiber-Nachinstallation
  • ✅ JSON-Format (.tipels-backup)

🎨 Benutzerfreundlich

  • GTK3-GUI (Phase 1 implementiert)
    • Dark Mode
    • Moderne StackSidebar-Navigation
    • Welcome-View mit gestaffelter Status-Aktualisierung
    • Scrollbares Info-Fenster
    • Akzentfarbe aus Logo (#3F51B5)
  • CLI für Poweruser und Skripte (vollständig funktionsfähig)
  • 🔜 Deutsch und Englisch (i18n vorbereitet)
  • 🔜 Desktop-Benachrichtigungen
  • ✅ Hilfreiche Fehlermeldungen und Logging

🔒 Sicherheit

  • 🔜 PolicyKit-Integration für sichere Berechtigungen (geplant)
  • ✅ Sudo-basierte Berechtigungen (aktuell)
  • ✅ Kein unnötiger Root-Zugriff

📦 Installation

Voraussetzungen

  • OS: Ubuntu 20.04+, Debian 11+, Linux Mint 20+
  • Python: 3.10 oder höher
  • Desktop: GTK-basierte Umgebung (GNOME, Cinnamon, XFCE, MATE)

Ubuntu / Debian / Linux Mint

Via .deb-Paket (empfohlen - noch nicht verfügbar)

# Download der neuesten Version
wget https://github.com/nicolettas-muggelbude/Tipels/releases/download/v1.0.0/tipels_1.0.0_amd64.deb

# Installation
sudo dpkg -i tipels_1.0.0_amd64.deb
sudo apt-get install -f  # Falls Abhängigkeiten fehlen

Via Snap (noch nicht verfügbar)

sudo snap install tipels

🛠️ Aus dem Quellcode (Development)

# 1. Repository klonen
git clone https://github.com/nicolettas-muggelbude/Tipels.git
cd Tipels

# 2. System-Dependencies installieren
./install-system-deps.sh

# 3. Virtual Environment erstellen
python3 -m venv venv
source venv/bin/activate

# 4. Python-Dependencies installieren
make install-dev

# 5. Tipels starten
tipels --version

Hinweis: PyGObject und dbus-python werden über System-Pakete installiert, nicht über pip!


🚀 Verwendung

GUI-Modus (GTK3)

# GUI starten (Development)
cd /pfad/zu/Tipels
./start-gui.sh

# Oder mit PYTHONPATH
PYTHONPATH=src python3 -m tipels.gui.gtk.main

Features:

  • 🌙 Dark Mode
  • 📊 System-Status (CUPS, SANE, Drucker, Scanner)
  • 🔍 Hardware-Scan (geplant - Phase 2)
  • ⚙️ Geräteinstallation (geplant)

Hinweis: Die GUI ist in Phase 1 - weitere Features folgen!

CLI-Modus

# Hardware scannen
tipels scan

# Drucker installieren (automatisch)
sudo tipels install --model "MFC-L2700DN" --connection usb

# Netzwerk-Scanner installieren
sudo tipels install --model "MFC-L2700DN" --connection network --ip 192.168.1.100

# Installierte Geräte auflisten
tipels list

# Gerät entfernen
sudo tipels remove "Brother_MFC_L2700DN"

# Backup erstellen
tipels backup ~/tipels-backup.tipels-backup

# Backup wiederherstellen
sudo tipels restore ~/tipels-backup.tipels-backup

📚 Dokumentation


🤝 Contributing

Beiträge sind herzlich willkommen! Siehe CONTRIBUTING.md für Details.

Wie kann ich helfen?

  • 🐛 Bugs melden - GitHub Issues
  • 💡 Feature-Ideen einreichen
  • 📝 Dokumentation verbessern
  • 🌍 Übersetzungen hinzufügen
  • 💻 Code beitragen
  • 🧪 Testen mit verschiedenen Hardware

Entwicklung

# Repository klonen
git clone https://github.com/nicolettas-muggelbude/Tipels.git
cd Tipels

# System-Dependencies & Development-Setup
./install-system-deps.sh
python3 -m venv venv
source venv/bin/activate
make install-dev

# Tests ausführen
make test

# Code-Formatierung
make format

# Linting
make lint

Test-Status:

  • ✅ 197 Unit-Tests (alle bestehen)
  • ✅ 80% Code-Coverage
  • ✅ CI/CD mit GitHub Actions

🏗️ Entwicklungsstand

Aktuelle Version: v0.1.0 (Alpha - In Entwicklung)

✅ Implementiert (Phase 1-5.1)

  • Projekt-Struktur & Setup
  • Logger-System (94% Coverage)
  • Config-System (79% Coverage)
  • Hardware-Detector (USB/Netzwerk, 83% Coverage)
  • Device-Klassen (Printer, Scanner, MFP)
  • Foomatic-Integration (~10.000+ Drucker via OpenPrinting)
  • Printer-Cache (JSON-basiert, 97% Coverage)
  • DriverInstaller (Repository + Brother-Website, 67% Coverage)
  • Brother-Scanner-Manager (SANE/brscan4, 82% Coverage)
  • OpenPrinting-First Strategie (Automatische Multi-Hersteller-Unterstützung)
  • CUPS-Helper (Drucker registrieren, Status, Testdruck, 87% Coverage)
  • SANE-Helper (Scanner-Utilities, Auflistung, Test-Scan, Fähigkeiten, 85% Coverage)
  • CLI-Interface (vollständig funktionsfähig mit 9 Befehlen)
  • GTK3-GUI Phase 1 (Grundgerüst)
    • Dark Mode
    • Welcome-View mit gestaffelter Status-Aktualisierung
    • StackSidebar-Navigation
    • Scrollbares Info-Fenster
    • Akzentfarbe aus Logo
    • Threading-Infrastruktur
  • 197 Unit-Tests (80% Coverage)
  • CI/CD (GitHub Actions)
  • Logo & Branding
  • Umfassende Dokumentation

🚧 In Arbeit (Phase 5.2+)

  • GUI Phase 2: Hardware-Scan-View
  • GUI Phase 3: Installation-Wizard
  • GUI Phase 4: Geräteverwaltung
  • Backup/Restore-Funktion (vollständig)
  • PolicyKit-Integration

📅 Roadmap

v1.0 (Erstes Release)

  • Brother-Drucker & Scanner
  • USB & Netzwerk
  • GTK-GUI + CLI
  • Backup/Restore
  • .deb & Snap

v1.1

  • Qt-GUI
  • AppImage & Flatpak
  • Weitere Distributionen (Fedora, Arch)

v2.0

  • HP, Epson, Canon
  • Drucker-Monitoring
  • Firmware-Updates

Siehe IMPLEMENTIERUNGSPLAN.md für Details.


📄 Lizenz

Tipels ist freie Software, lizenziert unter der GNU General Public License v3.0.

Siehe LICENSE für Details.


🙏 Danksagungen

  • Brother - für Linux-Treiber-Unterstützung
  • CUPS - Common Unix Printing System
  • SANE - Scanner Access Now Easy
  • PyGObject - Python-GTK-Bindings
  • Alle zukünftigen Contributors und Tester

💬 Support


Tipels

Gemacht mit ❤️ für die Linux-Community
🐾 Kleine Schritte. Große Wirkung. 🐾

About

Einfache Einrichtung von Druckern und Scannern unter Linux 🇩🇪 🇬🇧

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages