リンクプレビュー
チャットにリンクを貼ると、サーバーが描いたカードが出ます。プレビューを開いてもダウンロード回数は減らず、パスワード付きの共有はロックされていることしか見せません。



ファイルをアップロードすると、リンクと QR コードがもらえます。渡された人は、共有の期限が切れるかダウンロード回数がなくなるまで受け取れます。自分のマシンで Docker コンテナを一つ動かすだけです。
docker run -p 12923:12923 -v tessera-data:/data ghcr.io/limatura/tessera:latest
{"level":"WARN","message":"created the first administrator with a generated password; sign in and change it","username":"admin","password":"d8558ce68d08…"}
{"level":"INFO","message":"listening","address":"0.0.0.0:12923"}
# http://localhost:12923 を開き、上のパスワードで admin としてサインインします。


ファイルやフォルダを画面に入れます。コードの貼り付けや、リンクの短縮もできます。

リンクと QR コードが出ます。リンクの最後の 8 文字が受け取りコードで、読み上げられる短さです。有効期限、読んだら削除、パスワードはその場で設定でき、あとからも変えられます。

相手はリンクを開くか、トップページでコードを入力します。期限切れや回数切れになると、リンクはそう表示し、ファイルは削除されます。
チャットにリンクを貼ると、サーバーが描いたカードが出ます。プレビューを開いてもダウンロード回数は減らず、パスワード付きの共有はロックされていることしか見せません。



大文字小文字、スペース、ハイフンは無視します。O、I、L は 0、1、1 として読みます。
パスワードを入れるまで、ファイル名もサイズも見えません。
接続が切れても、止まったところから続きを送ります。
任意。ファイルは手元で暗号化してから送られ、サーバーは鍵を持ちません。
任意。誰かがダウンロードする前に、ClamAV や自前のスキャナーで確認します。

ディスク上のフォルダから始めて、必要になったらバケットを追加します。保存済みのファイルはそのままです。
デフォルト。設定は不要です。
data/blobsディスクが小さいとき、バケットのほうが安いとき。
s3://bucketどのバケットよりも大きなファイルに。
アップロード画面も管理画面も、あなたが呼べるのと同じ API を使っています。すべてのエンドポイントは API リファレンスにあります。
Docker が動くマシンなら三ステップです。
コンテナを一つ。/data にボリュームをマウントすれば、作り直してもデータは残ります。
$ docker run -d --name tessera \ -p 12923:12923 -v tessera-data:/data \ ghcr.io/limatura/tessera:latest
初回起動時に、生成された管理者パスワードがログに一度だけ出ます。
$ docker logs tessera 2>&1 \ | grep password
12923 番ポートを開き、admin でサインインして新しいパスワードを決めます。ほかの設定は管理画面で行います。
http://localhost:12923