A tool to clone Telegram channels, tracking cloned messages, files and media and providing a web interface.
No git, no python, no setup -- just paste this into PowerShell and follow the prompts.
Step 1 -- allow script execution (one-time, safe to run):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -ForceStep 2 -- download and run the installer:
irm https://raw.githubusercontent.com/kntjspr/telegram-clone/main/install.ps1 | iexThe script will:
- install git if missing (via winget or direct download)
- install python 3.12+ and uv if missing
- clone this repo to
~/telegram-clone - walk you through filling in your
.env(API keys, channels, etc.) - install all dependencies and launch the web interface at
http://localhost:5000
uv installation docs: https://docs.astral.sh/uv/getting-started/installation/
Using uv:
uv syncSet up your .env file from .env.example with your Telegram API credentials and other settings.
By default, the application runs the web interface.
uv run src/telegram_clone/main.pyAccess the web panel at http://localhost:5000 (or the configured WEB_PORT).
If you prefer the command-line interface, pass the --cli flag.
uv run src/telegram_clone/main.py --cliYou can run the application using Docker on both Linux and Windows. Ensure you have Docker installed and running.
Linux / macOS
docker build -t telegram-clone .Windows (PowerShell)
docker build -t telegram-clone .You need to pass your .env file, publish the web port, and mount a volume for your Telegram session and database files to persist data.
Linux / macOS
docker run -it --rm \
--env-file .env \
-p 5000:5000 \
-v $(pwd):/app \
telegram-cloneWindows (PowerShell)
docker run -it --rm `
--env-file .env `
-p 5000:5000 `
-v ${PWD}:/app `
telegram-cloneTo run the command-line interface via Docker, append the --cli flag to the run command.
docker run -it --rm \
--env-file .env \
-v $(pwd):/app \
telegram-clone --cli