# PsiTransfer: Simple Self-Hosted File Sharing Solution

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/psi-4ward-psitransfer
Generated for open source discovery and AI-assisted research.

PsiTransfer is an open-source, self-hosted file sharing solution designed as a robust alternative to commercial services like Dropbox or WeTransfer. It provides a mobile-friendly interface, supports large files with resumable transfers, and offers features such as no accounts, configurable expire times, and password-protected downloads. This project empowers users to maintain full control over their data while facilitating efficient file transfers.

GitHub: https://github.com/psi-4ward/psitransfer
OSRepos URL: https://osrepos.com/repo/psi-4ward-psitransfer

## Summary

PsiTransfer is an open-source, self-hosted file sharing solution designed as a robust alternative to commercial services like Dropbox or WeTransfer. It provides a mobile-friendly interface, supports large files with resumable transfers, and offers features such as no accounts, configurable expire times, and password-protected downloads. This project empowers users to maintain full control over their data while facilitating efficient file transfers.

## Topics

- file-sharing
- pastebin
- transfer-files
- upload
- JavaScript
- self-hosted
- open-source
- web-application

## Repository Information

Last analyzed by OSRepos: Sun Jan 18 2026 12:01:23 GMT+0000 (Western European Standard Time)
Detail views: 7
GitHub clicks: 4

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

PsiTransfer is a simple, open-source, and self-hosted file sharing solution. It serves as a powerful alternative to popular paid services such as Dropbox and WeTransfer, allowing users to host their own file transfer service. Built with JavaScript and featuring a lightweight Vue.js frontend, PsiTransfer prioritizes ease of use and control over your data.

Key features include:
*   No accounts or logins required for users.
*   A mobile-friendly and responsive interface.
*   Support for many and very large files, leveraging streaming.
*   Resumable up- and downloads powered by [tus.io](https://tus.io "tus.io - External link" target="_blank").
*   Ability to set an expire-time for upload buckets.
*   Options for one-time downloads.
*   Download all files as a convenient ZIP or TAR.GZ archive.
*   Modal-style file preview for various file types.
*   Password-protected download lists using AES encryption.
*   An `/admin` page to list bucket information (disabled by default until `adminPass` is configured).
*   Explicit named bucket IDs using the query parameter `sid=<myBucketID>`.

## Installation

PsiTransfer can be quickly set up using Docker or installed manually from precompiled releases or source.

### Docker Quickstart

Ensure you have Docker installed. The data volume needs UID 1000.

bash
$ docker run -p 0.0.0.0:3000:3000 -e PSITRANSFER_ADMIN_PASS=secret -v $PWD/data:/data psitrax/psitransfer
# data volume needs UID 1000
$ sudo chown -R 1000 $PWD/data


You can specify a version using image tags, for example, `psitrax/psitransfer:2` for the latest stable `2.x.x` release.

### Manual Installation (Precompiled)

Requires Node.js version 12 or higher.

1.  Download and extract the latest release package from the [PsiTransfer GitHub Releases page](https://github.com/psi-4ward/psitransfer/releases "PsiTransfer GitHub Releases - External link" target="_blank").
2.  Navigate to the extracted directory.
3.  Install dependencies and start the application:
    bash
    $ NODE_ENV=production npm install
    $ npm start
    

### Manual Installation (From Source)

Requires Node.js version 12 or higher.

1.  Clone the repository:
    bash
    $ git clone https://github.com/psi-4ward/psitransfer.git
    $ cd psitransfer
    
2.  Compile the frontend applications:
    bash
    $ cd app
    $ npm install
    $ npm run build
    
3.  Install backend dependencies and start the application:
    bash
    $ cd ..
    $ npm install
    $ npm start
    

### Configuration

PsiTransfer can be configured via `config.js`, `config.production.js` (for specific environments), or environment variables. For example, `PSITRANSFER_UPLOAD_DIR` sets the upload directory, and `PSITRANSFER_UPLOAD_PASS` can secure your instance from unauthorized uploads when exposed to the internet.

## Examples

Using PsiTransfer is straightforward. Once running, you can access the web interface to upload files. You can specify various options for your upload bucket, such as:

*   **Setting an expiration time:** Files can be automatically deleted after a set period, ensuring temporary sharing.
*   **One-time downloads:** Create links that expire after a single download, enhancing security for sensitive files.
*   **Password protection:** Secure your download lists with a password, adding an extra layer of privacy.
*   **Named bucket IDs:** Use `sid=<myBucketID>` in the URL to create or access specific buckets, useful for organizing transfers.

For administrators, the `/admin` page provides an overview of active buckets and their details, once the `adminPass` configuration value is set. The frontend can also be customized by altering `public/pug/upload.pug` and `download.pug` to add logos or custom styles.

## Why Use PsiTransfer?

PsiTransfer offers compelling advantages for individuals and organizations seeking a robust file sharing solution:

*   **Data Control and Privacy:** By self-hosting, you retain full ownership and control over your data, avoiding third-party servers and their privacy policies.
*   **Cost-Effective:** It's an open-source solution, eliminating subscription fees associated with commercial file sharing services.
*   **No Accounts Needed:** Simplifies the user experience by removing the need for registration or logins, making sharing quick and frictionless.
*   **Reliable Transfers:** Features like resumable uploads and downloads ensure that large files can be transferred efficiently, even with intermittent network issues.
*   **Customization:** The ability to modify frontend templates allows for branding and integration into existing web environments.
*   **Active Development:** The project is open to contributions, fostering continuous improvement and community support.

**Important Considerations:**
*   There is currently no end-to-end payload encryption.
*   The "Download all as ZIP" feature does not support resuming the download.

## Links

*   **GitHub Repository:** [https://github.com/psi-4ward/psitransfer](https://github.com/psi-4ward/psitransfer "PsiTransfer GitHub Repository - External link" target="_blank")
*   **Official Documentation:** [https://github.com/psi-4ward/psitransfer/tree/master/docs](https://github.com/psi-4ward/psitransfer/tree/master/docs "PsiTransfer Documentation - External link" target="_blank")
*   **Docker Hub Page:** [https://hub.docker.com/r/psitrax/psitransfer/](https://hub.docker.com/r/psitrax/psitransfer/ "PsiTransfer Docker Hub - External link" target="_blank")
*   **Related Blog Posts:** [https://psi.cx/tags/PsiTransfer/](https://psi.cx/tags/PsiTransfer/ "PsiTransfer Blog Posts - External link" target="_blank")
*   **Support the Project (Donate):** [https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RTWDCH74TJN54&item_name=psitransfer](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RTWDCH74TJN54&item_name=psitransfer "Donate to PsiTransfer - External link" target="_blank")