Uberspace Archives - Technik - Blogbasis.net https://technik.blogbasis.net/tag/uberspace Die Basis des freien Wissens – Technik Mon, 13 Oct 2014 23:46:57 +0000 de hourly 1 https://wordpress.org/?v=6.8.1 Uberspace – Mit Catchall-Adressen Spam erkennen/eingrenzen https://technik.blogbasis.net/uberspace-mit-catchall-adressen-spam-erkenneneingrenzen-14-10-2014 https://technik.blogbasis.net/uberspace-mit-catchall-adressen-spam-erkenneneingrenzen-14-10-2014#respond Mon, 13 Oct 2014 23:46:57 +0000 http://technik.blogbasis.net/?p=1209 Während der letzten Monate habe ich mich mit einer Emailadresse bei verschiedenen Diensten angemeldet. Nach und nach resultierte das in einer zuvor nicht dagewesenen Welle an Spamnachrichten. Leider kann man mit einer Emailadresse nicht wirklich nachvollziehen, ob ein Anbieter Emailadressen weiterverkauft oder diese auf irgendeine Art und Weise ergaunert wurden. Nach ein paar Minuten des Grübelns fiel mir eine Lösung ein: Mit Hilfe von Catchall-Adressen und separaten Unterordnern die Übeltäter entlarven.

Voraussetzungen?

Im weiteren Teil des Artikels gehe ich davon aus, das ihr den grundlegenden Umgang mit .qmail bzw. maildrop auf einem Uberspace beherrscht. Andernfalls bietet das Uberspace Wiki einen guten Einstieg.

Idee?

Die Idee besteht darin, dass wir eine Catchall-Adresse anlegen. Dem zu „beliebigen“ Teil der Emailadresse wird jedoch immer ein eigener Unterordner angelegt. Beispiel:

  • .qmail-account-default bzw. account-[CATCHALL]@domain.tld
  • [CATCHALL] auf ^[A-Za-z0-9-]{1,25}$ begrenzen
  • ~/Maildir/.Accounts ist ein Mailordner

Dann möchten wir folgende Zuweisungen erreichen:

  • account-test@domain.tld >> ~/Maildir/.Account.test
  • account-foobar@domain.tld >> ~/Maildir/.Account.foobar
  • usw…

Umsetzung?

Für die Umsetzung benötigen wir zunächst eine neue Catchall-Adresse:

> cat ~/.qmail-account-default 
|maildrop $HOME/.maildrop-account

Wie man erkennen kann, werden die Emails an Maildrop weitergeleitet. Das Script sieht folgendermaßen aus:

> cat ~/.maildrop-account
#Base maildir
MAILDIR = "$HOME/Maildir/.Account"

#Logfile
logfile "$HOME/.maildrop-account.log"

#Import the 'catchall' part of the receivers email address
import DEFAULT

#Only deliver emails for allowed email addresses.
if ($DEFAULT =~ /^[A-Za-z0-9-]{1,25}$/)
{

#Check the existence of an appropriate mailfolder and create it if necessary.
 `test -d "$MAILDIR.$DEFAULT"`
 if( $RETURNCODE == 1 )
 {
 `maildirmake "$MAILDIR.$DEFAULT"`
 }

#Deliver the email
 to "$MAILDIR.$DEFAULT";
}

#Ignore all other emails
exit

Ich hoffe mal, das die Kommentare bzw. die 20 Zeilen Code selbsterklärend sind. Zuletzt muss noch das Logfile angelegt werden:

> touch ~/.maildrop-accounts.log
> chmod 600 ~/.maildrop-accounts.log

Setup testen?

Um das Setup zu testen, kann man sich vom Uberspace-Host einfach selbst eine Email schicken:

> echo "test" | mail -s testmail account-test@domain.tld

Nachdem man einige Sekunden gewartet hat, sollte ein neuer Eintrag im Logfile erschienen und ein neuer Ordner angelegt worden sein:

> ls ~/Maildir/ | grep test
drwx------ 5 gehaxelt gehaxelt 4.0K Oct 12 11:50 .Account.test

Zuletzt sollte man noch in seinem Mailclient diesen neuen Ordner abonnieren.

Fazit

Wenn nun eine der Catchall-Adressen mit Spam belagert wird, so bleibt dieser zumindest in einem Unterordner und die Herkunft lässt sich eventuell einfacher bestimmen.

~Sebastian

]]>
https://technik.blogbasis.net/uberspace-mit-catchall-adressen-spam-erkenneneingrenzen-14-10-2014/feed 0
Mailinglisten auf dem Uberspace einrichten https://technik.blogbasis.net/mailinglisten-auf-dem-uberspace-einrichten-13-07-2013 https://technik.blogbasis.net/mailinglisten-auf-dem-uberspace-einrichten-13-07-2013#respond Sat, 13 Jul 2013 20:52:29 +0000 http://technik.blogbasis.net/?p=800 Für das Podcastingprojekt Denken++ habe ich auf dem Uberspace eine kleine Mailingliste eingerichtet. Das alles funktioniert mit den von Uberspace bereitgestellten Tools recht einfach.

Die Idee

Da es keine weiteren Voraussetzungen gibt, setzen wir uns zunächst unser Ziel: Wir möchten später per Liste@domain.de eine Email an mehrere Empfänger weiterleiten, und dabei die Rücksendeadresse auf den Wert liste@domain.de setzen. Der letzte Schritt bietet sich an, damit die Personen die auf eine Email antworten nicht an den eigentlichen Absender schreiben, sondern direkt an die Liste zurück schreiben.

Die Umsetzung

Als erstes müssen wir eine neue .qmail Datei anlegen, welche Maildrop anweist den entsprechenden Mailfilter zu nutzen:

echo "|maildrop /home/$USER/.mailliste" > .qmail-liste

Im nächsten Schritt müssen wir noch die Mailfilter-Datei anlegen. Die Rechte müssen entsprechend gesetzt werden, da sonst Maildrop nicht funktioniert.

touch ~/.mailliste && chmod 600 ~/.mailliste

Den Mailfilter müssen wir dann mit unseren Daten füttern. Dazu öffnen wir die Datei mit dem favorisierten Editor:

logfile "/home/[BENUTZER]/.mailliste.log"

if (/^To:.*liste\@pdomain\.de/:h)
{
  xfilter "/usr/bin/reformail -i 'Reply-To: Mailliste <liste@domain.de>'"
  cc "!empfänger1@other-domain.de"
  cc "!empfänger2@other-domain.de"
  cc "!empfänger3@other-domain.de"
  cc "![...]"
  to "!letzter@other-domain.de"
}

Das Logfile legen wir genauso wie den Filter an:

touch ~/.mailliste.log && chmod 600 ~/.mailliste.log

Was macht der Mailfilter

Zunächst wird das Logfile festgelegt, in dem der Mailfilter seine Aktivitäten niederschreibt. Danach prüft der Mailfilter, ob die Empfängeradresse der Listen-Email entspricht. Ist dies der Fall, wird die Antwortadresse auf die Listen-Email gesetzt. Im letzten Schritt leitet der Mailfilter die Email an alle Personen in der Liste weiter.

Wenn man weitere Empfänger hinzufügen möchte, dann muss man nur einen entsprechenden „cc“-Eintrag hinzufügen. Dabei sollte man beachten, dass bei einer Emailadresse ein Ausrufezeichen davor stehen muss.

Fazit

Man kann mit einfachen Mitteln eine kleine Mailingliste auf dem Uberspace einrichten.

~ Sebastian

]]>
https://technik.blogbasis.net/mailinglisten-auf-dem-uberspace-einrichten-13-07-2013/feed 0
Archive my Tweets – Backup der eigenen Tweets auf dem Uberspace https://technik.blogbasis.net/archive-my-tweets-backup-der-eigenen-tweets-auf-dem-uberspace-29-06-2013 https://technik.blogbasis.net/archive-my-tweets-backup-der-eigenen-tweets-auf-dem-uberspace-29-06-2013#respond Sat, 29 Jun 2013 17:06:28 +0000 http://technik.blogbasis.net/?p=730 Ich besitze für meine verschiedenen Projekte jeweils verschiedene Twitter-Accounts. Twitter erlaubt einem nur den Zugriff auf die letzten 3200 Tweets der Timeline, und an ältere gelangt man nur, in dem man sich von Twitter alle Daten über seinen Account zuschicken lässt.

