{"id":19690355,"url":"https://github.com/flamboyantpenguin/easysftp","last_synced_at":"2026-02-18T14:04:10.023Z","repository":{"id":184655628,"uuid":"671457013","full_name":"flamboyantpenguin/easysftp","owner":"flamboyantpenguin","description":"An easy to use console based client to transfer files from an SFTP server using paramiko. ","archived":false,"fork":false,"pushed_at":"2025-02-02T11:01:38.000Z","size":102,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T03:35:00.767Z","etag":null,"topics":["paramiko","python3","sftp-client","user-friendly"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flamboyantpenguin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-27T11:07:21.000Z","updated_at":"2025-02-02T11:01:39.000Z","dependencies_parsed_at":"2023-12-27T18:31:10.193Z","dependency_job_id":"946e7aa4-fbe8-4125-b121-c4843144347e","html_url":"https://github.com/flamboyantpenguin/easysftp","commit_stats":null,"previous_names":["flamboyantpenguin/easysftp"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/flamboyantpenguin/easysftp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flamboyantpenguin%2Feasysftp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flamboyantpenguin%2Feasysftp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flamboyantpenguin%2Feasysftp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flamboyantpenguin%2Feasysftp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flamboyantpenguin","download_url":"https://codeload.github.com/flamboyantpenguin/easysftp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flamboyantpenguin%2Feasysftp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29581539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T13:56:48.962Z","status":"ssl_error","status_checked_at":"2026-02-18T13:54:34.145Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["paramiko","python3","sftp-client","user-friendly"],"created_at":"2024-11-11T19:05:17.238Z","updated_at":"2026-02-18T14:04:10.004Z","avatar_url":"https://github.com/flamboyantpenguin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# easysftp\n\nAn easy to use program for downloading files from a remote server via SFTP\n\n## Introduction\n\neasysftp is a console based program made using [paramiko](https://github.com/paramiko/paramiko) in Python. The program basically makes downloading files from a server via sftp easy by making use of simple navigation.\n\n## Installation Instructions\n\n### Windows\n\neasysftp 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.\n\nFor previous editions of Windows (7/8.1), you can download and run the legacy executable.\n\n### Linux\n\neasysftp 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.\nTo 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.\n\nAfter downloading the installer, extract the contents and run the install.sh script as admin\n\n`tar xvf easysftp-linux-installer.tar.gz`\n\n`sudo ./install.sh`\n\nAfter successfull installation, you will see an executable file named easysftp-_version_.\n\n`./easysftp-2.6`\n\nTo learn more about the installer, refer installer manual included with the installer.\n\n## Running from Source\n\nTo run easysftp from source, clone this repository using git or download the source from the [latest release](https://github.com/flamboyantpenguin/easysftp/releases/latest).\n\n`git clone https://github.com/flamboyantpenguin/easysftp`\n\n\u003e [!NOTE]\n\u003e To clone this repository on Windows, you need to have [git for windows](https://git-scm.com/) installed in your system.\n\n## Basic Commands\n\nAfter connecting to the server, you will see a list of directories in the remote server and a console output in the window.\n\n`easysftp\u003e`\n\nTo get a list of basic commands type help\n\nTo navigate/download type the number of the file/directory.\n\nFor example:\n\n```Console\nCurrent Directory: /home/penguin/Data\n\n[1]             Share\n[2]             Backup\n\neasysftp\u003e\n```\n\n\u003e [!NOTE]\n\u003e Hidden files are not displayed by default. To turn view them, type `showhidden` in console.\n\nType `2` and hit enter to move to Directory `Backup`\n\n```Console\neasysftp\u003e2\nCurrent Directory: /home/penguin/Data/Backup\n\n[1]             Documents\n[2]             Pictures\n[3]             Hello.txt\n\neasysftp\u003e\n```\n\n\u003e [!WARNING]\n\u003e 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.\n\nTo download files, type the coressponding number of the required file. Files will be stored in a local folder named easysftp.\n\n```Console\neasysftp\u003e3\nDownloading [///////////////////////////////////////\\] 0.01 KB / 0.01 KB 100% 0.01 KB/s     ▼\n```\n\n    Note: The upload/download speed may not be accurate. Do not rely it for speed testing. \n\nTo change to parent directory, type .. and hit enter\n\n```Console\nFile Downloaded successfully\neasysftp\u003e..\nCurrent Directory: /home/penguin/Data\n\n[1]             Share\n[2]             Backup\n\neasysftp\u003e\n```\n\nTo change to a specfic directory, use cd command\n\n```Console\neasysftp\u003ecd /media/user/data\nCurrent Directory: /media/user/data\n\n[1]             Movies\n\neasysftp\u003e\n```\n\nTo upload a file located in the `easysftp` directory, use put command\n\n```Console\nput 20220912_083256.jpg\nUploading [//////////////////////////////////////////-] 2.45 MB / 2.45 MB 100% 191.74 KB/s   ▲\nFile Uploaded successfully\nCurrent Directory: /home/penguin/Data/Backup\n\n[1]             Documents\n[2]             Pictures\n[3]             20220912_083256.jpg\n[4]             Hello.txt\n\neasysftp\u003e\n```\n\n\u003e [!IMPORTANT]\n\u003e While using put command make sure to type the full file name. \n\nFor more info refer [manuals](./docs/manual.md)\n\n## Authentication\n\neasysftp 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. \n\nFingerprints 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 \n\n```Console\neasysftp\u003e set saveFingerprints 0\n```\n\n\n\u003e [!NOTE]\n\u003e After turning off `saveFingerprints` you will have to verify previously connected hosts on each login if not authorized by the OS\n\n## Privacy\n\nWith 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. \n\n- `saveFingerprints` \u003e Enable/Disable saving fingerprints locally\n- `logFileName` \u003e Enable/Disable logging file names during download/upload\n\nYou can use the set command to modify these parameters. Refer [Changing Application Settings](https://github.com/flamboyantpenguin/easysftp/edit/release2.6_doc/README.md#Changing-Application-Settings) to learn more about the commnand. \n\n## Changing Application Settings \n\neasysftp 2.6.0 supports application settings. You can modify the following values. \n\n- `showHiddenFiles` \u003e Enable/Disable showing hidden files on the remote system\n- `saveFingerprints` \u003e Enable/Disable saving fingerprints locally\n- `clearLogonStartup` \u003e Enable/Disable clearing logs on startup\n- `logFileName` \u003e Enable/Disable logging file names during download/upload\n\nUse `set` command to change settings. For instance, \n\n```Console\neasysftp\u003e set logFileName 0\n```\n\nDisables logging flenames. \n\n## Errors and Debugging\n\nIn 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. \n\n## Supported Platforms and Requirements\n\nTo 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)\nThe program has been tested successfully in the following platforms\n\n- Windows 10/11\n- Linux\n  - amd64\n    - Ubuntu (22.04.1, 23.10)\n  - armv8\n    - Ubuntu\n\n## About\n\n```Txt\neasysftp 2.6.0\n\nLast Updated: 14-01-2024\nMade by DAWN/ペンギン\n```\n\n![DAWN](https://github.com/flamboyantpenguin/easysftp/assets/49310641/a2a6cd50-1ccf-4a8e-9b9c-fe7b36207ebc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflamboyantpenguin%2Feasysftp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflamboyantpenguin%2Feasysftp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflamboyantpenguin%2Feasysftp/lists"}