Skip to content

Repository files navigation

TelegramFileManager

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.

TFM Home

Getting started

Wiki

TFM File Manager TFM Audio Player FM TFM Video player FM

Installation

Previous steps

  1. Obtain App_Hash and App_Id in API development tools. How to
  2. Rename file Configuration/config.example.json as Configuration/config.json and modify it:
  • "mongo_connection_string": "mongodb://<username>:<password>@<server>:<port>".
  • Complete Api_hash and Api_id.

PC

Docker

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"

Compile

dotnet publish -c Release --output ./MyTargetFolder .\TelegramDownloader.csproj

Usage

  • 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 Telegram option 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 Tasks option.
  • When the upload tasks are finished, you will be able to see the uploaded files in the file manager, in the Remote tab.
  • 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 Local button.

Android apps

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/transfers SignalR 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.

Music player

Music player

You can use this PWA to connect it to your TelegramFileManager server

Repository

Music player PWA for TelegramFileManager

Mentions

License

  • GPLv3

About

Telegram File Manager, your own unlimited cloud with unlimited file size

Topics

Resources

Stars

25 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages