Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andrewchambers/sftpplease
SFTP <-> Cloud service bridge.
https://github.com/andrewchambers/sftpplease
Last synced: about 1 month ago
JSON representation
SFTP <-> Cloud service bridge.
- Host: GitHub
- URL: https://github.com/andrewchambers/sftpplease
- Owner: andrewchambers
- License: mit
- Created: 2019-02-18T06:48:47.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-25T02:08:42.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T16:48:38.802Z (4 months ago)
- Language: Go
- Homepage: https://acha.ninja
- Size: 202 KB
- Stars: 69
- Watchers: 6
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - andrewchambers/sftpplease - SFTP <-> Cloud service bridge. (Go)
README
# sftpplease
This program acts as a secure bridge between an ssh server and supported cloud providers.
This lets you use sftp and scp client to access cloud providers like dropbox without
installing any closed source software on your devices :).Any sftp or scp client should work, I have tested with filezilla and openssh sftp/scp.
Sshfs will work in the future for simple transfers and directory listing, but will never work for random
file access such as running complex applications.# Project Status
Alpha, read only mode should be safe, but there are definitely bugs, the code hasn't been battle tested at all, and there
isn't much free time to work on it.Currently only dropbox is supported.
# Screenshots
Using filezilla to upload to dropbox:
![filezilla_dropbox](./screenshots/filezilla_dropbox.png)
# How to use:
First, compile sftpplease:
```
$ git clone https://github.com/andrewchambers/sftpplease
$ cd sftpplease/cmd/sftpplease
$ go build
$ ./sftpplease -help
```Install the sftpplease binary on your desired server.
Next create a dedicated user account on your server, (for example a dropbox user).
Next create an authorized keys file with a forced command for this user:
```
restrict,command="/path/to/sftpplease -read-only -vfs dropbox:YOUR_API_TOKEN", ssh-rsa YOURSSHKEY...
```Now you can use sftp and scp to access your dropbox account :):
```
$ sftp [email protected]
ls
...
$ scp ./file.txt [email protected]:/
```# Currently supported providers
## Dropbox
### Creating a dropbox api token
- Visit https://www.dropbox.com/developers
- Go to 'My apps' (https://www.dropbox.com/developers/apps)
- Go to create app (https://www.dropbox.com/developers/apps/create)
- Follow the guides.
- Visit your app page.
- Click the 'Generate' button to generate an api access token, Use this token under -the 'vfs dropbox:YOUR_API_TOKEN' argument.# Donating
If you are able to give a donation, it would help progress greatly.
- bitcoin: 34FrF1vr59Cg5Sz1Hnd17GPcqztCgpui48
- [paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FLUPKG253245L&source=url)# Credits and thanks
- Vasily Kolobkov for writing the original scp implementation.
- Authors of https://github.com/pkg/sftp for providing the sftp packet parsing code.
- Authors of https://github.com/anmitsu/go-shlex for providing shell parsing.