mini-sftp-client
mini-sftp-client copied to clipboard
Mini web sFTP client written on Go using Revel Framework with API support
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
- [x] Nothing to install: unzip and run. Use different tabs for different connections
- [x] Runs on Linux, OS X, Windows
- [x] Run client for all interfaces and access client from mobile device and manage files
- [x] Run client on your file server (possible Linux based, Windows, OS X) and manage files from your desktop
- [x] Access client from your mobile and manage files on your desktop
- [x] API support (reference)
- [x] Docker support (see below)
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 [email protected]: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:
- Go 1.6+
- govendor (https://github.com/kardianos/govendor)
Install Revel:
go get -u github.com/revel/cmd/revel
Get mini sftp client:
cd <YOUR_WORK_DIR> (directory should be in GOPATH)
mkdir -p src/github.com/anikitenko
cd src/github.com/anikitenko
git clone [email protected]:anikitenko/mini-sftp-client.git
Resolve dependencies:
cd mini-sftp-client
govendor sync
Run client:
revel run github.com/anikitenko/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 password 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 remote and local home directories
- 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