Mit der kleinen Webanwendung „Archive my Tweets“ hat man dieses Problem nicht mehr, denn diese sichert eure Tweets (täglich) auf euren Webspace.

Installation auf dem Uberspace

Nachdem wir uns auf dem Uberspace eingeloggt haben, müssen wir für die Software eine neue Datenbank anlegen.

echo "create database $(echo $USER)_twitter;" | mysql

Als nächstes legen wir einen Ordner für die Subdomain an und wechseln in das neue Verzeichnis:

mkdir /var/www/virtual/$USER/tweets.DOMAIN.de
cd /var/www/virtual/$USER/tweets.DOMAIN.de

DOMAIN.de solltet ihr dabei durch eure gewünschte Domain ersetzen.

Jetzt benötigen wir nur noch den Quelltext, welchen wir uns direkt von GitHub herunterladen:

git clone https://github.com/amwhalen/archive-my-tweets.git .

Damit später die von Archive my Tweet genutzten RewriteRules funktionieren, müssen wir die .htaccess um eine Zeile erweitern:

sed -i '2i\RewriteBase /' .htaccess

Wenn alles bis hierhin funktioniert hat, dann solltet ihr einen Konfigurationsdialog unter „tweets.DOMAIN.de“ vorfinden.

Die Informationen zum Ausfüllen der Felder sind meiner Meinung nach ausführlich und eindeutig beschrieben, sodass ich an dieser Stelle nicht weiter drauf eingehe.

Archive my Tweet Konfiguration

Archive my Tweet Konfiguration

Nachdem ihr die Daten ausgefüllt und den „Save & Install“ Button betätigt habt, lädt Archive my Tweets die letzten 3200 Tweets herunter. Solltet ihr mehr Tweets haben, dann müsst ihr diese von Twitter anfordern und selbst einpflegen. Weitere Informationen dazu gibt es auf GitHub.

Nach dem Import der Tweets sollte Archive my Tweets diese übersichtlich auflisten:

Archive my Tweets - Tweetübersicht

Archive my TweetsTweetübersicht

Update per Cronjob

Da man täglich neue Tweets verfasst, und den Backup-Prozess nicht immer selbst anstoßen möchte, können wir das auch dem Cronjob überlassen.

Um die Cronjobs zu verwalten, führen wir folgenden Befehl aus:

crontab -e

Die bestehenden Einträge müssen um folgende Einträge erweitert werden:

PATH=/package/host/localhost/php-5/bin:/bin:/usr/bin
PHPRC=/home/BENUTZER/etc
@daily php /var/www/virtual/BENUTZER/tweets.DOMAIN.de/cron.php > /dev/null

Wobei BENUTZER bzw. DOMAIN mit den entsprechenden Werten ersetzt. Falls der Nano geöffnet wurde, dann betätigt man einmal Strg+O gefolgt von Strg+X, um die Veränderungen zu speichern. Der Cronjob wird einmal täglich die neusten Tweets herunterladen. Die Änderungen sollte uns crontab bestätigen:

crontab: installing new crontab

Fazit

Nachdem Tweet Nest nicht mehr korrekt funktionierte, und mein Postfach mit Fehlermeldungen beim Ausführen des Cronjobs zumüllte, ist die Suche nach einer Alternative mit Archive my Tweets beendet. Es bietet die gleiche Funktionalität und lässt sich einfach einrichten bzw. bedienen.

Zum täglichen Backup seiner Tweets ohne weiteren SchnickSchnack ist das meiner Meinung nach ideal.

~Sebastian

]]>
https://technik.blogbasis.net/archive-my-tweets-backup-der-eigenen-tweets-auf-dem-uberspace-29-06-2013/feed 0