====== AnonyMail ====== AnonyMail soll ein Webinterface für [[http://mixmaster.sf.net/|Mixmaster]] werden. Bei [[http://anonymouse.org/|Anonymouse]] gibt es bereits sowas für [[http://anonymouse.org/anonemail_de.html|E-Mail]] und [[http://anonymouse.org/anonnews_de.html|Usenet-News]]. Das Interface von AnonyMail soll ein wenig moderner werden und dem Nutzer ein paar Möglichkeiten bieten. Des Weiteren soll es für andere Admins einfach sein, den Code in deren Seiten einzubauen. ===== Mixmaster ===== Mixmaster ist eine Software zur Anonymisierung von E-Mails und Usenet-Nachrichten. Dazu werden die Nachrichten über verschiedene Stufen verschlüsselt und dann über eine Kette von Servern an das Ziel verschickt. Mixmaster gibt es als Version für die Kommandozeile oder eingebunden in diverse Programme. Es hat sich gezeigt, dass einige Nutzer Probleme mit den diversen Varianten haben. Anonymouse bietet hingegen eine einfache Schnittstelle an. Das Ziel des Projektes ist, die Variante von Anonymouse etwas zu »entstauben«. ===== Weboberfläche ===== Die Oberfläche sollte sich an die bereits bekannten Seiten anlehnen. Daneben soll der Benutzer die Möglichkeit haben, zwischen einem und zwanzig Remailer auszuwählen. Weiterhin sollten innerhalb der Kette einige Remailer zufällig und andere bestimmt gewählt werden können. ==== Allgemeine Überlegungen ==== === Cookies === Die Webanwendung darf keinerlei Cookies benutzen. Die komplette Bedienung speichert keine Nutzerdaten. Dafür sollte die Benutzerschnittstelle so einfach wie möglich gehalten werden. === Validierung von Eingabedaten === Bei allein Varianten (Mit und ohne JS) muss die Eingabe geprüft werden. Insbesondere dabei die Gültigkeit der E-Mail-Adresse. Sollte eine ungültige eingegeben werden, dann wird die E-Mail abgelehnt und dem Nutzer eine Meldung angezeigt. Je nachdem wie die E-Mail dann an Mixmaster übergeben wird, könnte es sein, dass die Anwendung anfällig für Injection ist, d.h. anstatt der „normalen“ Angaben wird versucht, der Shell Befehle unterzujubeln. Hier muss also ggf. Vorsorge getroffen werden. === Aufbau von Remailerketten === Manchmal gibt es Probleme zwischen verschiedenen Remailern. Einer kann keine E-Mails zum anderen weitergeben. Solche Bruchstellen sollten vermieden werden. Wenn der Nutzer selbstständig eine solche Kombination zweier Remailer wählt, muss er gewarnt werden und sollte die E-Mail nur nach einer Gegenbestätigung abschicken können. Eine andere Lösung wäre, dass er die E-Mail gar nicht senden kann. ==== Version ohne JavaScript ==== Es muss eine Variante geben, die ohne JS auskommt. * ListenpunktEingabefelder für Empfänger, Betreff und Text * Auswahlbox für Anzahl der Remailer (1–20) * Auswahlbox für Remailer * Jeder muss mehrfach ausgewählt werden können. * Der letzte in der Kette muss ein Exit (Nicht-Middleman) sein. * Der Nutzer muss innerhalb einer Kette auch einen zufällig gewählten einstellen können. Diesen wählt dann später Mixmaster selbst aus. * Button zum Absenden der Nachricht * Optional könnte man noch ein CAPTCHA einbauen. ==== Version mit JavaScript ==== Die Version mit JavaScript benötigt genauso wie oben Eingabefelder. Für die Auswahl der Remailer stelle ich mir vor, dass es so eine Art Kette gibt. Die Kette ist zuerst leer und daneben befinden sich Kästchen mit den Namen aller Remailer. Der Nutzer kann nun ein Kästchen an eine Position in der Kette ziehen und sich diese so zusammenbauen. Wenn weniger als drei Remailer ausgewählt werden, sollte die gesamte Kette gelb oder rot unterlegt sein. Das soll signalisieren, dass der Nutzer mehr wählen muss. Baut der Nutzer keine Kette zusammen, so werden drei oder vier Remailer zufällig ausgewählt. Wenn am Ende der Kette ein Middleman steht, darf es im Interface keine Möglichkeit geben, die E-Mail abzusenden. Das heißt, der Sende-Button könnte deaktiviert werden und zusätzlich wird eine Meldung angezeigt. Die Anwendung sollte kalkulieren, wie hoch die Uptime der Kette ist und ggf. bei Unterschreiten eines bestimmten Wertes (80%?) warnen. Hierzu könnte die gesamte Kette wieder farbig markiert und dem Nutzer eine Warnung ausgegeben werden. ===== Herkunft der Daten ===== Für den Abruf der Daten bieten sich zwei Quellen an: - Abruf und Parsen der [[http://pinger.mixmin.net/mlist2.txt|mlist2-Dateien]] von einem anderen Echolot-Pinger (siehe [[http://pinger.mixmin.net/|Echolot bei freie-re.de]]) oder - Betrieb eines eigenen Echolot-Pingers Zuerst sollte die erstgenannte Variante bevorzugt werden. Das heißt, man wählt einen Pinger aus der [[http://www.noreply.org/allpingers/allpingers.txt|allpingers.txt]] aus, ruft dessen Daten regelmäßig ab und nutzt diese für das Webinterface. Einen eigenen Echolot-Pinger zu betreiben, halte ich nicht für sinnvoll. Es werden wohl keine anderen bzw. wesentlich neuen Erkenntnisse als bei den anderen Pingern gewonnen. Andererseits erhöht man damit die Last für das Remailer-Netzwerk. ===== Abhängigkeiten ===== Neben den Abhängigkeiten, die der Code der Seite selbst produziert, benötigt man folgende weitere Programme: Mixmaster-Client für die Weitergabe und den Versand der Nachrichten Cron zum Update der Pinger-Daten ===== Vergleichbare Seiten ===== So sehen die momentan existierenden Seiten aus: * [[http://anonymouse.org/anonemail_de.html|Anonymouse (E-Mail)]] * [[http://anonymouse.org/anonnews_de.html|Anonymouse (Usenet)]] * awxcnx (Mittlerweile offline) * [[http://gilc.org/speech/anonymous/remailer.html|Gilc.org]] ===== Andere Projekte ===== Ich habe zwei Projekte gefunden, die etwas ähnliches machen: * [[http://pyanon.sourceforge.net/|Pyanon]] * [[https://www.cotse.net/cgi-bin/mixmail.cgi|Mixweb]] ([[https://www.cotse.net/mixweb.tgz|tgz]])