それだけです。 Golangのミニマリストで不気味なパスペビンクローンサーバー。 2つの操作のみをサポートします。
他に何が必要ですか?
binnit 、依存関係のない単一の実行可能ファイルです。 Webサーバーは必要ありません。 SQLサーバーは必要ありません。外部ライブラリは必要ありません。
binnitフォーマットのペーストを提供しています。
http://<server_name>/abcdef1234567890
サーバー上のフォルダーにそれらを保存します。1つはペーストごとに1つのファイルです。ファイル名はペーストIDと同一です。ペーストの一意のIDは、タイトル、時間、コンテンツの連結のSHA256から取得されます。レンダリングは意図的には最小限ですが、カスタマイズ可能なテンプレートに基づいています。
binnitは現在、Simple Key = value Configurationファイルを介して構成されており、その名前はオプション-c <config_file>を介してコマンドラインで指定できます。構成ファイルが指定されていない場合、 binnit ./binnit.cfgを探します。構成可能なオプションは次のとおりです。
他のパステビンのようなサービスと同様に、 curlを使用してbinnitにペーストを送信できます。たとえば、 binnitサーバーがhttp://servername.netで実行されている場合、次を使用してファイルを貼り付けることができます。
curl -F 'paste=<myfile' http://servername.net
出力時に、新しく作成されたペーストに関連付けられたIDを取得します。同様に
mylongcommand | curl -F 'paste=<-' http://servername.net
mylongcommandの出力をhttp://servername.netに貼り付け、新しいペーストのIDを出力します。
野生には何百ものパスペビンのようなサーバーがあります。しかし、それらの圧倒的多数は、多くのライブラリ/フレームワーク/ツールに応じて、多くの役に立たない機能を提供し、役に立たない量の複雑さを暗示している、過剰臭気のあるソフトウェアです。
ペーストサーバーは2つのことを実行できる必要があります。1)新しいペーストを作成してIDを返し、2)IDを使用して既存のペーストを取得します。 binnit 、外部の依存関係なしに、可能な限り単純な方法で、これら2つのことのみを実行します。それ以上のものが必要な場合は、 binnitあなたのためではありません。しかし、あなたは本当にもっと何かが必要ですか?
追加するものが何もないときではなく、それ以上の削除があるとき(アントワーヌ・ド・サン・エクセリー)ときは完璧が達成されているようです
binnit本当に最小限であることを目的としています。以下を含む、合計で約500行のゴランソースコードで構成されています。
さらにbinnitをさらに引き下げたい場合は、削除を検討できます。
各ソースファイルのライセンスステートメントを削除することはできません。
binnit 、Vincenzo "Katolaz" NicosiaによるCopyright(2017)です。
binnitはフリーソフトウェアです。 GNU Affero General Publicライセンスの条件、ライセンスのバージョン3、またはオプションでは後のバージョンで使用、変更、再配布できます。詳細については、license.mdを参照してください。