Das ist es nur. Ein minimalistischer Pastebin-Klonserver in Golang. Es unterstützt nur zwei Operationen:
Was brauchst du noch?
binnit ist eine einzelne ausführbare Datei ohne Abhängigkeiten . Sie benötigen keinen Webserver. Sie brauchen keinen SQL -Server. Sie brauchen keine externe Bibliothek.
binnit dient Pasten im Format:
http://<server_name>/abcdef1234567890
und speichert sie in einem Ordner auf dem Server, einer Datei pro Paste, deren Dateiname mit der Einfügen -ID identisch ist. Die eindeutige ID einer Paste erfolgt aus dem SHA256 der Verkettung von Titel, Zeit und Inhalten. Das Rendering ist absichtlich minimal, aber basierend auf einer anpassbaren Vorlage.
binnit ist derzeit über eine einfache Key = Value -Konfigurationsdatei konfiguriert, deren Name in der Befehlszeile über die Option -c <config_file> angegeben werden kann. Wenn keine Konfigurationsdatei angegeben ist, sucht binnit nach ./binnit.cfg . Die konfigurierbaren Optionen sind:
Wie bei anderen Pastebin-ähnlichen Diensten können Sie eine Paste mit curl an binnit senden. Wenn Ihr binnit -Server beispielsweise auf http://servername.net ausgeführt wird, können Sie dort eine Datei mit:
curl -F 'paste=<myfile' http://servername.net
und erhalten Sie bei Ausgabe die ID, die der neu erstellten Paste zugeordnet ist. Ähnlich
mylongcommand | curl -F 'paste=<-' http://servername.net
Fügen Sie die Ausgabe von mylongcommand in http://servername.net ein und zeigen Sie die ID der neuen Paste aus.
Es gibt Hunderte von Pastebin-ähnlichen Servern in freier Wildbahn. Die überwältigende Mehrheit von ihnen ist jedoch eine überlebende Software, abhängig von vielen Bibliotheken/Frameworks/Tools, der eine Menge nutzloser Funktionen und impliziert eine nutzlose Menge an Komplexität.
Ein Paste -Server muss in der Lage sein, zwei Dinge zu tun, 1) eine neue Paste erstellen und seine ID zurückgeben und 2) eine vorhandene Paste mit seiner ID abrufen. binnit tut so einfach und nur diese beiden Dinge, so einfach wie möglich, ohne externe Abhängigkeit. Wenn Sie mehr als das brauchen, ist binnit nicht für Sie. Aber brauchst du wirklich noch etwas?
Es scheint, dass Perfektion nicht erreicht wird, wenn nichts mehr hinzugefügt zu werden gibt, sondern wenn nichts mehr zu entfernen ist (Antoine de Saint Exupéry)
binnit soll wirklich minimal sein. Es besteht insgesamt etwa 500 Zeilen Golang -Quellcode, einschließlich:
Wenn Sie binnit noch weiter abziehen möchten, können Sie in Betracht ziehen,:
Sie können die Lizenzanweisungen in jeder Quelldatei nicht entfernen.
binnit ist Copyright (2017) von Vincenzo "Katolaz" Nicosia.
binnit ist kostenlose Software. Sie können es unter den Bestimmungen der GNU Affero General Public Lizenz, Version 3 der Lizenz oder nach Ihrer Option einer späteren Version verwenden, ändern und neu verteilen. Weitere Informationen finden Sie unter Lizenz.MD.