Skip to content

JacobLinCool/File-Sharing-Server

Repository files navigation

File Sharing Server

A Secured Temporary File Sharing Server runs on GitHub Actions.

Features

  • Fast
    • Zero Configuration
    • One-Click Start
  • Secure
    • HTTPS / WSS
    • Path Traversal Protection
  • Customizable
    • Glob-based File Permission Managment read write delete mkdir

How

A Node.js file server with cloudflared tunnel.

Usage

  1. Fork.
  2. Go to Action, click Run workflow.
  3. Find something like https://some-random-words.trycloudflare.com in the output of Start Server step.
  4. Access the url and start sharing!

find URL

Authenticated Tunnel

You can set TUNNEL_TOKEN in GitHub Secrets, and it will automatically use the authenticated tunnel in the next run.

set token

File Permission

You can set environment variable PERMISSIONS to a JSON string.

Default permission:

{
    "": {
        "read": ["*"],
        "write": ["*"],
        "delete": ["*"],
        "mkdir": ["*"]
    }
}

Schema:

type token = string
type glob = string

type config = { [key: token]: {
        read?: glob[],
        write?: glob[],
        delete?: glob[],
        mkdir?: glob[]
    }
}

The token will be hashed with SHA256 on the client side.

About

A Secured Temporary File Sharing Server runs on GitHub Actions. Start in 1 minute with zero configuration!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published