Datenschutz und Speicher¶
BlueFerry läuft vollständig auf deinem Rechner. Es spricht über Bluetooth direkt mit deinem iPhone und schickt nichts an einen Server.
Mitteilungen¶
Auf der iPhone-Seite des Clients wählst du einen von drei Modi:
| Modus (im Client) | Desktop-Mitteilungen |
|---|---|
| Messages only (Standard) | Neue Nachrichten |
| All iPhone notifications | Neue Nachrichten und Mitteilungen anderer iPhone-Apps |
| None | Keine |
Mitteilungen anderer Apps werden angezeigt und danach verworfen. Sie landen nie im Nachrichtenverlauf und werden nie an andere Programme verteilt. Nachrichten, die sowohl über MAP als auch über ANCS ankommen, erscheinen nur einmal. Die ANCS-Kopie einer Mitteilung aus Apple Messages (Titel, Untertitel und höchstens die ersten 1024 Byte des Texts) bleibt im lokalen Verlauf, im unten gewählten Speichermodus, weil sie die Gruppenangaben enthält, die MAP fehlen.
Standardmäßig markiert das Schließen einer Nachrichtenmitteilung die
Nachricht auch auf dem iPhone als gelesen. Manche „Nicht stören“- oder
„Blockieren“-Aktionen von Benachrichtigungszentralen schließen Mitteilungen,
statt sie nur auszublenden. Dann würden Nachrichten als gelesen markiert,
ohne dass du sie gesehen hast. Mit BLUEFERRY_MARK_READ_ON_DISMISS=false
schaltest du das ab.
Apps filtern¶
Im Modus All iPhone notifications kannst du über die genaue Bundle-ID festlegen, welche Apps Mitteilungen erzeugen. Groß- und Kleinschreibung zählt:
# Alle Apps außer diesen erlauben:
BLUEFERRY_ANCS_APP_BLOCKLIST=com.example.Chat,com.example.Mail
# Oder nur diese erlauben:
# BLUEFERRY_ANCS_APP_ALLOWLIST=com.example.Calendar,com.example.Reminders
Sind beide gesetzt, gewinnt die Blockliste. Eine leere Erlaubnisliste blockiert alle Apps außer Nachrichten. Bundle-IDs findest du im Log, während die App eine Mitteilung schickt. BlueFerry protokolliert jede App einmal, ohne Inhalt:
journalctl --user -u blueferry -f | grep "ANCS app observed"
Klickregeln¶
Klickregeln öffnen beim Klick auf das Popup
einer App eine feste Adresse oder App. Nichts aus der Mitteilung wird
weitergegeben. Die Regeln liegen unverschlüsselt in settings.json; der
Benachrichtigungsserver sieht sie nie, nur eine feste Aktion „Öffnen“ und
eine zufällige ID pro Popup.
Lokale Daten¶
BlueFerry speichert Nachrichtenverlauf und einen Kontakt-Cache, damit Unterhaltungen einen Neustart überstehen. Du entscheidest, wie:
| Speichermodus | Verhalten |
|---|---|
| Verschlüsselt (Standard) | Verschlüsselt mit einem Zufallsschlüssel aus GNOME Schlüsselbund oder KDE Wallet |
| Unverschlüsselt | Ohne Verschlüsselung gespeichert |
| Keine lokalen Daten behalten | Verlauf und Kontakte werden nicht auf die Festplatte geschrieben |
- Ist der Schlüsselbund gesperrt, kommen neue Nachrichten trotzdem an.
Gespeicherter Verlauf und Kontaktnamen warten, bis du ihn entsperrst (im
Client oder mit
blueferry storage-unlock). - Ein Wechsel des Speichermodus leert den bisherigen Cache, damit verschlüsselte und unverschlüsselte Daten nie gemischt werden.
- Markierte Unterhaltungen, gespeicherte Gruppenmitglieder und Gruppenbestätigungen folgen demselben Speichermodus.
blueferry history-clearlöscht den lokalen Nachrichtenverlauf.
Mit den optionalen Kontaktfotos enthält der
Kontakt-Cache auch die Bilder deiner Kontakte, im selben Speichermodus. Für
Popup-Symbole legt das Backend kurzlebige Kopien, die nur dir gehören, in
$XDG_RUNTIME_DIR/blueferry ab. Die Einstellung selbst steht als
contact_photos in settings.json. Schaltest du die Option aus, löscht
BlueFerry die Avatar-Dateien und gespeicherten Fotos. Die Bereinigung wartet
auf laufende Kontakt-Synchronisierungen und wiederholt fehlgeschlagene
Löschversuche; blueferry contact-photos status zeigt ihren Abschluss an.
Die Verschlüsselung schützt gespeicherte Daten. Andere Programme, die unter deinem Benutzer laufen, können trotzdem die D-Bus-API von BlueFerry nutzen und bei entsperrtem Schlüsselbund unter Umständen dessen Geheimnisse lesen.
Dateien und Ordner¶
| Pfad | Inhalt |
|---|---|
~/.config/blueferry/ |
Konfiguration (local.env) und Einstellungen (settings.json) |
~/.local/state/blueferry/ |
Nachrichtenverlauf, Kontakt-Cache, bereinigte Kopplungsberichte |
Beim Deinstallieren der Pakete bleiben beide Ordner erhalten.
Einmalcodes¶
Das Kopieren von Einmalcodes ist standardmässig aus.
Schaltest du es ein, legt das Backend Bestätigungscodes aus neuen
Nachrichten in die Zwischenablage des Desktops, wo jedes Programm, das die
Zwischenablage liest, sie sehen kann. Der Code wird nie geloggt,
gespeichert oder über BlueFerrys D-Bus-Schnittstelle veröffentlicht. Mit
BLUEFERRY_OTP_CLEAR_SECONDS gibt das Backend beim Ablauf des Timers nur
seine eigene Zwischenablage-Quelle frei; beim Beenden auch ohne Timer.
Es liest die Zwischenablage nicht zurück und leert keine Auswahl eines
anderen Programms. Kopien in Persistenzwerkzeugen oder Zwischenablage-Managern
bleiben unter deren Kontrolle. Die erste Wayland-Kopie wartet auf die
Prüfung der Sensitiv-Markierung; Manager müssen diese beachten, um Codes
aus ihrem Verlauf auszuschließen.
Einstellungen in local.env¶
Bearbeite ~/.config/blueferry/local.env und starte den Dienst danach mit
systemctl --user restart blueferry neu.
| Einstellung | Standard | Bedeutung |
|---|---|---|
BLUEFERRY_SHOW_NOTIFICATION_CONTENT |
true |
Nachrichtentext in Mitteilungen zeigen |
BLUEFERRY_NOTIFICATION_TIMEOUT_MS |
8000 |
Anzeigedauer einer Mitteilung (1000–60000) |
BLUEFERRY_MARK_READ_ON_DISMISS |
true |
Schließen einer Mitteilung markiert die Nachricht auf dem iPhone als gelesen |
BLUEFERRY_HISTORY_RETENTION_DAYS |
30 |
Aufbewahrung des Verlaufs in Tagen (1–3650) |
BLUEFERRY_HISTORY_MAX_EVENTS |
10000 |
Höchstzahl gespeicherter Ereignisse (100–1000000) |
BLUEFERRY_HISTORY_MAX_PAYLOAD_BYTES |
268435456 |
Höchstmenge gespeicherter Daten in Byte (16 MiB–2 GiB) |
BLUEFERRY_KEEP_PHONE_AUDIO_ON_PHONE |
true |
Anrufe und Musik auf dem iPhone lassen |
BLUEFERRY_ANCS_APP_ALLOWLIST |
nicht gesetzt | Siehe Apps filtern |
BLUEFERRY_ANCS_APP_BLOCKLIST |
nicht gesetzt | Siehe Apps filtern |
BLUEFERRY_OTP_AUTOCOPY |
false |
Startwert für das Kopieren von Einmalcodes, bis ein Client die Einstellung speichert, siehe Einmalcodes |
BLUEFERRY_OTP_CLEAR_SECONDS |
0 |
Kopierten Code nach so vielen Sekunden entfernen (0 = behalten, max. 600) |
BLUEFERRY_CONTACT_PHOTOS |
false |
Startwert für Kontaktfotos, bis ein Client die Einstellung speichert; siehe Kontaktfotos |
Die Kopplung schreibt Telefon- und Adapter-Einstellungen in dieselbe Datei. Ändere diese durch eine neue Kopplung statt von Hand.
Mediensteuerung¶
Die optionale Mediensteuerung ist standardmäßig aus.
Ist sie an, bleiben Titel, Interpret, Album und App-Name in BlueFerry; Clients
holen sie über die authentifizierte D-Bus-Schnittstelle. Zu deiner Musik
wird nichts auf die Festplatte oder ins Protokoll geschrieben. Gespeichert
wird nur die Wahl an/aus, in settings.json. Die getrennte MPRIS-Option macht
den aktuellen Titel bewusst für jede Anwendung in deiner Sitzung lesbar, wie
bei jedem Desktop-Musikplayer.
Anrufe und Musik bleiben auf dem iPhone¶
Mit WirePlumber 0.5 oder neuer schreibt BlueFerry vor der Kopplung
~/.config/wireplumber/wireplumber.conf.d/99-blueferry-keep-phone-audio.conf.
Damit dient der Rechner dem iPhone nicht als Bluetooth-Lautsprecher oder
-Headset, und Anrufe und Musik bleiben auf dem Telefon. Mit
BLUEFERRY_KEEP_PHONE_AUDIO_ON_PHONE=false entfernst du diese Datei.