Исходники - FTP клиент для передачи файлов и просмотра их. [BETA] | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой скрипт на основе слитого?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Исходники FTP клиент для передачи файлов и просмотра их. [BETA]

TexasSCAM

Сеньор
Автор темы
DEVELOPER
29 Июн 2023
191
40
28
Как я уже показывал ранее в статье (тык) на форуме, можно создавать FTP сервер, и по идеи это круто, ты можешь свой сайт поставить, и много чего еще, но к всему этому я решил сделать простой и крутой код для подключений к FTP серверу

Спойлер :

1688326290440
Мой код умеет :
lists - просмотр всех файлов на сервере
upload - загрузка файлов на сервер (пример : upload /home/space/Desktop/password.txt) либо (пример №2 : upload ./password.txt)
download - скачивание файлов с сервера (пример : download list.txt)


По файлам :
- main.py - основной код
- config.json - файл с конфигом для входа в аккаунт FTP

main.py
Python:
import os
import json
from ftplib import FTP

class FTPClient:
    def __init__(self, host, username, password):
        self.host = host
        self.username = username
        self.password = password
        self.ftp = FTP(self.host)
        self.ftp.login(self.username, self.password)

    def lists(self):
        self.ftp.retrlines('LIST')

    def upload(self, filename):
        with open(filename, 'rb') as file:
            self.ftp.storbinary('STOR ' + os.path.basename(filename), file)

    def download(self, filename):
        local_filename = os.path.join('downloads', os.path.basename(filename))
        os.makedirs(os.path.dirname(local_filename), exist_ok=True)
        with open(local_filename, 'wb') as file:
            self.ftp.retrbinary('RETR ' + filename, file.write)

def load_config():
    with open('config.json') as file:
        config = json.load(file)
    return config

def main():
    config = load_config()

    host = config['host']
    username = config['username']
    password = config['password']

    ftp_client = FTPClient(host, username, password)

    while True:
        command = input('Введите команду (lists, upload, download) или "exit" для выхода: ')
        if command == 'lists':
            ftp_client.lists()
        elif command.startswith('upload '):
            filename = command.split(' ')[1]
            ftp_client.upload(filename)
        elif command.startswith('download '):
            filename = command.split(' ')[1]
            ftp_client.download(filename)
        elif command == 'exit':
            break
        else:
            print('Некорректная команда!')

    ftp_client.ftp.quit()

if __name__ == '__main__':
    main()

config.json
JSON:
{
  "host": "experemental.coolpage.biz",
  "username": "experemental.coolpage.biz",
  "password": "oleg2201"
}
 
Активность:
Пока что здесь никого нет