{"name":"PsiTransfer: Simple Self-Hosted File Sharing Solution","description":"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","url":"https://osrepos.com/repo/psi-4ward-psitransfer","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/psi-4ward-psitransfer","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/psi-4ward-psitransfer.md","json":"https://osrepos.com/repo/psi-4ward-psitransfer.json","topics":["file-sharing","pastebin","transfer-files","upload","JavaScript","self-hosted","open-source","web-application"],"keywords":["file-sharing","pastebin","transfer-files","upload","JavaScript","self-hosted","open-source","web-application"],"stars":null,"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.","content":"## Introduction\n\nPsiTransfer 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.\n\nKey features include:\n*   No accounts or logins required for users.\n*   A mobile-friendly and responsive interface.\n*   Support for many and very large files, leveraging streaming.\n*   Resumable up- and downloads powered by [tus.io](https://tus.io \"tus.io - External link\" target=\"_blank\").\n*   Ability to set an expire-time for upload buckets.\n*   Options for one-time downloads.\n*   Download all files as a convenient ZIP or TAR.GZ archive.\n*   Modal-style file preview for various file types.\n*   Password-protected download lists using AES encryption.\n*   An `/admin` page to list bucket information (disabled by default until `adminPass` is configured).\n*   Explicit named bucket IDs using the query parameter `sid=<myBucketID>`.\n\n## Installation\n\nPsiTransfer can be quickly set up using Docker or installed manually from precompiled releases or source.\n\n### Docker Quickstart\n\nEnsure you have Docker installed. The data volume needs UID 1000.\n\nbash\n$ docker run -p 0.0.0.0:3000:3000 -e PSITRANSFER_ADMIN_PASS=secret -v $PWD/data:/data psitrax/psitransfer\n# data volume needs UID 1000\n$ sudo chown -R 1000 $PWD/data\n\n\nYou can specify a version using image tags, for example, `psitrax/psitransfer:2` for the latest stable `2.x.x` release.\n\n### Manual Installation (Precompiled)\n\nRequires Node.js version 12 or higher.\n\n1.  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\").\n2.  Navigate to the extracted directory.\n3.  Install dependencies and start the application:\n    bash\n    $ NODE_ENV=production npm install\n    $ npm start\n    \n\n### Manual Installation (From Source)\n\nRequires Node.js version 12 or higher.\n\n1.  Clone the repository:\n    bash\n    $ git clone https://github.com/psi-4ward/psitransfer.git\n    $ cd psitransfer\n    \n2.  Compile the frontend applications:\n    bash\n    $ cd app\n    $ npm install\n    $ npm run build\n    \n3.  Install backend dependencies and start the application:\n    bash\n    $ cd ..\n    $ npm install\n    $ npm start\n    \n\n### Configuration\n\nPsiTransfer 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.\n\n## Examples\n\nUsing 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:\n\n*   **Setting an expiration time:** Files can be automatically deleted after a set period, ensuring temporary sharing.\n*   **One-time downloads:** Create links that expire after a single download, enhancing security for sensitive files.\n*   **Password protection:** Secure your download lists with a password, adding an extra layer of privacy.\n*   **Named bucket IDs:** Use `sid=<myBucketID>` in the URL to create or access specific buckets, useful for organizing transfers.\n\nFor 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.\n\n## Why Use PsiTransfer?\n\nPsiTransfer offers compelling advantages for individuals and organizations seeking a robust file sharing solution:\n\n*   **Data Control and Privacy:** By self-hosting, you retain full ownership and control over your data, avoiding third-party servers and their privacy policies.\n*   **Cost-Effective:** It's an open-source solution, eliminating subscription fees associated with commercial file sharing services.\n*   **No Accounts Needed:** Simplifies the user experience by removing the need for registration or logins, making sharing quick and frictionless.\n*   **Reliable Transfers:** Features like resumable uploads and downloads ensure that large files can be transferred efficiently, even with intermittent network issues.\n*   **Customization:** The ability to modify frontend templates allows for branding and integration into existing web environments.\n*   **Active Development:** The project is open to contributions, fostering continuous improvement and community support.\n\n**Important Considerations:**\n*   There is currently no end-to-end payload encryption.\n*   The \"Download all as ZIP\" feature does not support resuming the download.\n\n## Links\n\n*   **GitHub Repository:** [https://github.com/psi-4ward/psitransfer](https://github.com/psi-4ward/psitransfer \"PsiTransfer GitHub Repository - External link\" target=\"_blank\")\n*   **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\")\n*   **Docker Hub Page:** [https://hub.docker.com/r/psitrax/psitransfer/](https://hub.docker.com/r/psitrax/psitransfer/ \"PsiTransfer Docker Hub - External link\" target=\"_blank\")\n*   **Related Blog Posts:** [https://psi.cx/tags/PsiTransfer/](https://psi.cx/tags/PsiTransfer/ \"PsiTransfer Blog Posts - External link\" target=\"_blank\")\n*   **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\")","metrics":{"detailViews":7,"githubClicks":4},"dates":{"published":null,"modified":"2026-01-18T12:01:23.000Z"}}