673d15b1b14fb850bf1ecca618b61bc19f0f2c73
ablage
A secure, minimal file exchange web application with optional authentication and HTTPS support.
Features
- Drag & drop file upload with real time progress
- Download and delete uploaded files directly from the web interface
- Fully responsive web UI for desktop and mobile
- HTTPS support with self-signed or user-provided certificates
- Sinkhole mode to hide existing files
- Optional password protection
- HTTP mode for local, unencrypted usage
- No external dependencies on runtime
- No bullshit
Installation
- Clone the repository:
git clone https://git.0x0001f346.de/andreas/ablage.git
cd ablage
- Build and run:
go build -o build/ . && build/ablage [flags]
Usage & Flags
Flag | Description |
---|---|
--auth |
Enable Basic Authentication. |
--cert |
Path to a custom TLS certificate file (PEM format). |
--http |
Enable HTTP mode. Nothing will be encrypted. |
--key |
Path to a custom TLS private key file (PEM format). |
--password |
Set password for Basic Authentication (or let ablage generate a random one). |
--path |
Set path to the data folder (default is data in the same directory as the ablage binary). |
--port |
Set port to listen on (default is 13692 ). |
--readonly |
Enable readonly mode. No files can be uploaded or deleted. |
--sinkhole |
Enable sinkhole mode. Existing files in the storage folder won't be visible. |
Accessing the Web UI
- Open your browser and navigate to
https://localhost:13692
(orhttp://localhost:13692
if using--http
) - If
--auth
is enabled, use the usernameablage
and the auto-generated password or provide your own with--password
File Storage
- Uploaded files are stored in a
data
folder in the same directory as the binary by default (can be changed via--path
) - Sinkhole mode hides these files from the web UI but they remain on disk
TLS Certificates
- By default, ablage uses an ephemeral, self-signed certificate generated on each start
- To use your own certificate, pass the paths to your key and certificate with
--key
and--cert
Generating a test certificate
To generate a test key/certificate pair for local testing with elliptic curve cryptography (P-256 curve), use:
openssl req -x509 \
-newkey ec \
-pkeyopt ec_paramgen_curve:P-256 \
-nodes \
-keyout /tmp/test.key \
-out /tmp/test.crt \
-days 365 \
-subj "/CN=localhost"
Then start ablage like this:
./ablage --cert /tmp/test.crt --key /tmp/test.key
Version 1.2
Latest
Languages
Go
61%
JavaScript
32.5%
CSS
4.6%
HTML
1.4%
Shell
0.5%