https://github.com/drduh/gone
Go Needful Expiry: an emphemeral file sharing service
https://github.com/drduh/gone
ephemeral file-server file-share go golang http http-server share
Last synced: 3 months ago
JSON representation
Go Needful Expiry: an emphemeral file sharing service
- Host: GitHub
- URL: https://github.com/drduh/gone
- Owner: drduh
- License: mit
- Created: 2025-03-04T00:02:20.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-11T01:46:40.000Z (3 months ago)
- Last Synced: 2025-03-11T02:28:30.620Z (3 months ago)
- Topics: ephemeral, file-server, file-share, go, golang, http, http-server, share
- Language: Go
- Homepage:
- Size: 85.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
*Important* For experimental and development use only - not yet fit for production.
gone is an ephemeral file sharing service written in Go.
# Features
- Upload, download and list files
- File expiration (removal) after downloads or duration of time
- JSON-based configuration, logging and server responses
- Token (string-based) authentication
- Request rate-limiting
- No third-party dependencies# Development
To build and run the application on Linux:
```
make run
```Binaries are built into a local `release` directory for distribution and installation.
# Server
Output is structured in JSON format and can be easily parsed with `jq` for convenience, for example:
```
gone | jq .data
```The optional `-debug` flag can be used for additional verbose program output.
## Configuration
gone uses an embedded JSON-based configuration [config/defaultSettings.json](https://github.com/drduh/gone/blob/main/config/defaultSettings.json) as default settings.
Copy the JSON file and use the `-config` flag to override options:
```
gone -config=mySettings.json
```# Client
Get default handler (heartbeat):
```
curl localhost:8080
```