An easy to use program for downloading files from a remote server via SFTP
easysftp is a console based program made using paramiko in Python. The program basically makes downloading files from a server via sftp easy by making use of simple navigation.
easysftp is available as a portable executable for Windows. To get started, download the latest version of easysftp from here or use the check-update command in easysftp to download the latest version.
For previous editions of Windows (7/8.1), you can download and run the legacy executable.
easysftp can be compiled as an executable using pyinstaller. However, there will be combatability issues due to difference in package versions. To avoid this we introduced a script which will clone this repository and compile automatically. To start using easysftp in Linux, you need to download the easysftp-linux-installer. The installer automatically downloads the latest source code and required libraries and compiles the program using pyinstaller.
After downloading the installer, extract the contents and run the install.sh script as admin
tar xvf easysftp-linux-installer.tar.gz
sudo ./install.sh
After successfull installation, you will see an executable file named easysftp-version.
./easysftp-2.6
To learn more about the installer, refer installer manual included with the installer.
To run easysftp from source, clone this repository using git or download the source from the latest release.
git clone https://github.com/flamboyantpenguin/easysftp
Note
To clone this repository on Windows, you need to have git for windows installed in your system.
After connecting to the server, you will see a list of directories in the remote server and a console output in the window.
easysftp>
To get a list of basic commands type help
To navigate/download type the number of the file/directory.
For example:
Current Directory: /home/penguin/Data
[1] Share
[2] Backup
easysftp>
Note
Hidden files are not displayed by default. To turn view them, type showhidden
in console.
Type 2
and hit enter to move to Directory Backup
easysftp>2
Current Directory: /home/penguin/Data/Backup
[1] Documents
[2] Pictures
[3] Hello.txt
easysftp>
Warning
Numbering system is based on the files displayed on console when you use ls
. To access/download hidden files/directories type showhidden
and ls
before accessing them.
To download files, type the coressponding number of the required file. Files will be stored in a local folder named easysftp.
easysftp>3
Downloading [///////////////////////////////////////\] 0.01 KB / 0.01 KB 100% 0.01 KB/s ▼
Note: The upload/download speed may not be accurate. Do not rely it for speed testing.
To change to parent directory, type .. and hit enter
File Downloaded successfully
easysftp>..
Current Directory: /home/penguin/Data
[1] Share
[2] Backup
easysftp>
To change to a specfic directory, use cd command
easysftp>cd /media/user/data
Current Directory: /media/user/data
[1] Movies
easysftp>
To upload a file located in the easysftp
directory, use put command
put 20220912_083256.jpg
Uploading [//////////////////////////////////////////-] 2.45 MB / 2.45 MB 100% 191.74 KB/s ▲
File Uploaded successfully
Current Directory: /home/penguin/Data/Backup
[1] Documents
[2] Pictures
[3] 20220912_083256.jpg
[4] Hello.txt
easysftp>
Important
While using put command make sure to type the full file name.
For more info refer manuals
easysftp now supports key based authentication. Previously, easysftp ignored unknown hosts. This is not a recommended practise and is a security vulnerability. Therefore, we have modified our authentication system. If the ssh-fingerprint of your remote server is present in your system (stored in .ssh/known_hosts
in your home directory) the fingerprints will be automatically loaded from it. In case of a unrecognised host, you have the option to add the fingerprint key to the local easysftp storage (.cfg
) without disturbing your system known_hosts
file. This fingerprint will be used for furthur authentication. For public key based authentication, you can copy your key
file to the easysftp
directory. Upon successfull login to a server, login info will be saved automatically. Passwords are no longer stored locally and you need to manually enter the password upon each login.
Fingerprints are stored in .cfg
. .cfg
is encrypted using bses and can be decrypted only by the easysftp
client. As of now config is version specific and we can guarentee maximum compatibility of a previous config file with latest versions. It is recommended that you delete the previously created config files before using the latest version. .cfg
. is hidden and stored in the easysftp
directory. You can view them by enabling View Hidden Files option in file explorer. However, you also have the option to turn of saving fingerprints locally. This can be done using the command
easysftp> set saveFingerprints 0
Note
After turning off saveFingerprints
you will have to verify previously connected hosts on each login if not authorized by the OS
With the introduction to application settings in version 2.6
, users now have more choice towards how easysftp works. We have decided to make fingerprint storage and logging file names optional to improve user privacy. We do not collect software logs/reports. However we believe these options give the user a sense of privacy.
saveFingerprints
> Enable/Disable saving fingerprints locallylogFileName
> Enable/Disable logging file names during download/upload
You can use the set command to modify these parameters. Refer Changing Application Settings to learn more about the commnand.
easysftp 2.6.0 supports application settings. You can modify the following values.
showHiddenFiles
> Enable/Disable showing hidden files on the remote systemsaveFingerprints
> Enable/Disable saving fingerprints locallyclearLogonStartup
> Enable/Disable clearing logs on startuplogFileName
> Enable/Disable logging file names during download/upload
Use set
command to change settings. For instance,
easysftp> set logFileName 0
Disables logging flenames.
In case of any error, you can check the .log
and errorInfo.txt
file in the easysftp
directory. errorInfo.txt
is an error report of the last reported error. The logging system is still in development but will be useful in some cases. Since .log
is hidden, you can also use the viewlogs
command to open the logs in your default text editor. Logs will be useful in reporting errors. To clear old logs use clearlogs
command.
To run the program from source you need to install Python 3.10 or above since bses encryption uses match case (introduced in Python 3.10) The program has been tested successfully in the following platforms
- Windows 10/11
- Linux
- amd64
- Ubuntu (22.04.1, 23.10)
- armv8
- Ubuntu
- amd64
easysftp 2.6.0
Last Updated: 14-01-2024
Made by DAWN/ペンギン