RaspberryPi als Server

vom

Meine Raspberry Pis laufen mit Raspbian einer für ARM optimierten Linux Distribution dessen Basis ein Debian ist. Für die Installation von Diensten und zur weiteren Wartung verbinde ich mich den rPis nur per SSH, was ich völlig ausreicht. Da Raspbian mit einer vorinstallieren grafischen Oberfläche installiert wird kann man diese entfernen und damit kostbare Ressourcen freigeben.

Dafür entfernen wir alle X11 relevanten Pakete. Falls die Konfigurationsdateien erhalten bleiben sollen, nutzt “remove” statt “purge” Mit dem Parameter -y wird die aktion ohne weitere Abfrage direkt ausgeführt.

apt-get purge -y gpicview xarchiver xpdf galculator scratch dillo midori netsurf-gtk omxplayer alsa-base alsa-utils penguinspuzzle python-pygame lxde-core lxde-common lxde-icon-theme lxinput lxmenu-data lxpolkit lxrandr lxsession lxsession-edit lxshortcut lxtask lxterminal lxappearance lightdm lightdm-gtk-greeter openbox ttf-dejavu-core fontconfig fontconfig-config fonts-freefont-ttf wpagui x11-common dbus-x11 desktop-base desktop-file-utils hicolor-icon-theme leafpad xdg-utils xauth gnome-themes-standard gtk2-engines raspberrypi-artwork wolfram-engine

Nach dem Aufräumen müssen wir noch “dpkg” bereinigen.

dpkg --configure -a

Fertig! Damit ist der Raspberry Pi von allen befreit, was eine Desktop Oberfläche erzeugt ober benutzt und kann Server sein.

twitter_ebooks-Bot

vom

Ich habe nun ein Twitter-Bot. Wozu? Na, weil ich es kann! ;-)

Es handelt sich hierbei um ein twitter_ebooks-Bot. Ich könnte euch hier jetzt aufwendig erklären wie ich den Bot erstellt habe. Aber dazu habe ich keine Lust. Wäre auch schwachsinnig. Es gibt dafür schon Anleitungen und wozu das Rad neu erfinden? Auf der GitHub Seite des Entwicklers ist z.B. eine Anleitung. Falls ihr eine detailreichere Anleitung benötigt so könnt Ihr die von @autoritaetsprbl benutzen (link).

Es ist lustig zu sehen, was der Bot - eigenständig - aus dem eigenen Twitter Archive so zaubert. Lustig sind auch die Antworten, die der Bot auf Mentions und DM’s schreibt. Manchmal machen die Antworten auch sinn ;-)

Hier mal ein paar nette Tweets vom Bot:

Mein Bot nutzt auch den Hamburger ÖPNV und sucht sich Alternativen, wenn er zu lange warten muss :-P

Twitter Bot und die Hashtag Problematik

vom

Beim Nutzen des Bots, fiel mir auf, dass dieser auch Hashtags benutzt. Ist ja auch klar, denn der Bot erstellt neue Tweets aus Wörtern von alten Tweets. Und da in diesen auch Hashtags verwendet worden sind, nutzt der Bot auch diese. Das ist aber… bescheiden. Denn so werden unnötig Tweets auf Hashtags erzeugt und das muss nicht sein. Besonders dann, wenn es sich um wichtige Hashtags handeln. Leider hat der von mir verwendete Bot selber keine Einstellungsmöglichkeit um die Nutzung von Hashtags zu untersagen. Also muss man selber ran.

Dafür gibt es zwei möglichkeiten:

  • Methode eins: Man entfernt, über Suchen & Ersetzen, alle in der Archive.csv Datei vorhandene “#” und liest diese dann erneut ein.
  • Methode zwei (die schönere Methode): Man lässt den Bot solange neue Tweets erstellen bis keine ‘#’ mehr vorkommt. Erst dann darf er diesen Twittern.

Natürlich habe ich mit für Methode zwei entschieben. Und so habe ich dies Umgesetzt: Die Tweets werden in der bots.rb erzeugt. Und dort habe ich auch die ganzen Änderungen hinzugefügt. Zuerst habe ich eine Funktion geschrieben, welche prüft ob in einem Text eine “#” vorkommt. Ganz Simpel:

def checkTweet(tweetText)
  if not tweetText =~ /#/
    return true
  end
  return false
end

Damit ist auch schon die halbe Arbeit getan. Nun muss nur noch an den stellen, wo ein Tweet erzeugt wird, eine Schleife drum herum gebaut werden, welche so lange ein neuen Tweet erstellt bis die Funktion ein true zurück gibt.

genTweet = true
while genTweet do
  tweetText = model.make_statement
  if checkTweet(tweetText)
    genTweet = false
  end
end
	  
tweet(tweetText)

Fertig. Simpel oder? Die fertige bots.rb findet Ihr hier.

Ihr könnt natürlich die Funktion erweitern und so dem Bot verbieten bestimmte Zeichen oder Wörter zu benutzen.

Ghost um eine robots.txt erweitern

vom

Ich nutze ja Ghost als Blogging Software. Um Ghost um eine robots.txt zu erweitern, muss diese einfach im Ordner vom Theme erstellt werden.

$ cd /var/www/blog.nicojensen.de/content/themes/Vapor/
$ nano robots.txt

Da Ghost keine sitemap.xml erstellt macht es sinn den RSS-Feed als Sitemap in der robots.txt anzugeben, da die meisten Bots den RSS-Feed auch als Sitemap nutzen können.

Sitemap: https://blog.nicojensen.de/rss

Ein Monat Tor Relay

vom

Ich habe jetzt seit einem Monat ein Tor Relay bei mir laufen. Hier einmal die Auswertung, des monatlichen Traffics:

Traffic

Wie man sieht, hatte ich am Anfang etwas Probleme, was an einen falschen Wert in der Konfigurationsdatei lag. Dann hatte ich am Netzwerk was geändert, was dazu führte, dass der Tor Relay ausfiel. Danach war alles Super. Im Durchschnitt gute 3Mbit/s und 30GiB an Traffic pro Tag. Wenn das so bleibt, wie in den letzten 9 Tagen, dann werde ich, in aller Wahrscheinlichkeit, im August allein durch den Tor-Relay 1TB Traffic verursachen. \o/

Falls es euch interessiert die Netzwerk Statistik vom Relay ist in diesem Internet zu finden.