Skip to content

Simple FTP server with GUI with python - with windows exe

License

Notifications You must be signed in to change notification settings

ghostersk/ftp-server-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple FTP Server with GUI (prefferably for windows)

  • option to choose what folder is served by the server
  • option to select port ( ports bellow 1024 require permissions, unless already allowed )
  • simple authentication - default is: user 123
  • logging to the GUI and to a file ( file with timestamps )
  • with system tray icon to restore daemon FTP server after is minimized
  • it can run in background from launch if you set run_as_daemon = 1 in ftp-config.cfg
  • simple connection from Explorer: ftp://user:[email protected] to access hosted files in RW mode

Default values for ftp-config.cfg

[FTP]
username = user
password = 123
port = 21
ftp_directory = C:\Temp\FTP
run_as_daemon = 0
log_file = ftp_log.txt

Requirements:

# runs with newest Python 3.12.7
PyQt5
pyftpdlib

# for windows compiling:
pyinstaller
Pillow # optional if you do not use .ico file but other image format

Windows:

  • This was built for windows, as currently there is no simple non install FTP Server solution.
  • On windows you do not need admin rights, only to allow traffic on ports <1024 through windows firewall
  • You can select FTP folder location ( for now the config is not being saved after change in GUI )
  • it keeps logged access in file

Linux:

  • It works on linux too, but for now you can run only ports 1024+ or you need to run it with sudo
  • It also creates the folder from where it is run "C:\Temp\FTP" or the folder in cfg file
  • Also on Linux it does not quit with buttons when FTP started, it must be killed, or ctrl+c when opened from terminal

Windows building is simple as:

pyinstaller --onefile --windowed --add-data "ftp.png;." --icon=ftp.png ftp_gui.py

image

Issues:

  1. Quit from system tray does not work when daemon mod is ON
  2. Settings are not saved when changed in GUI to config, this would need to be changed prior starting the app
  3. The app works ok on Windows but for linux it has few flaws
    • it creates folder "C:\Temp\FTP" in current directory if there is not other linux location in ftp-config.cfg already
    • it would require sudo to run on ports <1024 or you need to allow non sudo users to use port 21 ( port can be changed)
    • when the app is started as daemon it will not be stopped from gui, it must be killed
contribution:

FTP.png icon: Ftp icons created by andinur - Flaticon

About

Simple FTP server with GUI with python - with windows exe

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages