Mini sFTP client
This is a mini web based sFTP client written on Go
using Revel Framework with API support
Quick Start
Download and run
- Access releases page
and pickup the latest version for your OS
- Download and unzip archive locally
- Run run.exe for Windows OR ./run for Linux/OS X
- The run file will check for any updates
- When prompted enter port to listen on (ex. 9000)
- Access http://127.0.0.1:9000 (if you choose port 9000) from your browser
Benefits and Key features
Security
Trying to access client from public network (not from localhost) is only possible with pin code. Pin code is shown in the top right corner of the page and in client logs. Pin code is generated each time you start the client and is stored in memory.
Want to run as a docker image?
Run from Docker hub:
docker pull anikitenko/mini-sftp-client
docker run -p <local port>:9000 --rm anikitenko/mini-sftp-client
Tags:
- latest: staging branch
- stable: master branch
- vx.x.x: tags in repository
Build from sources:
Get mini sftp client:
git clone git@github.com:anikitenko/mini-sftp-client.git
Build:
cd mini-sftp-client && docker build -t mini-sftp-client .
Run:
docker run -p <local port>:9000 --rm mini-sftp-client
Run client from sources
Prerequisite:
Install Revel:
go get -u github.com/revel/cmd/revel
Get mini sftp client:
git clone git@github.com:anikitenko/mini-sftp-client.git
Resolve dependencies:
cd mini-sftp-client
govendor sync
Run client:
cd ..
revel run mini-sftp-client
Usage
Once you navigate to http://127.0.0.1:9000 you should see the following screen:
Notes:
- If you are able to authenticate without password on your server, you may ignore that field
- During establishing SSH connection client will try to use .ssh/id_rsa and .ssh/id_dsa if client finds them
- Unsure about connection? Use Test button
- Changing connection name also changes title of the page.
Open client in a couple of tabs, change connection name and
you will be able to distinguish different connections
Establishing connection:
Notes:
- After you successfully established connection, client will try to detect home directories no matter what is your local OS
- Button to Test connection is disabled after successful connection
- This is because you can enter credentials to 1 server and if you test
for another, input data remains and button to ReConnect also remains,
so silly click on it will cause all data to load from your another server
Notes:
- "Like double tab" works on Windows, OS X and Linux OS
Downloading files and using search:
Notes:
- Search works the same for remote files as for local
- Search will not search for files globally, it's only sorting files which are exist
Quick buttons
- Quick buttons for remote files:
- Go Back: every time you navigate, client will save paths and on click button will return you to previous path
- Go Home: button will navigate you to initial directory which was opened during connection
- Go UP: navigates you to parent directory
- Refresh: refresh current directory
- Quick buttons for local files:
- Go Back: every time you navigate, client will save paths and on click button will return you to previous path
- Go Home: button will navigate you to initial directory which was opened during connection
- Go UP: navigates you to parent directory
- Create New Directory: create new empty directory and navigate to it
- Refresh: refresh current directory