Skip to content

🔗 A free and open source URL shortening, file sharing and pastebin service.

License

Notifications You must be signed in to change notification settings

jake-walker/vh7

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VH7

VH7 is an all-in-one URL shortener, file sharing, and pastebin service. It provides a simple and efficient way to create short links, share files, and host code snippets or text pastes.

The production instance is available at vh7.uk.

Features

  • URL Shortener: Create short, easy-to-share links.
  • File Sharing: Upload and share files with ease.
  • Pastebin: Share code snippets and text with syntax highlighting.
  • Advanced Controls: Set expiration dates and custom slugs for your shares.
  • Developer Friendly: Built with a modern tech stack and a clean API.

Tech Stack

VH7 is built entirely on the Cloudflare ecosystem for maximum performance and scalability:

Project Structure

The repository is organized into a monorepo with two main directories:

  • /app: The frontend React application.
  • /worker: The backend API and scheduled cleanup tasks.

Local Development

Prerequisites

Setup

  1. Clone the repository:

    git clone https://github.com/jakew/vh7.git
    cd vh7
  2. Install dependencies:

    pnpm install
  3. Initialize the local database: In the worker directory, run migrations to set up your local D1 instance:

    cd worker
    pnpm migrate:up
    cd ..

Running the Application

To run VH7 locally, you need to start both the backend and the frontend.

  1. Start the Backend (Worker):

    cd worker
    pnpm dev

    The API will be available at http://localhost:8787.

  2. Start the Frontend (App): In a new terminal window:

    cd app
    pnpm dev

    The application will be available at the URL provided by Vite (usually http://localhost:5173).

Deployment

Deployment is handled via Cloudflare. Ensure you have your wrangler.jsonc configured with the correct environment variables and bindings.

# Deploy the worker and assets
wrangler deploy

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

🔗 A free and open source URL shortening, file sharing and pastebin service.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages