With telegramFileManager you can have your own unlimited cloud and manage it through a file system in a simple way. You will be able to store files of unlimited size.
- Obtain App_Hash and App_Id in API development tools. How to
- Rename file
Configuration/config.example.jsonasConfiguration/config.jsonand modify it:
- "mongo_connection_string": "mongodb://<username>:<password>@<server>:<port>".
- Complete Api_hash and Api_id.
- Install MongoDB
- Install .Net SDK
- Install .Net Runtime Run server apps
Docker Compose.
version: "3"
services:
telegramdownloader:
image: ghcr.io/mateof/telegramfilemanager:latest
deploy:
resources:
limits:
memory: 6G
container_name: telegramfilemanager
environment:
connectionString: "mongodb://<username/>:<password/>@mongodb_container:27017"
api_id: ""
hash_id: ""
DOTNET_HOSTBUILDER__RELOADCONFIGONCHANGE: false
DOTNET_CLI_TELEMETRY_OPTOUT: true
restart: unless-stopped
depends_on:
- mongodb_container
ports:
- "8015:8080"
volumes:
- <local folder/>:/app/local
- <folder logs/>:/app/logs
- <user data/>:/app/datauser
mongodb_container:
image: mongo:latest
container_name: mongodb
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME:
MONGO_INITDB_ROOT_PASSWORD:
ports:
- 27017:27017
volumes:
- <path for mongo data/>:/data/db
# For debug
mongo-express:
image: mongo-express
restart: unless-stopped
environment:
- ME_CONFIG_MONGODB_SERVER=mongodb
- ME_CONFIG_MONGODB_PORT=27017
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_MONGODB_AUTH_DATABASE=admin
- ME_CONFIG_MONGODB_AUTH_USERNAME=
- ME_CONFIG_MONGODB_AUTH_PASSWORD=
- ME_CONFIG_BASICAUTH_USERNAME=
- ME_CONFIG_BASICAUTH_PASSWORD=
depends_on:
- mongodb_container
ports:
- "27000:8081"
dotnet publish -c Release --output ./MyTargetFolder .\TelegramDownloader.csproj
- Create a private or public channel on Telegram.
- The new channel will appear on the left side panel.
- Click on the folder icon and you will access the file manager.
- Go to the tab called
local. - Select the files or folders you want to upload to Telegram.
- Click on the
Upload Telegramoption in the menu. - You can see the upload progress by clicking on the three dots located in the upper right position, which will display the right side panel. Then click on the
Tasksoption. - When the upload tasks are finished, you will be able to see the uploaded files in the file manager, in the
Remotetab. - When you want, you can download the files again to a location on your local computer, selecting the files or folders and clicking the
Download to Localbutton.
Both apps are native Kotlin + Jetpack Compose clients built on the server's REST API v1
(/api/v1), documented in docs/api. Point them at your server address and
API key and they work over the same Telegram session as the web.
Phone and tablet — tfm-android-app
Full file manager on the go:
- Telegram login from the app, by QR or phone number (with 2FA).
- Channels: saved / all / favourites, search, statistics, create a channel, join by invitation, leave, and build or refresh a channel index choosing which media types to scan.
- File browser with breadcrumbs, filters, recursive search, multi-select, folder creation, rename, copy/move, delete, upload from the device and download to the server or to the device.
- Server local storage: browse, upload, send to a Telegram channel without re-uploading the bytes, and clear the streaming cache.
- Live transfers over the
/hubs/transfersSignalR hub: speed, progress and queues, with global and per-item pause, resume, cancel and retry. - Background audio player (Media3 + MediaSession) with a mini player and server-side playlists, plus video streaming for channel and local files.
- Server settings: simultaneous downloads, parallel chunks, connections per download.
Android TV and Fire TV — tfm-android-tv-app
A D-pad first client focused on watching the videos you keep in your channels:
- Channels split into mine, shared, favourites, Telegram chat folders and all, with a name search.
- Folder navigation inside a channel, an all videos view and a messages view, each sortable by name, date or size.
- Playback with the built-in player (ExoPlayer plus FFmpeg software decoders, so MKV or AVI with AC3/DTS play fine), VLC, any other installed player or the system default.
- Updates itself from GitHub Releases, and runs on Android 6.0, which covers Fire TV sticks from 2015 onwards.
Both repositories publish a signed APK as a GitHub Release on every push to main.
You can use this PWA to connect it to your TelegramFileManager server
Music player PWA for TelegramFileManager
- GPLv3