Uploader - это веб-приложение для обмена файлами в стиле терминала, разработанное с использованием Flask и Telegram Bot API.
-
Клонируйте репозиторий:
git clone https://github.com/sw1ftin/uploader.git cd uploader
-
Создайте виртуальное окружение и активируйте его:
python -m venv venv source venv/bin/activate # Для Linux/macOS venv\Scripts\activate # Для Windows
-
Установите зависимости:
pip install -r requirements.txt
-
Создайте файл
.env
в корневой директории проекта и добавьте следующие переменные окружения:SECRET_KEY=your_secret_key TELEGRAM_BOT_TOKEN=your_telegram_bot_token TELEGRAM_CHAT_ID=your_telegram_chat_id
Для генерации SECRET_KEY используйте скрипт
generate_secret.py
:python generate_secret.py
Для получения TELEGRAM_CHAT_ID используйте скрипт
get_telegram_chat_id.py
:python get_telegram_chat_id.py
Для запуска приложения выполните:
python app.py
Приложение будет доступно по адресу http://localhost:5000
.
- URL:
/register
- Метод: POST
- Данные:
{ "username": "your_username", "password": "your_password" }
- Ответ:
{ "message": "Аккаунт успешно создан!" }
- URL:
/login
- Метод: POST
- Данные:
{ "username": "your_username", "password": "your_password" }
- Ответ:
{ "message": "Успешная авторизация" }
- URL:
/upload
- Метод: POST
- Заголовки:
Content-Type: multipart/form-data
- Данные:
file: (binary)
- Ответ:
{ "success": true, "unique_link": "abcdef", "original_filename": "example.txt" }
- URL:
/<unique_link>
- Метод: GET
- Ответ: Файл для скачивания
- URL:
/delete_file/<file_id>
- Метод: POST
- Ответ: Перенаправление на страницу панели управления
Для развертывания приложения на сервере выполните следующие шаги:
-
Настройте веб-сервер (например, Nginx) для проксирования запросов к Flask-приложению.
-
Настройте WSGI-сервер (например, Gunicorn) для запуска Flask-приложения.
-
Настройте SSL-сертификат для безопасного соединения.
-
Настройте Telegram Bot и получите необходимые токены.
-
Установите зависимости и настройте переменные окружения на сервере.
-
Запустите приложение с помощью WSGI-сервера.
Подробные инструкции по развертыванию зависят от выбранного хостинга и конфигурации сервера.
Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.