[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73082":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":14,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":14,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},73082,"telegram-files","jarvis2f\u002Ftelegram-files","jarvis2f","A self-hosted Telegram file downloader for continuous, stable, and unattended downloads.","",null,"Java",2275,165,9,22,0,3,20,28.66,"MIT License",false,"main",true,[25,26,27,28,29,30,31,32,33],"docker","downloader","nextjs","self-hosted","shadcn-ui","tdlib","telegram","unraid","vertx","2026-06-12 02:03:09","\u003Cp align=\"center\">\n    \u003Cimg src=\".\u002Fweb\u002Fpublic\u002Ffavicon.svg\" align=\"center\" width=\"30%\">\n\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Ch1 align=\"center\">Telegram Files\u003C\u002Fh1>\u003C\u002Fp>\n\u003Cp align=\"center\">\n\t\u003Cem>\u003Ccode>A self-hosted Telegram file downloader for continuous, stable, and unattended downloads.\u003C\u002Fcode>\u003C\u002Fem>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n\t\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fjarvis2f\u002Ftelegram-files?style=default&logo=opensourceinitiative&logoColor=white&color=0080ff\" alt=\"license\">\n\t\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fjarvis2f\u002Ftelegram-files?style=default&logo=git&logoColor=white&color=0080ff\" alt=\"last-commit\">\n\t\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fjarvis2f\u002Ftelegram-files?style=default&logo=git&logoColor=white&color=0080ff\" alt=\"release\">\n    \u003Ca href=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fjarvis2f\u002Ftelegram-files\" > \n        \u003Cimg src=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fjarvis2f\u002Ftelegram-files\u002Fgraph\u002Fbadge.svg?token=Y4YN2W8ARV\"\u002F> \n    \u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cbr>\n\n## 🔗 Table of Contents\n\n- [📍 Overview](#-overview)\n- [🧩 Screenshots](#-screenshots)\n- [🚀 Getting Started](#-getting-started)\n- [⌨️ Development](#️-development)\n    - [☑️ Prerequisites](#-prerequisites)\n    - [⚙️ Installation](#-installation)\n- [📌 Project Roadmap](#-project-roadmap)\n- [🔰 Contributing](#-contributing)\n- [🎗 License](#-license)\n- [🆗 FAQs](#-faqs)\n\n---\n\n## 📍 Overview\n\n* Seamless file downloads from Telegram channels and groups\n* Support for multiple Telegram accounts to manage and download files simultaneously\n* Pause and resume downloads anytime, with automatic file transfer to designated destinations\n* Instant preview of downloaded videos and images\n* Fully responsive design with mobile-friendly access, Progressive Web App (PWA) support, and offline capabilities\n* Easily fetch files from Telegram shared links\n\n---\n\n## 🧩 Screenshots\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\".\u002Fmisc\u002Fpreview-files-pc.gif\" width=\"70%\">\n    \u003Cimg src=\".\u002Fmisc\u002Fpreview-files-mobile.gif\" width=\"17.6%\">\n\u003C\u002Fdiv>\n\n\u003Cdetails closed>\n\u003Csummary>More Screenshots\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\".\u002Fmisc\u002Fscreenshot-3.png\" align=\"center\" style=\"width: 300px; height: 500px;\">\n    \u003Cimg src=\".\u002Fmisc\u002Fscreenshot-4.png\" align=\"center\" style=\"width: 300px; height: 500px;\">\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\".\u002Fmisc\u002Fscreenshot.png\" align=\"center\" width=\"40%\">\n    \u003Cimg src=\".\u002Fmisc\u002Fscreenshot-2.png\" align=\"center\" width=\"40%\">\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n## 🚀 Getting Started\n\nBefore getting started with telegram-files, you should apply a telegram api id and hash. You can apply for it on\nthe [Telegram API](https:\u002F\u002Fmy.telegram.org\u002Fapps) page.\n\n**Using `docker`**\n&nbsp; [\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocker-2CA5E0.svg?style={badge_style}&logo=docker&logoColor=white\" \u002F>](https:\u002F\u002Fwww.docker.com\u002F)\n\n```shell\ndocker run -d \\\n  --name telegram-files \\\n  --restart always \\\n  -e APP_ENV=${APP_ENV:-prod} \\\n  -e APP_ROOT=${APP_ROOT:-\u002Fapp\u002Fdata} \\\n  -e TELEGRAM_API_ID=${TELEGRAM_API_ID} \\\n  -e TELEGRAM_API_HASH=${TELEGRAM_API_HASH} \\\n  -p 6543:80 \\\n  -v .\u002Fdata:\u002Fapp\u002Fdata \\\n  ghcr.io\u002Fjarvis2f\u002Ftelegram-files:latest\n```\n\n**Using `docker-compose`**\n\nCopy [docker-compose.yaml](docker-compose.yaml) and [.env.example](.env.example) to your project directory and run the following command:\n\n```sh\ndocker-compose up -d\n```\n\n**Install on unRaid**\n\nOn unRaid, install from the Community Repositories by searching for `telegram-files`.\n\n> **Important Note:** You should NOT expose the service to the public internet. Because the service is not secure.\n\n---\n\n## ⌨️ Development\n\n### ☑️ Prerequisites\n\nBefore getting started with telegram-files, ensure your runtime environment meets the following requirements:\n\n- **Programming Language:** JDK23,TypeScript\n- **Package Manager:** Gradle,Npm\n- **Container Runtime:** Docker\n\n### ⚙️ Installation\n\nInstall telegram-files using one of the following methods:\n\n**Build from source:**\n\n1. Clone the telegram-files repository:\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fjarvis2f\u002Ftelegram-files\n```\n\n2. Navigate to the project directory:\n\n```sh\ncd telegram-files\n```\n\n3. Install the project dependencies:\n\n**Using `npm`**\n&nbsp; [\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnpm-CB3837.svg?style={badge_style}&logo=npm&logoColor=white\" \u002F>](https:\u002F\u002Fwww.npmjs.com\u002F)\n\n```sh\ncd web\nnpm install\n```\n\n**Using `gradle`**\n&nbsp; [\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGradle-02303A.svg?style={badge_style}&logo=gradle&logoColor=white\" \u002F>](https:\u002F\u002Fgradle.org\u002F)\n\n```sh\ncd api\ngradle build\n```\n\n**Using `docker`**\n&nbsp; [\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocker-2CA5E0.svg?style={badge_style}&logo=docker&logoColor=white\" \u002F>](https:\u002F\u002Fwww.docker.com\u002F)\n\n```sh\ndocker build -t jarvis2f\u002Ftelegram-files .\n```\n\n## 📌 Project Roadmap\n\n- ✅ **`Task 1`**: Automatically download files based on set rules.\n- ✅ **`Task 2`**: Download statistics and reports.\n- ✅ **`Task 3`**: Improve Telegram’s login functionality.\n- ✅ **`Task 4`**: Support auto transfer files to other destinations.\n- ✅ **`Task 5`**: File table is optimized using virtual lists.\n- ✅ **`Task 6`**: Preload file information to support responsible searches.\n\n---\n\n## 🔰 Contributing\n\n- **💬 [Join the Discussions](https:\u002F\u002Fgithub.com\u002Fjarvis2f\u002Ftelegram-files\u002Fdiscussions)**: Share your insights, provide\n  feedback, or ask questions.\n- **🐛 [Report Issues](https:\u002F\u002Fgithub.com\u002Fjarvis2f\u002Ftelegram-files\u002Fissues)**: Submit bugs found or log feature requests\n  for the `telegram-files` project.\n- **💡 [Submit Pull Requests](https:\u002F\u002Fgithub.com\u002Fjarvis2f\u002Ftelegram-files\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)**: Review open PRs,\n  and submit your own PRs.\n\n\u003Cdetails closed>\n\u003Csummary>Contributing Guidelines\u003C\u002Fsummary>\n\n1. **Fork the Repository**: Start by forking the project repository to your github account.\n2. **Clone Locally**: Clone the forked repository to your local machine using a git client.\n   ```sh\n   git clone https:\u002F\u002Fgithub.com\u002Fjarvis2f\u002Ftelegram-files\n   ```\n3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.\n   ```sh\n   git checkout -b new-feature-x\n   ```\n4. **Make Your Changes**: Develop and test your changes locally.\n5. **Commit Your Changes**: Commit with a clear message describing your updates.\n   ```sh\n   git commit -m 'Implemented new feature x.'\n   ```\n6. **Push to github**: Push the changes to your forked repository.\n   ```sh\n   git push origin new-feature-x\n   ```\n7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and\n   their motivations.\n8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your\n   contribution!\n\n\u003C\u002Fdetails>\n\n---\n\n## 🎗 License\n\nThis project is protected under the MIT License. For more details,\nrefer to the [LICENSE](LICENSE) file.\n\n---\n\n## 🆗 FAQs\n\n~~**Q.** Can't start the api server, error：`java.lang.UnsatisfiedLinkError: no tdjni in java.library.path`~~\n\n~~**A.** Maybe download tdlib failed, you can see the [entrypoint.sh](entrypoint.sh) file, then download tdlib\nmanually.~~\n\n**Q.** Web's spoiler is static, how to solve it?\n\n**A.** 1. Because `CSS Houdini Paint API` is not supported by all browsers. 2. It is only supported on https.\n\u003Cdetails closed>\n\u003Csummary>Use in http environment, you can use the following method to solve it\u003C\u002Fsummary>\n\nOpen the `chrome:\u002F\u002Fflags` page, search for `Insecure origins treated as secure`, and add the address of the web page to\nthe list.\n\u003C\u002Fdetails>\n\n**Q.** How to use the telegram-files maintenance tool?\n\n**A.** You can use the following command to run the maintenance tool(**before running the command, you should stop telegram-files container**):\n\u003Cdetails closed>\n\u003Csummary>Command\u003C\u002Fsummary>\n\n```shell\ndocker run --rm \\\n  --entrypoint tfm \\\n  -v $(pwd)\u002Fdata:\u002Fapp\u002Fdata \\\n  -e APP_ROOT=${APP_ROOT:-\u002Fapp\u002Fdata} \\\n  -e TELEGRAM_API_ID=${TELEGRAM_API_ID} \\\n  -e TELEGRAM_API_HASH=${TELEGRAM_API_HASH} \\\n  ghcr.io\u002Fjarvis2f\u002Ftelegram-files:latest ${Maintenance Command}\n```\n\n**Maintenance Command:**\n\n- `album-caption`: Fixed issue with missing caption for album messages before `0.1.15`.\n- `thumbnail`: Fixed issue with missing clear thumbnail.\n\u003C\u002Fdetails>\n","Telegram Files 是一个自托管的 Telegram 文件下载器，支持持续、稳定且无需人工干预的文件下载。该项目采用 Java 语言开发，并利用了 Vert.x 和 TDLib 等技术来实现高效的数据处理与传输。其核心功能包括从 Telegram 频道和群组无缝下载文件、支持多账户同时管理与下载、随时暂停与恢复下载任务以及自动将文件转移到指定位置。此外，它还提供了即时预览已下载视频和图片的功能，并拥有响应式设计以适应移动设备访问。Telegram Files 适用于需要定期从 Telegram 获取大量文件的个人或组织，特别是在网络环境不稳定的情况下，能够确保数据的完整性和连续性。",2,"2026-06-11 03:44:20","high_star"]