Skip to content

Shifter

File Storage & Sync

A simple self‑hosted file‑sharing web app built with Django and Tailwind that lets users upload files and share expiring download links.

Python Latest v0.7.0 · 3mo ago Security brief →

Features

  • Upload files and generate shareable download links
  • Batch upload: automatically zip multiple files
  • Automatic deletion of files after expiry
  • Admin‑controlled settings (max file size, expiry time)
  • Multi‑user accounts for delegated uploads

Recent releases

View all 4 releases →
v0.7.0 New feature
Notable features
  • Configurable upload timeouts
  • Configurable Gunicorn timeouts
Full changelog

What's Changed

Features

  • feat: add configurable upload and gunicorn timeouts by @TobySuch in https://github.com/TobySuch/Shifter/pull/664

Miscellaneous

  • deps: update various dependencies

Full Changelog: https://github.com/TobySuch/Shifter/compare/v0.6.0...v0.7.0
Docker Image: docker pull ghcr.io/tobysuch/shifter:0.7.0

v0.6.0 New feature
Notable features
  • Admin user management for admin users
  • Disable Django admin interface by default
  • Add toggle to user creation form to set admin status
Full changelog

What's Changed

Features

  • feat: add user management for admin users by @TobySuch in https://github.com/TobySuch/Shifter/pull/632
  • feat: disable Django admin interface by default by @TobySuch in https://github.com/TobySuch/Shifter/pull/635
  • feat: add admin toggle to user creation form by @TobySuch in https://github.com/TobySuch/Shifter/pull/636
  • feat: allow file downloads without password change requirement by @TobySuch in https://github.com/TobySuch/Shifter/pull/637

Fixes

  • fix: admin nav disappears when editing non-admin user by @TobySuch in https://github.com/TobySuch/Shifter/pull/638
  • fix: include files with no expiry date in active files count by @TobySuch in https://github.com/TobySuch/Shifter/pull/640
  • fix: prevent intermittent debug mode in CI tests by @TobySuch in https://github.com/TobySuch/Shifter/pull/642

Miscellaneous

  • Add CLAUDE.md by @TobySuch in https://github.com/TobySuch/Shifter/pull/639
  • deps: update various dependencies

Full Changelog: https://github.com/TobySuch/Shifter/compare/v0.5.0...v0.6.0
Docker Image: docker pull ghcr.io/tobysuch/shifter:0.6.0

v0.5.0 New feature
Notable features
  • QR code generation for download links
  • MD5 checksum calculation and display for uploaded files
  • Optional file expiry functionality
Full changelog

What's Changed

Note: A few database changes required for this upgrade but no manual action required when updating. I still recommend taking a backup before updating just in case though.

Features

  • feat: add QR code generation for download links by @TobySuch in https://github.com/TobySuch/Shifter/pull/620
  • feat: add MD5 checksum calculation and display for file uploads by @TobySuch in https://github.com/TobySuch/Shifter/pull/623
  • feat: add optional file expiry functionality by @TobySuch in https://github.com/TobySuch/Shifter/pull/624

Fixes And Refactoring

  • refactor: use vite instead of webpack for JS/CSS build by @TobySuch in https://github.com/TobySuch/Shifter/pull/610
  • fix: small CSS fixes by @TobySuch in https://github.com/TobySuch/Shifter/pull/611
  • refactor: AlpineJS Rework by @TobySuch in https://github.com/TobySuch/Shifter/pull/614
  • fix: enable upload button after updating invalid expiry date by @TobySuch in https://github.com/TobySuch/Shifter/pull/618
  • fix: resolve Alpine store race condition in FilePond initialization by @TobySuch in https://github.com/TobySuch/Shifter/pull/621
  • fix: add chunkFileNames configuration for code-split chunks in Vite build by @TobySuch in https://github.com/TobySuch/Shifter/pull/622
  • chore: clean up untagged Docker images from GitHub Container Registry by @TobySuch in https://github.com/TobySuch/Shifter/pull/615
  • deps: update various dependencies

Full Changelog: https://github.com/TobySuch/Shifter/compare/v0.4.2...v0.5.0
Docker Image: docker pull ghcr.io/tobysuch/shifter:0.5.0

v0.4.2 New feature
Notable features
  • File size column added to file list view
  • Copy site info button in site settings page
Full changelog

What's Changed

  • Add build and push Docker image job to GitHub Actions workflow by @TobySuch in https://github.com/TobySuch/Shifter/pull/494
  • Fix Docker image tags in GitHub Actions workflow by @TobySuch in https://github.com/TobySuch/Shifter/pull/495
  • Change dependabot reviewer to codeowner by @TobySuch in https://github.com/TobySuch/Shifter/pull/498
  • Add file size column to file list by @TobySuch in https://github.com/TobySuch/Shifter/pull/552
  • Allow dependabot automerge on patch changes by @TobySuch in https://github.com/TobySuch/Shifter/pull/555
  • Add button to copy site info to the site settings page by @TobySuch in https://github.com/TobySuch/Shifter/pull/560
  • Add db to .dockerignore by @TobySuch in https://github.com/TobySuch/Shifter/pull/593
  • Dependency updates

Full Changelog: https://github.com/TobySuch/Shifter/compare/v0.4.1...v0.4.2
Docker Image: docker pull ghcr.io/tobysuch/shifter:0.4.2

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
41
Forks
9
Languages
Python HTML JavaScript

Install & Platforms

Install via
docker docker-compose

Beta — feedback welcome: [email protected]