No description
Find a file
jarvis2f 4524ca6359 🔖 0.1.4
2024-12-25 18:53:44 +08:00
.github/workflows 🎉 First commit. 2024-12-21 11:47:52 +08:00
api 🔖 0.1.4 2024-12-25 18:53:44 +08:00
misc 🔖 0.1.2 2024-12-23 14:36:53 +08:00
web 🔖 0.1.4 2024-12-25 18:53:44 +08:00
.dockerignore 🎉 First commit. 2024-12-21 11:47:52 +08:00
.env.example feat: Log adjustment, AutoDownloadVerticle runs with VIRTUAL_THREAD. 2024-12-25 11:31:23 +08:00
.gitignore 🎉 First commit. 2024-12-21 11:47:52 +08:00
BUILD_TDLIB.md 🎉 First commit. 2024-12-21 11:47:52 +08:00
docker-compose.yaml 🚧 feat: Update docker-compose configuration and entrypoint script to add health checks. 2024-12-21 14:50:05 +08:00
Dockerfile 🎉 First commit. 2024-12-21 11:47:52 +08:00
entrypoint.sh 🚧 feat: Update docker-compose configuration and entrypoint script to add health checks. 2024-12-21 14:50:05 +08:00
http-client.env.json 🎉 First commit. 2024-12-21 11:47:52 +08:00
LICENSE 🎉 First commit. 2024-12-21 11:47:52 +08:00
nginx.conf 🎉 First commit. 2024-12-21 11:47:52 +08:00
README.md 📝 docs: Add FAQ section to improve user documentation. 2024-12-21 18:06:33 +08:00
request.http feat: Support using proxies 2024-12-22 20:00:13 +08:00
VERSION 🔖 0.1.4 2024-12-25 18:53:44 +08:00

Telegram Files

A simple telegram file downloader.

license last-commit repo-top-language repo-language-count


🔗 Table of Contents


📍 Overview

  • Support for downloading files from telegram channels and groups.
  • Support multiple telegram accounts for downloading files.
  • Support suspending and resuming downloads.
  • Multiple accounts with same files will be downloaded only once.

🧩 Screenshots

🚀 Getting Started

☑️ Prerequisites

Before getting started with telegram-files, ensure your runtime environment meets the following requirements:

  • Programming Language: JDK21,TypeScript
  • Package Manager: Gradle,Npm
  • Container Runtime: Docker

⚙️ Installation

Install telegram-files using one of the following methods:

Build from source:

  1. Clone the telegram-files repository:
git clone https://github.com/jarvis2f/telegram-files
  1. Navigate to the project directory:
cd telegram-files
  1. Install the project dependencies:

Using npm  

cd web
npm install

Using gradle  

cd api
gradle build

Using docker  

docker build -t jarvis2f/telegram-files .

🤖 Usage

Using docker  

Copy docker-compose.yaml to your project directory and run the following command:

docker-compose up -d

Important Note: You should NOT expose the service to the public internet. Because the service is not secure.


📌 Project Roadmap

  • Task 1: Improve Telegrams login functionality.
  • Task 2: Support auto transfer files to other destinations.
  • Task 3: Automatically download files based on set rules.
  • Task 4: Download statistics and reports.

🔰 Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/jarvis2f/telegram-files
    
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
    
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
    
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
    
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

🎗 License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


🆗 FAQs

Q. Can't start the api server, errorjava.lang.UnsatisfiedLinkError: no tdjni in java.library.path

A. Maybe download tdlib failed, you can see the entrypoint.sh file, then download tdlib manually.

Q. Web's spoiler is static, how to solve it?

A. 1. Because CSS Houdini Paint API is not supported by all browsers. 2. It is only supported on https.

Use in http environment, you can use the following method to solve it

Open the chrome://flags page, search for Insecure origins treated as secure, and add the address of the web page to the list.