# 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 станет полезным инструментом в вашем арсенале! 😊