Skip to content

trueno を公開した。共用サーバに置くだけのアップローダ

trueno は、6umi.net のアップローダ(a.6umi.net)の保存先として作った。契約済みの共用レンタルサーバに CGI として置けば、オブジェクトストレージを別に借りずに済むからだ。6umi 側の保存先を Cloudflare R2 に切り替えたので、a.6umi.net の裏にいた trueno の居場所が無くなった。契約が残っている共用サーバで生かし続けるため a2.6umi.net に移し、あわせて API だけだった trueno に、ブラウザから使うアップローダの画面を付けて公開した。本体は https://github.com/kimari-s/trueno(MIT)。

できたもの

a2.6umi.net で動く trueno。Upload フォームとファイル一覧

  • 画面(index.html):ファイルを選ぶかドロップして、コメントと削除キーを添え、保存期間(1h / 1d / 1w / keep)を選んで送る。下にファイルの一覧(名前・コメント・サイズ・日時・残り期間)とページ番号。画像だけを並べる thumbs.html
  • API:GET /list(一覧)と POST /delete(削除キーか運営者のキーで削除)を追加。POST /upload が comment と delete_key を受ける。API の一覧は https://a2.6umi.net/api.html
  • DB は使わない:一覧と削除に要る情報(元のファイル名・コメント・削除キーのハッシュ・時刻)は、ファイルの隣の .meta に置く
  • キー無しの upload:設置者が ANON_BUCKETS で許可した保存期間だけ、キー無しで送れる。既定は従来どおりキー必須
  • 設置:docroot を置き、make.local に公開 URL・サイト名・匿名 bucket を書いて make deploy。Python 標準ライブラリだけで、pip は要らない。手順は README
  • 元のファイル名が _ だけ(_.jpg 等)のファイルは、一覧に元の名前を出さない
  • テスト 23 件(tests/)

なぜこの形かは 仕様の考え方 に書いた。

次回

  • a2.6umi.net は、レンタルサーバの契約が切れるまでデモと予備を兼ねて動かす。解約後は撤収する
  • アップローダとしては 6umi の方(FastAPI / R2)を使うので、trueno は用途が出ない限り変更しない

Created 2026-10-07 by lamutara · Updated 2026-10-08 by lamutara · 16 revisions