项目作者: Bitwise-01

项目描述 :
Secure FTP
高级语言: Python
项目地址: git://github.com/Bitwise-01/sFTP.git
创建时间: 2018-07-28T05:17:53Z
项目社区:https://github.com/Bitwise-01/sFTP

开源协议:MIT License

下载


sFTP is a simple and secure FTP server.

sFTP uses server side encryption to encrypt the file that is being sent.

Responses

  • 0: Everything went well
  • -1: Something went wrong

Simple example

Server side

  1. from sftp import sFTP
  2. ip = '127.0.0.1'
  3. port = 8080
  4. file = r'C:\Users\Mohamed\Desktop\Phi\phi.py'
  5. ftp = sFTP(ip, port)
  6. resp = ftp.send(file)
  7. if resp == 0:
  8. print('File sent')
  9. else:
  10. print('Failed to send file')

Client side

  1. from sftp import sFTP
  2. ftp = sFTP('127.0.0.1', 8080)
  3. resp = ftp.recv()
  4. if resp == 0:
  5. print('File received')
  6. else:
  7. print('Failed to receive file')

Timeout

by default max time is set to 10 seconds, after 10 seconds without a connection the server closes.

Server side

  1. from sftp import sFTP
  2. ip = '127.0.0.1'
  3. port = 8080
  4. file = r'C:\Users\Mohamed\Desktop\Phi\phi.py'
  5. ftp = sFTP(ip, port, max_time=15)
  6. resp = ftp.send(file)
  7. if resp == 0:
  8. print('File sent')
  9. else:
  10. print('Failed to send file')

Client side

  1. from sftp import sFTP
  2. ftp = sFTP('127.0.0.1', 8080)
  3. resp = ftp.recv()
  4. if resp == 0:
  5. print('File received')
  6. else:
  7. print('Failed to receive file')

Verbose

verbose option is used for displaying messages, by default is set to False.

Server side

  1. from sftp import sFTP
  2. ip = '127.0.0.1'
  3. port = 8080
  4. file = r'C:\Users\Mohamed\Desktop\Phi\phi.py'
  5. ftp = sFTP(ip, port, verbose=True)
  6. resp = ftp.send(file)
  7. if resp == 0:
  8. print('File sent')
  9. else:
  10. print('Failed to send file')

Client side

  1. from sftp import sFTP
  2. ftp = sFTP('127.0.0.1', 8080, verbose=True)
  3. resp = ftp.recv()
  4. if resp == 0:
  5. print('File received')
  6. else:
  7. print('Failed to receive file')

Warning: Just like SSL/TLS, this FTP server is also not safe against MITM attacks