Files
2025-02-26 18:54:01 +07:00

162 lines
7.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kfale - Автоматизированная система загрузки файлов на FTP сервер
![Python](https://img.shields.io/badge/python-3.10-blue.svg)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
---
## О проекте
**Kfale** — это мощный и простой в использовании скрипт, написанный на Python, который позволяет автоматизировать процесс загрузки файлов на FTP-сервер. С помощью этого инструмента вы можете легко управлять передачей данных между вашим локальным хранилищем и удалённым FTP-сервером.
Скрипт поддерживает хранение конфигурации в файлах `config.ini` и `ftp.ini`, что делает его удобным для повторного использования без необходимости каждый раз вводить параметры подключения.
---
## Основные возможности
- **Управление конфигурацией**: Все настройки сохраняются в специальных файлах (`config.ini` и `ftp.ini`), чтобы избежать ручного ввода при каждом запуске.
- **Простое взаимодействие с пользователем**: Интерактивное меню позволяет быстро указать путь к папке и параметры подключения к FTP-серверу.
- **Автоматическая загрузка файлов**: После успешной загрузки файла на FTP-сервер, он автоматически удаляется с локального устройства, освобождая место.
- **Безопасность**: Конфиденциальные данные (например, логин и пароль) хранятся в отдельном файле конфигурации.
- **Поддержка стандартных протоколов**: Использует библиотеку `ftplib` для надёжной работы с FTP-серверами.
---
## Требования
Для работы скрипта необходимы следующие компоненты:
- **Python 3.x**: Убедитесь, что у вас установлен Python версии 3.10 или выше.
- **Библиотека ftplib**: Обычно входит в стандартную библиотеку Python, но если её нет, её можно установить через pip:
```bash
pip install ftplib
```
---
## Установка
1. **Клонирование репозитория**
Склонируйте этот репозиторий на свой компьютер:
```bash
git clone https://github.com/your-repo-url/Kfale.git
cd Kfale
```
2. **Установка зависимостей**
Убедитесь, что у вас установлен Python 3.x. Затем установите все необходимые зависимости:
```bash
pip install configparser
```
> Примечание: В большинстве случаев `ftplib` уже включена в стандартную библиотеку Python, поэтому дополнительная установка не требуется.
---
## Как использовать
### Первый запуск
При первом запуске скрипт запросит у вас следующие данные:
1. **Путь к папке для взаимодействия со скриптом**: Укажите путь к директории, где будут находиться файлы для загрузки.
2. **Детали подключения к FTP-серверу**:
- IP-адрес FTP-сервера.
- Логин пользователя.
- Пароль.
Все эти данные будут сохранены в соответствующих файлах конфигурации (`config.ini` и `ftp.ini`).
### Работа со скриптом
1. Запустите скрипт:
```bash
python main.py
```
2. Введите имя файла, который нужно загрузить на FTP-сервер. Если файл успешно загружен, он будет автоматически удалён с локального устройства.
3. Для выхода из программы введите команду `exit`.
---
## Конфигурационные файлы
### `config.ini`
Файл содержит путь к директории, где находятся файлы для загрузки:
```ini
[DEFAULT]
folder_path = /path/to/your/folder
```
### `ftp.ini`
Файл содержит информацию о подключении к FTP-серверу:
```ini
[DEFAULT]
host = your_ftp_host
username = your_username
password = your_password
```
> **Важно**: Не забудьте защищать файл `ftp.ini`, так как он содержит конфиденциальную информацию.
---
## Пример использования
```bash
$ python main.py
Введите путь к папке для взаимодействия со скриптом: /home/user/files
Введите IP адрес FTP сервера: ftp.example.com
Введите логин для FTP сервера: user123
Введите пароль для FTP сервера: password123
Введите имя файла для копирования на FTP сервер (или 'exit' для выхода): example.txt
Файл успешно загружен на FTP сервер.
Оригинальный файл удален.
Введите имя файла для копирования на FTP сервер (или 'exit' для выхода): exit
```
---
## Дополнительные функции
- **Логирование**: Вы можете добавить логирование для отслеживания действий скрипта.
- **Многопоточность**: Для загрузки нескольких файлов одновременно можно использовать многопоточность.
- **Расширенные проверки**: Добавьте проверку наличия файла перед попыткой загрузки.
---
## Лицензия
Этот проект распространяется по лицензии **MIT License**. Подробности можно найти в файле [LICENSE](LICENSE).
---
## Авторы
- **kromskii2** - *Инициатор проекта* - [GitHub](https://github.com/kromskii2)
Если у вас есть вопросы или предложения по улучшению, создайте issue или pull request!
---
## Благодарности
- Спасибо сообществу Python за отличные инструменты и библиотеки!
- Особая благодарность всем, кто помог тестировать этот проект.
---
Надеемся, что Kfale станет полезным инструментом в вашем арсенале! 😊