This project contains a cross platform (Linux & Windows for now) SSH and SFTP client.
First go to the releases section https://github.com/5cript/nui-sftp/releases This is where you can find the latest releases of the app. (Not every release might have packages attached to it, pick the latest one with packages).
Download the windows zip and extract it somewhere. If you want an installer, create an issue so I know that there is demand.
You can install the flatpak or install via makepkg
git clone https://github.com/5cript/nui-sftp-deploy.git
cd nui-sftp-deploy
makepkg -sito uninstall:
sudo pacman -R nui-sftpThis project will be submitted to the AUR at a later date.
For other distributions a flatpak is provided. Currently not in the official flathub, but that will come eventually. Download the flatpak from a release and install it like so:
# Make sure to pass the correct file name!
flatpak install nui-sftp-flatpak-x86_64_0.1.1.flatpakmacOS is currently not supported. Create an issue if you want to see support for it.
There will not be support for any other system and that will not change in the near future even if asked for. (Mobile Devices or BSD).
- Layouting.
- Load Layout (on session start only, not afterwards).
- Fix session being in hanging state when connect fails.
- Implement proper handling of connection loss.
- Multi session support.
- Accessible logs.
- Better header footer borders
- MUCH smaller list items.
- MUCH smaller icons.
- Scroll operations into view when they complete.
- "Remove" to an X button
- Error message in hover.
- Sometimes refreshes on remote side are not added to queue. (Bulk delete for example)
- Add UI for settings.
- Document settings.
- Save / Delete Current Layout.
- Better number boxes.
- Number box value constraining.
- Keyboard interactive password auth.
- Key auth.
- Key auth with passphrase.
- Automatic key auth via SSH directory.
- Password auth.
- SSH agent support linux.
- SSH shell.
- Terminal UIs works.
- Terminal resizing.
- Single file downloads.
- Bulk download.
- Forward download options for bulk downloads.
- Single file uploads.
- Delete file.
- Rename file.
- Create file.
- Create directory.
- Pause/Continue operations.
- Cancel operations.
- Bulk uploads.
- Show file properties.
- Recursive folder delete.
- Error message on delete fail.
- Delete confirm focus default "ok".
- Implement handling of symlinks in bulk downloads.
- Implement handling of symlinks in regular downloads.
- Implement handling of symlinks in bulk uploads.
- Implement handling of symlinks in regular uploads.
- Default directory on connect.
- Grid view.
- Table view.
- Split UI into local and remote views.
- Box drag select for icon view.
- Box drag select for table view.
- Auto refresh after operation complete.
- Resize left vs right.
- Upload drag and drop (within view and perhaps into the app).
- Download drag and drop (within view and perhaps outside the app).
- Searching files.
- Sorting files.
- Keyboard input.
- Sorting modes in icon view / sort menu.
- Context menu for file operations.
- Delete remote files (empty dirs and files).
- Rename remote file.
- Ask user to overwrite files on upload/download.
- Drag and drop from system on Windows.
- Drag and drop from system on Linux. (Partially, only 1 file from file managers due to webkit breaking itself for security reasons without providing a proper fix. https://github.com/WebKit/WebKit/commit/89838b9164a1dd3baa7053539cf93414977fb081)
- Persist mode as part of layout.
- Windows SSH agent support, waiting for official libssh support, before I resort to patches: https://gitlab.com/libssh/libssh-mirror/-/issues/277
- GSSAPI auth: Will make work when a need arises
- KeypassXc database integration: lots of work for tiny use cases. Its a cool idea for later.
- Custom top bar with moveability and minimize, maximize, close buttons.
- More/Custom themes.
- Split language file into multiple for each language for easier maintenance.
- Synchronize directories.
- Implement bulk download to archives.
- Optimize download/upload speed of lots of files.
- Test utf path support and implement if faulty.
- Local shell is broken on windows and linux. There is a bigger fix needed because I need to fork at the very start of main to an intermediate process that then starts the actual app and the shell processes on linux.
- Option to disable some warning boxes.
- Same side drag and drop for moving files locally or remotely.
- Better indication that on drag drop, all selected items are being dragged.
- File previews:
- Image preview (image as icon?)
- Text preview
- Show link target in properties window.
- Improve arrow navigation with shift and control.
- Scroll into view of recently selected item when using keyboard controls.
- Ctrl + C / Ctrl + V for copy paste.
- Open files with associated application.
- Monitor changes on open files. Add monitoring tab for that and add auto upload option.
- Cannot use mouse side keys for history navigation (yet) because of a bug in webkit show them as "button 0".
- On WebKit Systems (Linux), the drag and drop from the desktop only supports single files and folders, not a list of items, because WebKit removed the functionality entirely because of an unfixed security issue.
