Cloudflare Pages と Telegram に基づく無料画像ホスティングの構築チュートリアル#
type: 記事
status: 公開
date: 2024/10/17
slug: tuiljni
summary: Cloudflare Pages と Telegram に基づく無料画像ホスティングの構築チュートリアル
tags: GitHub, 画像ホスティング,ツール
category: チュートリアル
プロジェクトアドレス https://github.com/MarSeventh/CloudFlare-ImgBed#
1. イントロダクション#
1. オープンソース#
- フロントエンドはオープンソース(自分で修正、パッケージ化して使用可能)
2. クールなアニメーション(#
- 滑らかでスムーズなトランジションアニメーション~
- アップロードファイルで呼吸灯効果を実現
3. ユーザーフレンドリーなアップロード#
- 大多数の一般的な画像、動画、アニメーション GIFなどをサポート
- 複数のアップロード方法をサポート(ドラッグ&ドロップ、貼り付け)
- 貼り付けアップロードはファイルとURLをサポート
- バッチアップロードをサポート(同時に選択できるファイル数に制限はありませんが、安定性を確保するために、同時にアップロード中のファイルは最大 10 個まで)
- アップロード中のリアルタイム進捗表示
- アップロード後、画像を手動でクリックする必要はなく、管理ページに直接表示されます
- サイズが大きすぎる画像はフロントエンドで圧縮され、アップロードの安定性と読み込み性能が向上します
- 圧縮品質をカスタマイズ可能、前後端の圧縮機能をカスタマイズしてオンオフできます
4. 多様なコピー#
- 全体コピーと個別コピーをサポート(全体コピーはすべてのリンクを改行で連結してコピーすること)
- MarkDown、HTML、BBCode、原始リンクの 4 つのフォーマットでコピーをサポート
- アップロード完了後、4 つのフォーマットのリンクを直感的に表示
5. 認証と悪用防止をサポート#
6. ページカスタマイズをサポート#
- ページ背景は単一画像、カスタム複数画像スライドショー、Bing ランダム画像スライドショーなどの多様なモードをサポート
- 画像ホスティングの名前とロゴをカスタマイズ
- ウェブサイトのタイトルとアイコンをカスタマイズ
7. いくつかの小機能#
- ランダム画像API をサポートし、ホスティングからランダムに画像を返します
8. そしてオリジナルのすべての機能#
無限の画像ストレージ数、無制限の画像をアップロードできます
サーバーを購入する必要はなく、Cloudflare のネットワーク上にホスティングされ、使用量が Cloudflare の無料枠を超えない限り、完全に無料です
ドメインを購入する必要はなく、Cloudflare Pages が提供する
*.pages.dev
の無料サブドメインを使用でき、カスタムドメインのバインドもサポートしています画像審査API をサポートし、必要に応じてオンにできます。オンにすると、不適切な画像は自動的にブロックされ、読み込まれなくなります
バックエンド画像管理をサポートし、アップロードした画像のオンラインプレビュー、ホワイトリスト、ブラックリストなどの操作が可能です
2. デプロイ#
1. Telegram ボットを作成してTG_BOT_TOKEN
を取得#
-
@BotFatherに
/newbot
を送信し、指示に従ってボットのメモ、ユーザー名などの情報を入力します。成功すると、図の赤い部分がTG_BOT_TOKEN
になります。Telegram チャンネルを作成して **
TG_CHAT_ID
** を取得#新しいチャンネル(Channel)を作成し、下の図のようにボットをチャンネルに追加します。
作成したチャンネルを選択し、ボットに管理者権限を付与#
@VersaToolsBotに転送して第 2 ステップで作成したチャンネルのメッセージを取得し、TG_CHAT_ID
(チャンネル ID)を取得#
Cloudflare にデプロイ#
CF の強力な機能を利用して、簡単な手順でこのプロジェクトをデプロイし、自分の画像ホスティングを持つことができます。
- Cloudflare Dashboardを開き、Pages 管理ページに入り、プロジェクトを作成し、
Git プロバイダーに接続
を選択します。
- ページの指示に従ってプロジェクト名を入力し、接続する git リポジトリを選択し、
サイトをデプロイ
をクリックします。 - 前に取得した
TG_BOT_TOKEN
とTG_CHAT_ID
をそれぞれ環境変数に追加し、環境変数名はTG_BOT_TOKEN
とTG_CHAT_ID
です - KV データベースをバインド:
-
新しい KV データベースを作成します。
-
プロジェクトの対応する
設定
>関数
>KV 名前空間バインディング
>バインディングを編集
>変数名
にimg_url
を入力し、KV 名前空間を先ほど作成した KV データベースに選択します。
-
再デプロイ
を行い、これでプロジェクトが正常に使用できるようになります。