Free file hosting website https://void.cat
Go to file
Kieran 6481eb54f0
All checks were successful
continuous-integration/drone/push Build is passing
Blocked origins
2023-11-03 01:13:08 +09:00
.github/workflows Fixes 2023-08-23 15:40:11 +01:00
VoidCat Blocked origins 2023-11-03 01:13:08 +09:00
.dockerignore support stripping metadata 2023-01-26 13:49:38 +00:00
.drone.yml Fixes 2023-08-23 15:40:11 +01:00
.gitignore Upgrade yarn 2023-08-23 15:21:13 +01:00
docker-compose.yml Rename paywall to payment 2022-09-07 15:52:40 +01:00
Dockerfile Use node20 2023-08-23 15:28:11 +01:00
nospa.dockerfile Fix nospa image 2022-03-08 14:06:16 +00:00
README.md Include api key doc for curl command 2022-09-09 12:54:19 +01:00
VoidCat.sln Pass Seq settings directly 2022-01-28 11:14:39 +00:00

Void.cat

Free, simple file hosting

Features

  • Profiles
  • File bandwidth statistics
  • Administration features
  • File download paywall

Running

Use the docker image to run void.cat:

docker run --rm -it -p 8080:80 ghcr.io/v0l/void.cat/app:latest

Then open your browser at http://localhost:8080.

The first registration will be set as admin, so make sure to create your own account

Usage

Simply drag and drop your files into the dropzone, or paste your screenshots or files into the browser window.

From cli you can upload with curl:

export FILE=memes.jpg
curl -X POST \
  -H "V-Content-Type: $(file --mime-type -b $FILE)" \
  -H "V-Full-Digest: $(sha256sum -bz $FILE | cut -d' ' -f1)" \
  -H "V-Filename: $FILE" \
  --data-binary @$FILE \
  "https://void.cat/upload?cli=true"

Or you can create an alias function in ~/bash_aliases like so:

vcu() {
  echo "Uploading $1"
  curl -X POST \
    -H "V-Content-Type: $(file --mime-type -b $1)" \
    -H "V-Full-Digest: $(sha256sum -bz $1 | cut -d' ' -f1)" \
    -H "V-Filename: $1" \
    --data-binary @$1 \
    "https://void.cat/upload?cli=true"
  echo -e ""
}

Uploading from cli will simply become vcu memes.jpg

You can also upload files to your user account by specifying an API key in the curl command:

  -H "Authorization: Bearer MY_API_KEY"

This command will return the direct download URL only. To get the json output simply remove the ?cli=true from the url.

Development

To run postgres in local use:

docker run --rm -it -p 5432:5432 -e POSTGRES_DB=void -e POSTGRES_PASSWORD=postgres postgres -d postgres

To run MinIO in local use:

docker run --rm -it -p 9000:9000 -p 9001:9001 minio/minio -- server /data --console-address ":9001"