GitHunt
SM

smp46/pingvin-share-x

Pingvin Share X is a fork of Pingvin Share, a self-hosted file sharing platform.


Pingvin Share X

Pingvin Share X is a fork of Pingvin Share, a self-hosted file sharing platform and an alternative for WeTransfer.

Features

  • Share files using a link
  • Unlimited file size (restricted only by disk space)
  • Set an expiration date for shares
  • Secure shares with visitor limits and passwords
  • Email recipients
  • Reverse shares
  • OIDC and LDAP authentication
  • Integration with ClamAV for security scans
  • Different file providers: local storage and S3

Setup

  1. Download the docker-compose.yml file
  2. Run docker compose up -d

The website is now listening on http://localhost:3000.

Tip

Checkout stonith404/Pocket ID, a user-friendly OIDC provider that lets you easily log in to services like Pingvin Share X using Passkeys. Made by the original creator of Pingvin Share.

Documentation

For more installation options and advanced configurations, please refer to the documentation.

Contributing

All contributions are welcome, including issues, feature suggestions, pull requests and more.

LLM Usage in Contributions

While all contributions are welcome and encouraged, I ask that you avoid submitting code entirely generated by Large Language Models (LLMs) such as ChatGPT, GitHub Copilot, Cursor AI, or similar tools. This is to ensure the quality, security and maintainability of the codebase. Using auto-complete or generated snippets is fine, but overall contributions should be human-written and human-reviewed.

Getting started

If you have found a bug, have suggestion or something else, please create an issue.

Submit a Pull Request

Before you submit the pull request for review please ensure that

  • The pull request naming follows the Conventional Commits specification:

    <type>[optional scope]: <description>

    example:

    feat(share): add password protection
    

    When TYPE can be:

    • feat - is a new feature
    • doc - documentation only changes
    • fix - a bug fix
    • refactor - code change that neither fixes a bug nor adds a feature
  • Your pull request has a detailed description

  • You run npm run format to format the code

Setup project

Backend

  1. Open the backend folder
  2. Install the dependencies with npm install
  3. Push the database schema to the database by running npx prisma db push
  4. Seed the database with npx prisma db seed
  5. Start the backend with npm run dev

Frontend

  1. Start the backend first
  2. Open the frontend folder
  3. Install the dependencies with npm install
  4. Start the frontend with npm run dev

You're all set!

Testing

At the moment we only have system tests for the backend. To run these tests, run npm run test:system in the backend folder.

Languages

TypeScript99.7%Dockerfile0.1%Shell0.1%JavaScript0.0%
BSD 2-Clause "Simplified" License
Created September 16, 2025
Updated March 15, 2026
smp46/pingvin-share-x | GitHunt