Our take
Quietno commits in the last 90 days- Activity
- 40
- Community
- 47
- Issues
- 21
- Pull requests
- 21
+4 stars in the last 10 days
PsiTransfer is a practical self-hosted file-transfer app, but its currently quiet development and concentrated contribution history warrant checking its fit before making it a critical service.
Good fit if
- You want browser-based file sharing without user accounts, and can operate a Node.js service or Docker container.
- Temporary buckets, one-time downloads, resumable transfers, or bulk archive downloads match your workflow.
- BSD-2-Clause licensing suits your deployment, and you can manage the service yourself.
Look elsewhere if
- You require end-to-end payload encryption, which the project says it does not provide.
- You need resumable downloads for ZIP archive downloads, which are not supported.
- You need frequent recent development or broad contributor ownership: the project is marked Quiet with no commits in the last 90 days, and most contributions come from one person.
All health signals
| Last commit | 2026-06-02 (4 months ago) |
|---|---|
| Commits, last 90 days | 0 |
| Releases, last 12 months | 7 (latest v2.4.4, 2026-06-02) |
| Contributors | 30 (top contributor: 80% of commits) |
| Issues closed, last 90 days | 0 |
| Project age | 9 years |
Checked on 2026-10-07 with the GitHub API.
Overview
PsiTransfer provides a browser-based way to upload files and share them through a self-hosted server. It is aimed at people and teams who want a simple alternative to hosted file-transfer services, without requiring senders or recipients to create accounts.
Uploads are organized into buckets that can expire, and administrators can protect uploads with a password. The app is built on Node.js and includes a lightweight Vue-based frontend.
Key Features
- Upload multiple and large files using streaming.
- Resume uploads and downloads with tus.io support.
- Set bucket expiration times and enable one-time downloads.
- Protect the upload endpoint and password-protect the download list.
- Download a bucket's files together as a ZIP or tar.gz archive.
- Preview files in a modal interface and use the responsive web UI on mobile.
- Run the service in Docker or install it manually.
Use Cases
- A small team can share large files with external partners without issuing accounts.
- A household or group can run a private transfer service on a server they control.
- Administrators can provide temporary upload links for collecting files, with an upload password and bucket expiry.
- Users who need resumable transfers can share files over unstable connections, rather than restarting the whole transfer.
What you need
Detected in the repository
- Node.js >= 24 (from package.json)
- A Dockerfile, so it can run in a container
- A test suite and automated checks on GitHub Actions
License in plain words
BSD-2-Clausepermissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the copyright and license notice
- Share your changes: no
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
Run the Docker image, replacing secret with an admin password:
docker run -p 0.0.0.0:3000:3000 -e PSITRANSFER_ADMIN_PASS=secret -v "$PWD/data:/data" psitrax/psitransfer
The data directory must be writable by UID 1000. See the repository README and documentation for configuration and deployment details.
Alternatives
- zipline: Zipline focuses on organizing uploads and integrations such as ShareX, while PsiTransfer centers on expiring, resumable file transfers.
- copyparty: Copyparty provides a flexible file server with browser and network-protocol access, rather than focusing on temporary transfer buckets.
- personal-drive: Personal Drive is for managing and previewing stored files with sharing controls, while PsiTransfer emphasizes temporary, account-free transfers.
- core: ownCloud adds persistent file synchronization, WebDAV, and an app model, beyond PsiTransfer's simpler file-transfer workflow.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| psitransfer | JavaScript | BSD-2-Clause | 2k | Quiet |
| zipline | TypeScript | MIT | 3.5k | Active |
| copyparty | Python | MIT | 46.9k | Active |
| personal-drive | PHP | Apache-2.0 | 391 | Active |
| core | PHP | AGPL-3.0 | 8.8k | Active |
Considerations
The repository is marked Quiet because it has had no commits in the last 90 days, despite publishing several releases in the past year. It has 30 contributors, but contribution history is highly concentrated, and no issues were closed in the last 90 days. These signals do not establish whether the project is unsuitable, but they are relevant if you need rapid fixes or ongoing maintenance.
The supplied requirements specify Node.js 24 or later. The README's manual-install instructions mention older Node versions, so verify the current package requirements before installing manually. The README also explicitly notes that file payloads are not end-to-end encrypted and that archive downloads cannot resume. Protect internet-exposed uploads with the available upload-password setting and assess your own storage and access-control needs.
Found this useful?
Share it with someone who would like psitransfer.