{"id":13550159,"url":"https://github.com/psi-4ward/psitransfer","last_synced_at":"2026-01-31T22:07:33.378Z","repository":{"id":20204569,"uuid":"89137502","full_name":"psi-4ward/psitransfer","owner":"psi-4ward","description":"Simple open source self-hosted file sharing solution.  ","archived":false,"fork":false,"pushed_at":"2026-01-28T11:22:20.000Z","size":2896,"stargazers_count":1838,"open_issues_count":105,"forks_count":242,"subscribers_count":33,"default_branch":"master","last_synced_at":"2026-01-29T02:40:31.424Z","etag":null,"topics":["file-sharing","pastebin","transfer-files","upload"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/psi-4ward.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-04-23T11:40:49.000Z","updated_at":"2026-01-29T00:45:25.000Z","dependencies_parsed_at":"2023-02-18T15:55:14.744Z","dependency_job_id":"ad07f827-4c64-4a18-87e0-79bed29d7f6b","html_url":"https://github.com/psi-4ward/psitransfer","commit_stats":{"total_commits":192,"total_committers":31,"mean_commits":6.193548387096774,"dds":"0.27604166666666663","last_synced_commit":"3c454b09876ed4ab150c2336790d4e96ff898995"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/psi-4ward/psitransfer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2Fpsitransfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2Fpsitransfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2Fpsitransfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2Fpsitransfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/psi-4ward","download_url":"https://codeload.github.com/psi-4ward/psitransfer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2Fpsitransfer/sbom","scorecard":{"id":748083,"data":{"date":"2025-08-11","repo":{"name":"github.com/psi-4ward/psitransfer","commit":"36c67dfb4b7f594a88d91813443946a7e0b43fbb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Maintained","score":8,"reason":"6 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 9/20 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_release.yaml:1","Warn: no topLevel permission defined: .github/workflows/docker_build_master.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 2-Clause \"Simplified\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/build_release.yaml:19"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yaml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/build_release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker_build_master.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/docker_build_master.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker_build_master.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/docker_build_master.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker_build_master.yaml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/docker_build_master.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker_build_master.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/docker_build_master.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker_build_master.yaml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/docker_build_master.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker_build_master.yaml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/psi-4ward/psitransfer/docker_build_master.yaml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating node:22-alpine to node:22-alpine@sha256:1b2479dd35a99687d6638f5976fd235e26c5b37e8122f786fcd5fe231d63de5b","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  14 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   3 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v2.3.0 not signed: https://api.github.com/repos/psi-4ward/psitransfer/releases/223039363","Warn: release artifact v2.2.0 not signed: https://api.github.com/repos/psi-4ward/psitransfer/releases/149932493","Warn: release artifact v2.1.2 not signed: https://api.github.com/repos/psi-4ward/psitransfer/releases/83043267","Warn: release artifact v2.1.1 not signed: https://api.github.com/repos/psi-4ward/psitransfer/releases/70479926","Warn: release artifact v2.1.0 not signed: https://api.github.com/repos/psi-4ward/psitransfer/releases/67809554","Warn: release artifact v2.3.0 does not have provenance: https://api.github.com/repos/psi-4ward/psitransfer/releases/223039363","Warn: release artifact v2.2.0 does not have provenance: https://api.github.com/repos/psi-4ward/psitransfer/releases/149932493","Warn: release artifact v2.1.2 does not have provenance: https://api.github.com/repos/psi-4ward/psitransfer/releases/83043267","Warn: release artifact v2.1.1 does not have provenance: https://api.github.com/repos/psi-4ward/psitransfer/releases/70479926","Warn: release artifact v2.1.0 does not have provenance: https://api.github.com/repos/psi-4ward/psitransfer/releases/67809554"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 19 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-5j4c-8p2g-v4jx","Warn: Project is vulnerable to: GHSA-g3ch-rx76-35fx","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T19:27:45.681Z","repository_id":20204569,"created_at":"2025-08-22T19:27:45.681Z","updated_at":"2025-08-22T19:27:45.681Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28956995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T18:30:42.805Z","status":"ssl_error","status_checked_at":"2026-01-31T18:30:19.593Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file-sharing","pastebin","transfer-files","upload"],"created_at":"2024-08-01T12:01:29.594Z","updated_at":"2026-01-31T22:07:33.359Z","avatar_url":"https://github.com/psi-4ward.png","language":"JavaScript","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=RTWDCH74TJN54\u0026item_name=psitransfer"],"categories":["JavaScript","Software","others","Apps","网络信息服务","File Sharing and Synchronization","Productivity","Bonus #3 - Self-Hosted Services"],"sub_categories":["File Transfer - Single-click \u0026 Drag-n-drop Upload","FileSharing","资源传输下载","E-commerce","File Drop","Notable Mentions"],"readme":"# PsiTransfer\n\n[![Current Release](https://img.shields.io/github/release/psi-4ward/psitransfer.svg)](https://github.com/psi-4ward/psitransfer/releases)\n[![Dependencies](https://david-dm.org/psi-4ward/psitransfer.svg)](https://david-dm.org/psi-4ward/psitransfer)\n[![Known Vulnerabilities](https://snyk.io/test/github/psi-4ward/psitransfer/badge.svg)](https://snyk.io/test/github/psi-4ward/psitransfer)\n[![Github Stars](https://img.shields.io/github/stars/psi-4ward/psitransfer.svg?style=social\u0026label=Star)](https://github.com/psi-4ward/psitransfer)\n[![Docker Stars](https://img.shields.io/docker/stars/psitrax/psitransfer.svg)](https://hub.docker.com/r/psitrax/psitransfer/)\n[![Image Size](https://images.microbadger.com/badges/image/psitrax/psitransfer.svg)](https://microbadger.com/images/psitrax/psitransfer)\n[![Docker Pulls](https://img.shields.io/docker/pulls/psitrax/psitransfer.svg)](https://hub.docker.com/r/psitrax/psitransfer/)\n[![Docker Automated buil](https://img.shields.io/docker/automated/psitrax/psitransfer.svg)](https://hub.docker.com/r/psitrax/psitransfer/)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=RTWDCH74TJN54\u0026item_name=psitransfer)\n\nSimple open source self-hosted file sharing solution.\nIt's an alternative to paid services like Dropbox, WeTransfer.\n\n* No accounts, no logins\n* Mobile friendly responsive interface\n* Supports many and very big files (Streams ftw)\n* Resumable up- and downloads ([tus.io](https://tus.io))\n* Set an expire-time for your upload bucket\n* One-time downloads\n* Download all files as zip/tar.gz archive\n* Modal-style file preview\n* Requires Node \u003e=7.4 or use `--harmony-async-await` flag\n* Password protected download list ([AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard))\n* `/admin` Page lists bucket information, [Screenshot](https://raw.githubusercontent.com/psi-4ward/psitransfer/master/docs/PsiTransfer-Admin.png) (_disabled until you set `adminPass` config value_)\n* Lightweight [Vue](https://vuejs.org) based frontend apps. Gzipped (on by default) less than 100k\n* Explicit named bucket IDs with query param `sid=\u003cmyBucketID\u003e`\n\n**See the blog posts about PsiTransfer: https://psi.cx/tags/PsiTransfer/ and checkout the\n[Documentation](https://github.com/psi-4ward/psitransfer/tree/master/docs)**\n\n![Screenshot](https://raw.githubusercontent.com/psi-4ward/psitransfer/master/docs/psitransfer.gif)\n\n\n## Quickstart\n\n### Docker\n```bash\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\nSpecify the version by using [image tags](https://hub.docker.com/r/psitrax/psitransfer/tags/) e.g.:\n* `latest`: corresponds to master branch\n* `2`: latest stable `2.x.x`\n* `1.1`: latest stable `1.1.x`\n* `1.0.0`: exact version\n\n### Manual, precompiled\n\n```bash\n# Be sure to have NodeJS \u003e= 12\n$ node -v\nv12.4.0\n\n# Download and extract latest release package from\n# https://github.com/psi-4ward/psitransfer/releases\n\n# Install dependencies and start the app\n$ NODE_ENV=production npm install\n$ npm start\n```\n\n### Manual, from source\n\n```bash\n# Compile the frontend apps\n$ cd app\n$ npm install\n$ npm run build\n\n# Install dependencies\n$ cd ..\n$ npm install\n$ npm start\n```\n\n### Configuration\n\nThere are some configs in `config.js` like port and data-dir.\nYou can:\n* Edit the `config.js` **(not recommend)**\n* Add a `config.production.js` where `production` is the value from `NODE_ENV`\n  See `config.dev.js`\n* Define environment Variables like `PSITRANSFER_UPLOAD_DIR` to set the upload directory\n* To secure your PsiTransfer if exposed to the internet from unwanted, non authorized uploads use the `PSITRANSFER_UPLOAD_PASS` environment variable\n\n### Customization\n\n`public/pug/upload.pug` and `download.pug` are kept simple.\nYou can alter these files and add your logo and styles.\nPlease keep a footnote like *Powered by PsiTransfer* :)\n\n### Debug\n\nPsitransfer uses [debug](https://github.com/visionmedia/debug):\n\n```bash\nDEBUG=psitransfer:* npm start\n```\n\n## Side notes\n\n* **There is no (end-to-end) payload encryption (yet)**.\n* `Download all as ZIP` does not support resuming the download.\n\n:star2: Contribution is highly welcome :metal:\n\nWant to say thanks and buy me a beer? [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=RTWDCH74TJN54\u0026item_name=psitransfer)\n\n\n## License\n\n[BSD](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsi-4ward%2Fpsitransfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpsi-4ward%2Fpsitransfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsi-4ward%2Fpsitransfer/lists"}