ランキングに戻る

psi-4ward/psitransfer

JavaScript

Simple open source self-hosted file sharing solution.

uploadfile-sharingtransfer-filespastebin
スター成長
スター
1.9k
フォーク
247
週間成長
Issue
73
5001k1.5k
2017年4月2020年5月2023年6月2026年7月
成果物npmnpm install psitransfer
README

PsiTransfer

Current Release Dependencies Known Vulnerabilities Github Stars Docker Stars Image Size Docker Pulls Docker Automated buil Donate

Simple open source self-hosted file sharing solution. It's an alternative to paid services like Dropbox, WeTransfer.

  • No accounts, no logins
  • Mobile friendly responsive interface
  • Supports many and very big files (Streams ftw)
  • Resumable up- and downloads (tus.io)
  • Set an expire-time for your upload bucket
  • One-time downloads
  • Download all files as zip/tar.gz archive
  • Modal-style file preview
  • Requires Node >=7.4 or use --harmony-async-await flag
  • Password protected download list (AES)
  • /admin Page lists bucket information, Screenshot (disabled until you set adminPass config value)
  • Lightweight Vue based frontend apps. Gzipped (on by default) less than 100k
  • Explicit named bucket IDs with query param sid=<myBucketID>

See the blog posts about PsiTransfer: https://psi.cx/tags/PsiTransfer/ and checkout the Documentation

Screenshot

Quickstart

Docker

$ 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

Specify the version by using image tags e.g.:

  • latest: corresponds to master branch
  • 2: latest stable 2.x.x
  • 1.1: latest stable 1.1.x
  • 1.0.0: exact version

Manual, precompiled

# Be sure to have NodeJS >= 12
$ node -v
v12.4.0

# Download and extract latest release package from
# https://github.com/psi-4ward/psitransfer/releases

# Install dependencies and start the app
$ NODE_ENV=production npm install
$ npm start

Manual, from source

# Compile the frontend apps
$ cd app
$ npm install
$ npm run build

# Install dependencies
$ cd ..
$ npm install
$ npm start

Configuration

There are some configs in config.js like port and data-dir. You can:

  • Edit the config.js (not recommend)
  • Add a config.production.js where production is the value from NODE_ENV See config.dev.js
  • Define environment Variables like PSITRANSFER_UPLOAD_DIR to set the upload directory
  • To secure your PsiTransfer if exposed to the internet from unwanted, non authorized uploads use the PSITRANSFER_UPLOAD_PASS environment variable

Customization

public/pug/upload.pug and download.pug are kept simple. You can alter these files and add your logo and styles. Please keep a footnote like Powered by PsiTransfer :)

Debug

Psitransfer uses debug:

DEBUG=psitransfer:* npm start

Side notes

  • There is no (end-to-end) payload encryption (yet).
  • Download all as ZIP does not support resuming the download.

:star2: Contribution is highly welcome :metal:

Want to say thanks and buy me a beer? Donate

License

BSD

関連リポジトリ
spatie/laravel-medialibrary

Associate files with Eloquent models

PHPPackagistMIT Licenselaravelphp
spatie.be/docs/laravel-medialibrary
6.2k1.1k
git-ftp/git-ftp

Uses Git to upload only changed files to FTP servers.

ShellGNU General Public License v3.0git-ftpshell
git-ftp.github.io
5.6k698
kartik-v/bootstrap-fileinput

An enhanced HTML 5 file input for Bootstrap 5.x/4.x./3.x with file preview, multiple selection, and more features.

JavaScriptnpmOtherjavascriptajax-upload
plugins.krajee.com/file-input
5.3k2.3k
anasty17/mirror-leech-telegram-bot

Official Repository: Telegram bot which can download direct links, torrents, nzb, google drive, telegram document, any file/folder from rclone supported clouds, all yt-dlp supported sites and jdownloader supported sites, then upload them to google drive, telegram cloud or to one of rclone supported clouds

PythonPyPIGNU General Public License v3.0mirrorleech
t.me/mltb_official_channel
4.2k5.1k
gotev/android-upload-service

Easily upload files (Multipart/Binary/FTP out of the box) in the background with progress notification. Support for persistent upload requests, customizations and custom plugins.

KotlinApache License 2.0uploadservice
2.9k702
chibisafe/chibisafe

Blazing fast file vault written in TypeScript! 🚀

TypeScriptnpmMIT Licensepomffile-upload
chibisafe.app
2.7k299
lian-yue/vue-upload-component

Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter

VueApache License 2.0uploadscomponent
2.7k678
UniSharp/laravel-filemanager

Media gallery with CKEditor, TinyMCE and Summernote support. Built on Laravel file system.

PHPPackagistMIT Licenselaravelgallery
unisharp.github.io/laravel-filemanager/
2.1k737
pqina/vue-filepond

🔌 A handy FilePond adapter component for Vue

JavaScriptnpmMIT Licensevuefilepond
pqina.nl/filepond
2k117
pqina/react-filepond

🔌 A handy FilePond adapter component for React

JavaScriptnpmMIT Licensereactfilepond
pqina.nl/filepond
2k94
tableflowhq/csv-import

The open-source CSV importer, maintained by @tableflowhq

TypeScriptnpmMIT Licensefile-sharingfile-upload
tableflow.com
1.8k127
systemd/casync

Content-Addressable Data Synchronization Tool

Carchivetar
1.6k118