Skip to content

iamwavecut/ezdrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZDrop

Simple and fast web-based file browser and transfer tool.

ezdrop.mp4

Install

Using Go

go install github.com/iamwavecut/ezdrop@latest

Pre-built Binaries

Download the latest release for your platform:

  • Linux

    • amd64:
      curl -L https://github.com/iamwavecut/ezdrop/releases/latest/download/ezdrop-linux-amd64.tar.gz | tar xz && sudo mv ezdrop /usr/local/bin/
    • arm64:
      curl -L https://github.com/iamwavecut/ezdrop/releases/latest/download/ezdrop-linux-arm64.tar.gz | tar xz && sudo mv ezdrop /usr/local/bin/
  • Windows (Run in PowerShell as Administrator)

    • amd64:
      Invoke-WebRequest -Uri https://github.com/iamwavecut/ezdrop/releases/latest/download/ezdrop-windows-amd64.zip -OutFile ezdrop.zip; Expand-Archive ezdrop.zip -DestinationPath $env:USERPROFILE\ezdrop; Move-Item $env:USERPROFILE\ezdrop\ezdrop.exe $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\
    • arm64:
      Invoke-WebRequest -Uri https://github.com/iamwavecut/ezdrop/releases/latest/download/ezdrop-windows-arm64.zip -OutFile ezdrop.zip; Expand-Archive ezdrop.zip -DestinationPath $env:USERPROFILE\ezdrop; Move-Item $env:USERPROFILE\ezdrop\ezdrop.exe $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\
  • macOS

    • amd64:
      curl -L https://github.com/iamwavecut/ezdrop/releases/latest/download/ezdrop-darwin-amd64.tar.gz | tar xz && sudo mv ezdrop /usr/local/bin/
    • arm64:
      curl -L https://github.com/iamwavecut/ezdrop/releases/latest/download/ezdrop-darwin-arm64.tar.gz | tar xz && sudo mv ezdrop /usr/local/bin/

Usage

Run the server:

ezdrop -chroot /path/to/serve

Options:

  • -chroot (required): Base directory to serve
  • -port (optional): Port to listen on (default: 8080)
  • -readonly (optional): Enable read-only mode (default: false)

Examples:

# Run with custom port
ezdrop -chroot /home/user/files -port 3000

# Run in read-only mode
ezdrop -chroot /home/user/files -readonly

Features

File Management

  • File browser with list/grid views
  • Multi-file upload/download with progress tracking
  • Chunked file upload support for large files
  • Directory upload support
  • Sort by name/size/date
  • File selection patterns (glob)

Upload Features

  • Supports any file type and size
  • Chunked upload with automatic size optimization
  • Checksum verification for data integrity
  • Upload progress tracking:
    • Overall progress across all files
    • Per-file progress with chunk information
    • Visual progress bars
    • File size and transfer speed display
  • Automatic retry on failed chunks
  • Drag and drop support

Navigation

  • Keyboard navigation
    • Arrow keys: Move cursor
    • Space: Toggle selection
    • Enter: Open directory/download file
    • Backspace: Navigate up
    • Home/End: Jump to start/end
    • PageUp/PageDown: Move by page/column
    • Ctrl+A: Select all
    • +/-: Select/deselect by pattern

Interface

  • Dark/light theme toggle
  • List and grid view modes
  • Responsive design
  • Progress indicators
  • File size formatting
  • Date/time display

Selection

  • Single click: Set cursor
  • Double click: Open/download
  • Shift+click: Range select
  • Ctrl+click: Toggle selection
  • Drag select: Multiple files
  • Pattern selection (.txt, doc, etc.)

Security

  • Enforced chroot directory
  • Path traversal protection
  • Rate limiting
  • Security headers
  • Read-only mode

Development

Built with:

  • Go 1.23+
  • Modern JavaScript (no frameworks)
  • CSS Grid/Flexbox

License

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •