MCPcopy
hub / github.com/psi-4ward/psitransfer

github.com/psi-4ward/psitransfer @v2.4.4 sqlite

repository ↗ · DeepWiki ↗ · release v2.4.4 ↗
197 symbols 519 edges 55 files 6 documented · 3%
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

Core symbols most depended-on inside this repo

o
called by 96
public/assets/babel-polyfill.js
u
called by 75
public/assets/babel-polyfill.js
f
called by 43
public/assets/babel-polyfill.js
c
called by 42
public/assets/babel-polyfill.js
get
called by 42
lib/db.js
s
called by 37
public/assets/babel-polyfill.js
a
called by 33
public/assets/babel-polyfill.js
h
called by 31
public/assets/babel-polyfill.js

Shape

Function 158
Method 23
Class 16

Languages

TypeScript100%

Modules by API surface

public/assets/babel-polyfill.js82 symbols
app/src/Upload/store/upload.js16 symbols
lib/db.js15 symbols
lib/store.js14 symbols
lib/tusboy/store/errors.js10 symbols
lib/tusboy/errors.js10 symbols
lib/endpoints.js6 symbols
lib/tusboy/tus-header-parser.js5 symbols
lib/tusboy/index.js5 symbols
tests/e2e/helper.js4 symbols
lib/utils.js4 symbols
lib/passwordHash.js4 symbols

Dependencies from manifests, versioned

@babel/core7.27.4 · 1×
@babel/preset-env7.27.2 · 1×
@node-rs/argon22.0.2 · 1×
@nuintun/qrcode5.0.2 · 1×
archiver8.0.0 · 1×
axios1.16.1 · 1×
babel-loader8.2.5 · 1×
common-streams1.4.0 · 1×
compression1.8.1 · 1×
cors2.8.6 · 1×
cross-env7.0.3 · 1×
css-loader5.2.7 · 1×

For agents

$ claude mcp add psitransfer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact