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. ユーザーフレンドリーなアップロード#
- 大多数の一般的な画像、動画、アニメーションなどをサポート
- 複数のアップロード方法をサポート(ドラッグ&ドロップ、貼り付け)
- 貼り付けアップロードはファイルとURLをサポート
- バッチアップロードをサポート(同時に選択できるファイル数に制限はありませんが、安定性を確保するために同時にアップロード中のファイルは最大 10 個まで)
- アップロード中のリアルタイム進捗表示
- アップロード後、画像を手動でクリックする必要はなく、管理ページに直接表示されます
- サイズが大きすぎる画像はフロントエンドで圧縮され、アップロードの安定性と読み込み性能が向上します
- 圧縮品質をカスタマイズ可能で、前後端の圧縮機能をカスタマイズして有効化できます
4. 多様なコピー#
- 全体コピーと個別コピーをサポート(全体コピーはすべてのリンクを改行でつなげてコピーすることを意味します)
- MarkDown、HTML、BBCode、原始リンクの 4 つのフォーマットでコピーをサポート
- アップロード完了後、4 つのフォーマットのリンクを直感的に表示
5. 認証と悪用防止をサポート#
6. ページカスタマイズをサポート#
- ページ背景は単一画像、カスタム複数画像スライドショー、Bing ランダム画像スライドショーなどの多様なモードをサポート
- 画像ホスティング名とロゴをカスタマイズ
- ウェブサイトのタイトルとアイコンをカスタマイズ
7. いくつかの小機能#
- ランダム画像API をサポートし、画像ホスティングからランダムに 1 枚の画像を返します
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 データベースを選択します。
-
再デプロイ
を行うと、プロジェクトが正常に使用できるようになります。