Go to file
2021-12-08 15:49:02 +01:00
actions Reduce code duplication in client actions 2021-12-08 15:07:39 +01:00
certs Let clients list and revoke certs 2021-12-06 19:14:39 +01:00
config Change valid-function for config 2021-12-08 13:12:16 +01:00
ezshare Add binaryservice 2021-12-08 05:42:25 +01:00
pb Add binaryservice 2021-12-08 05:42:25 +01:00
protos Add binaryservice 2021-12-08 05:42:25 +01:00
scripts Initial commit 2021-12-03 23:05:29 +01:00
server Fix delete panic 2021-12-08 15:49:02 +01:00
store Add validation to config 2021-12-08 09:53:44 +01:00
.gitignore Add binary handler to http 2021-12-08 06:36:41 +01:00
Dockerfile Fix Dockerfile 2021-12-08 15:19:52 +01:00
ezshare.example.toml Allow updating config from env 2021-12-08 11:43:41 +01:00
go.mod Add proper logging 2021-12-06 07:55:30 +01:00
go.sum Add proper logging 2021-12-06 07:55:30 +01:00
main.go Reduce code duplication in client actions 2021-12-08 15:07:39 +01:00
README.md Update readme 2021-12-04 11:54:01 +01:00

ezshare

Server

Running a server using docker:

# First, build the image
docker build -t ezshare:latest .

# Then run an interactive container to generate certificates
# This will generate CA, server and client certs in /var/ezshare
docker run --rm -it -v /var/ezshare:/data ezshare:latest sh
# Run this inside the container
ezshare cert gen-all --out-dir /data/certs
exit

# Then copy ezshare.example.toml to /var/ezshare/ezshare.toml
# Edit the config, making sure to point certificates to /data/server.pem etc

# Run the server
docker run --rm -d -v /var/ezshare:/data ezshare:latest

Client

Compile the client:

go build -o ezshare cmd/ezshare.go

Copy the resulting binary somewhere into $PATH. Then generate an empty client config using ezshare client init-config. Copy certificates from server (srv.pem, client.pem, client.key) to the same dir as the generated config. Edit the config-file, and update the Client section with correct default-server and path to certificates.

Client should then be ready for use.

NAME:
   ezshare client - Client commands

USAGE:
   ezshare client command [command options] [arguments...]

COMMANDS:
   get          Get file with id
   upload       Upload file(s)
   delete       Delete file with id
   list         List files
   config-init  Initialize default config
   help, h      Shows a list of commands or help for one command

OPTIONS:
   --addr value  Address of server.
   --help, -h    show help (default: false)

Development

Recompile proto-files

protoc --go_out=. --go-grpc_out=. --go_opt=module=gitea.benny.dog/torjus/ezshare --go-grpc_opt=module=gitea.benny.dog/torjus/ezshare protos/ezshare.proto