Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/picosh/pobj
rsync, scp, sftp, and sshfs for your object store
https://github.com/picosh/pobj
Last synced: 3 months ago
JSON representation
rsync, scp, sftp, and sshfs for your object store
- Host: GitHub
- URL: https://github.com/picosh/pobj
- Owner: picosh
- Created: 2024-02-17T16:11:26.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-18T16:32:51.000Z (5 months ago)
- Last Synced: 2024-08-19T17:18:58.680Z (5 months ago)
- Language: Go
- Homepage:
- Size: 94.7 KB
- Stars: 11
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-repositories - picosh/pobj - rsync, scp, sftp, and sshfs for your object store (Go)
README
# pobj
`rsync`, `scp`, `sftp`, and `sshfs` for your object store. No extra front-end CLI tools
necessary, use what you already have installed.All you need to get started is our stateless golang binary and an object store.
# supported object stores
Currently support object stores:
- [filesystem](./storage/fs.go)
- [minio](./storage/minio.go)
- [s3](./storage/s3.go)We provide an [interface](./storage/storage.go) to build your own.
We plan on slowly building more object storage interfaces but this is all we use
at [pico.sh](http://pico.sh).# demo
```bash
go run ./cmd/authorized_keys
```Separate terminal:
```bash
rsync -e "ssh -p 2222" -rv ./files localhost:/
scp -P 2222 -r ./files localhost:/
sftp -P 2222 localhost
sshfs -p 2222 localhost:/ ./objs
```# info
By default, the user sent to the SSH server will be the bucket name and will be
created on-the-fly if it doesn't already exist.You are free to change the bucket by providing whatever you want as the user:
```bash
scp -P 2222 -r ./files mybucket@localhost:/
```# docker
```
ghcr.io/picosh/pobj/pobj:latest
```We also have a [docker compose file](./docker-compose.yml) which uses `minio`.
# inspiration
- [rclone](https://github.com/rclone/rclone)