Skip to content

Repository files navigation

QRUp

License: MIT

Simple file uploader for local network use. Upload files from your mobile device to the server with QR code scanning for easy access.

⚠️ Security Warning: This application is designed for LOCAL NETWORK USE ONLY. Do NOT expose this server to the public internet without proper authentication and security measures.

Table of Contents

How It Works

1. Start the Server

When you run the application, a QR code is displayed in your terminal along with the local network URL:

Terminal with QR code

2. Access from Desktop

Open the URL in your desktop browser to upload files locally:

Desktop browser upload interface

3. Access from Mobile

Scan the QR code with your mobile device to instantly access the upload page:

Mobile browser upload interface

4. Upload Files

  • Drag and drop files onto the upload area
  • Or click to select files from your device
  • Files are saved to the uploads folder
  • Works seamlessly on both desktop and mobile devices

Setup

Installation via Homebrew

Requirements:

brew tap totherush/tap
brew install qrup

Usage:

# Start with default settings (port 3000, uploads folder)
qrup

# Specify custom port and upload directory
qrup --port 8080 --upload /path/to/uploads

# Using short flags
qrup -p 8080 -u ./my-uploads

CLI Options:

  • --port, -p - Server port (default: 3000)
  • --upload, -u - Upload directory path, can be absolute or relative (default: uploads)

To update to the latest version:

brew uninstall --force qrup
brew untap --force totherush/tap
brew tap totherush/tap
brew install qrup

Manual Setup

  1. Install dependencies:
bun install
  1. (Optional) Configure environment variables:

    • Copy .env.example to .env
    • Available environment variables:
      • PORT - Server port (default: 3000)
      • UPLOAD_FOLDER - Upload directory path (default: uploads)
  2. Start the server:

    bun run dev

    Or for production:

    bun start
  3. Access the upload page:

    • On the same device: http://localhost:3000
    • From mobile device: Scan the QR code displayed in the terminal

Requirements

  • Node.js 22.18.0 or higher
  • Bun runtime installed on the server machine
  • Both devices on the same local network

Release Process

  1. Ensure all changes are committed and pushed
  2. Update version in package.json
  3. Run the release command:
    bun run release
  4. Review and commit the generated CHANGELOG.md
  5. Create and push a git tag:
    git tag v0.1.2
    git push origin v0.1.2
  6. Update the Homebrew formula with the new version and tarball SHA256

About

QRUp - Simple file uploader for local network. Providing a QR code for mobile devices.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages