DEV.co
Open-Source DevOps · jarvis2f

telegram-files

Telegram Files is a self-hosted Java application that downloads files from Telegram channels and groups with pause/resume capability, multi-account support, and a responsive web interface. It runs in Docker and requires Telegram API credentials to operate.

Source: GitHub — github.com/jarvis2f/telegram-files
2.3k
GitHub stars
166
Forks
Java
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryjarvis2f/telegram-files
Ownerjarvis2f
Primary languageJava
LicenseMIT — OSI-approved
Stars2.3k
Forks166
Open issues24
Latest release0.3.1 (2026-06-16)
Last updated2026-06-17
Sourcehttps://github.com/jarvis2f/telegram-files

What telegram-files is

Built on Java (JDK23) backend with Vert.x, TypeScript/Next.js frontend using Shadcn UI, and tdlib for Telegram integration. Includes PWA support, virtual list optimization, and file auto-transfer features, deployable via Docker or unRaid.

Quickstart

Get the telegram-files source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/jarvis2f/telegram-files.gitcd telegram-files# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Automated media archive from public Telegram channels

Monitor and continuously download media files from Telegram channels without manual intervention, with automatic file organization and transfer to NAS or cloud storage.

Multi-account Telegram content aggregation

Manage multiple Telegram accounts simultaneously to download files from different sources into a centralized self-hosted repository with rule-based automation.

Unattended media backup on home lab or small server

Deploy on unRaid, Docker, or minimal infrastructure for scheduled, long-running downloads with web UI access from mobile and desktop, suitable for decentralized file storage.

Implementation considerations

  • Obtain Telegram API ID and API hash from https://my.telegram.org/apps before deployment; app will not function without these credentials.
  • Ensure adequate disk space and network bandwidth for continuous unattended downloads; set up monitoring for disk utilization and transfer failures.
  • Deploy behind a firewall or private network only; do not expose port 6543 directly to the internet per project guidance.
  • Plan for tdlib binary management: verify Docker builds download tdlib successfully; fallback manual download may be needed (referenced in FAQ).
  • Test pause/resume and file-transfer logic with small datasets before production use; validate destination paths and permissions for auto-transfer targets.

When to avoid it — and what to weigh

  • Public-facing internet deployment — README explicitly states 'should NOT expose the service to the public internet. Because the service is not secure.' Internal-only deployment required.
  • Requires direct Telegram API stability guarantee — Depends on tdlib and Telegram's API; any breaking changes or rate-limiting by Telegram can disrupt downloads. No mention of fallback or retry resilience.
  • Need for commercial support or SLA — Community-driven project with no indication of commercial support, formal SLA, or enterprise backing. Issues (24 open) may have variable resolution time.
  • Downloading private or restricted Telegram content — Design targets user's own accounts/channels; unclear if suitable for downloading private/restricted groups without explicit consent or legal review.

License & commercial use

MIT License. Permissive OSI license permitting commercial use, modification, and distribution provided original license notice is retained. No additional attribution requirements beyond standard MIT clause.

MIT License permits commercial use without restriction, but use of Telegram API is subject to Telegram's Terms of Service. Verify Telegram's commercial use policy for your use case. Project provides no warranty or commercial support.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Project explicitly states it is 'not secure' and should not be exposed to the public internet. Risk factors include: storage of Telegram session data locally, no mention of encryption at rest, HTTP-only default, no authentication/authorization on web interface. Requires private network or VPN access. Evaluate data residency and regulatory compliance (GDPR, etc.) for file storage on self-hosted infrastructure.

Alternatives to consider

Telethon (Python library)

Lower-level Telegram client library; offers more control and customization but requires custom application development; no built-in UI.

Pyrogram (Python library)

Modern async Python Telegram client; similar flexibility to Telethon; larger community; requires building own download manager and UI.

Use official Telegram app + native file sync (iCloud, OneDrive, Google Drive); no custom infrastructure; limited automation and unattended capability.

Software development agency

Build on telegram-files with DEV.co software developers

Review the security considerations, Telegram API requirements, and private-network-only deployment model. Consult with your DevOps and legal teams on data residency and API compliance before pilot deployment.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

telegram-files FAQ

Do I need to expose this to the internet?
No. The project explicitly warns against public internet exposure due to security limitations. Deploy on a private network, LAN, or VPN only.
What Telegram API credentials are required?
You must obtain a Telegram API ID and API hash from https://my.telegram.org/apps. Both are required as environment variables (TELEGRAM_API_ID, TELEGRAM_API_HASH) for the application to function.
Can I use this to download private/restricted Telegram groups?
The application is designed for accounts you control. Downloading content from groups you do not own or where terms prohibit it may violate Telegram ToS. Legal review recommended.
What happens if Telegram API changes?
Telegram API changes could break the application. No documented rollback plan or notification system. Monitor GitHub issues and releases for compatibility updates.

Custom software development services

DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If telegram-files is part of your open-source devops roadmap, our team can implement, customize, migrate, and maintain it.

Evaluate Telegram Files for Your Self-Hosted Needs

Review the security considerations, Telegram API requirements, and private-network-only deployment model. Consult with your DevOps and legal teams on data residency and API compliance before pilot deployment.