explaingit

cf-pages/telegraph-image

4,539HTMLAudience · developerComplexity · 3/5Setup · moderate

TLDR

A self-hosted image sharing service that stores your uploads on Telegram's free servers and serves them through Cloudflare Pages, so you get a personal image host with no storage costs and no server to maintain.

Mindmap

mindmap
  root((repo))
    What it does
      Free image hosting
      Telegram as storage
      Cloudflare CDN
    Setup Needs
      Cloudflare account
      Telegram bot
      Private channel
    Features
      Content moderation API
      Admin dashboard
      Batch delete
      Auto-update via Actions
    Limits
      50MB per file
      100k requests per day
      Free tier only
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Host and share images for free using Telegram as backend storage without paying for a server or cloud bucket

USE CASE 2

Replace ad-heavy image hosts like Imgur with a self-controlled URL you manage through a web dashboard

USE CASE 3

Enable content moderation through a third-party API that automatically blocks inappropriate image uploads

USE CASE 4

Keep your fork automatically up to date with upstream changes using the hourly GitHub Actions sync

Tech stack

HTMLJavaScriptCloudflare PagesTelegram APIGitHub Actions

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a Cloudflare account plus a Telegram bot configured as admin of a private channel, credentials must be set as Cloudflare Pages environment variables.

License terms are not specified in the explanation.

In plain English

Telegraph-Image is a free image hosting service you can deploy yourself, intended as an alternative to paid or ad-heavy platforms like Imgur or Flickr. Once set up, it gives you a personal URL where you can upload and share images without paying for storage or a server. The way it works is a bit indirect: when you upload an image, the system sends it to a Telegram channel through a Telegram bot. Telegram stores the file on its own servers, and the project then gives you a link to access it. This means your images are actually living on Telegram's infrastructure, which is free and has no storage limit, though individual files are capped at 50 megabytes per upload. The hosting side of the project runs on Cloudflare Pages, also free within standard usage limits, so the entire setup costs nothing as long as traffic stays below Cloudflare's free tier thresholds. Setting it up requires a Cloudflare account, a Telegram account, and a few steps: creating a Telegram bot through the BotFather interface, making that bot an administrator of a private Telegram channel you create, getting the channel ID, and then entering those credentials as environment variables in your Cloudflare Pages project. After forking the repository and connecting it to Cloudflare, it deploys automatically. Extra features include optional content moderation through a third-party API that automatically blocks inappropriate images, a backend management page where you can browse uploaded images, manage whitelists and blacklists, and delete images in batch. The management page supports grid and waterfall display modes. There is also an automatic update feature that syncs your fork with the upstream project hourly through GitHub Actions. Limitations are mainly the 50MB per file Telegram cap, potential slower load times through Cloudflare in certain regions, and a 100,000 requests per day ceiling on the free Cloudflare plan. The README notes the original Telegraph API it was built around has been shut down, so the Telegram bot setup is now required.

Copy-paste prompts

Prompt 1
Walk me through setting up telegraph-image from scratch: creating the Telegram bot, making it admin of a private channel, and connecting it to Cloudflare Pages with environment variables.
Prompt 2
My telegraph-image deployment is live but I want to enable content moderation to block inappropriate uploads. How do I configure the third-party moderation API?
Prompt 3
How do I use the telegraph-image admin dashboard to browse all uploaded images, delete specific ones in bulk, and manage whitelist and blacklist entries?
Prompt 4
I hit Cloudflare's 100,000 requests per day free tier limit on my telegraph-image deployment. What are my options to scale beyond that without changing all my existing image URLs?
Open on GitHub → Explain another repo

← cf-pages on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.