{"id":43513897,"url":"https://github.com/deathbyknowledge/ystp","last_synced_at":"2026-02-03T13:17:36.544Z","repository":{"id":273273645,"uuid":"919172907","full_name":"deathbyknowledge/ystp","owner":"deathbyknowledge","description":"Quick n' easy file transfers with Cloudflare Workers.","archived":false,"fork":false,"pushed_at":"2026-01-28T15:04:35.000Z","size":67,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-29T06:42:21.058Z","etag":null,"topics":["cloudflare","cloudflare-workers","durable-objects","file-sharing"],"latest_commit_sha":null,"homepage":"https://ystp.defo.works","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deathbyknowledge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-01-19T21:56:35.000Z","updated_at":"2026-01-28T15:10:00.000Z","dependencies_parsed_at":"2025-01-19T23:22:16.574Z","dependency_job_id":"f3975748-c1fb-40f8-b5df-29c781b36752","html_url":"https://github.com/deathbyknowledge/ystp","commit_stats":null,"previous_names":["deathbyknowledge/ystp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deathbyknowledge/ystp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbyknowledge%2Fystp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbyknowledge%2Fystp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbyknowledge%2Fystp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbyknowledge%2Fystp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deathbyknowledge","download_url":"https://codeload.github.com/deathbyknowledge/ystp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbyknowledge%2Fystp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29046503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"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":["cloudflare","cloudflare-workers","durable-objects","file-sharing"],"created_at":"2026-02-03T13:17:36.350Z","updated_at":"2026-02-03T13:17:36.522Z","avatar_url":"https://github.com/deathbyknowledge.png","language":"TypeScript","readme":"# YSTP\nYSTP (short for Your Super Transfer Program) is a file transfer tool that allows sending a file privately to a party directly without relying on port-forwarding to be set up.\n\nIt's quick and easy to use and it all lives on Cloudflare's edge, built with Workers and Durable Objects. No storage anywhere, just a transfer.\n\nIt's just an educational project, although it does work ofc! You can read the blog posts [here](https://deathbyknowledge.com/posts/ystp-pt1/).\n\n\u003cimg width=\"1312\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f2852631-4ce3-4499-be55-b07916c0a7a1\" /\u003e\n\n## CLI Client\n\nYSTP includes a command-line client for easy file transfers directly from your terminal.\n\n### Installation\n\nThe CLI client is included in this repository. Make sure you have Node.js installed, then navigate to the project directory.\n\n### Usage\n\n#### Send a file\n```bash\nnode cli/ystp.js send \u003cfile\u003e [--host hostname] [--port port]\n```\n\n#### Receive a file\n```bash\nnode cli/ystp.js receive \u003ccode\u003e [--output filename] [--host hostname] [--port port]\n```\n\n### Examples\n\n**Send a file:**\n```bash\nnode cli/ystp.js send myfile.txt\n# Output: Your shareable code: apple-banana-cherry-date-elderberry\n```\n\n**Send to a custom server:**\n```bash\nnode cli/ystp.js send document.pdf --host example.com --port 3000\n```\n\n**Receive a file:**\n```bash\nnode cli/ystp.js receive apple-banana-cherry-date-elderberry\n```\n\n**Receive with custom filename:**\n```bash\nnode cli/ystp.js receive apple-banana-cherry-date-elderberry --output downloaded.txt\n```\n\n### Options\n\n- `--host \u003chost\u003e` - Server hostname (default: localhost)\n- `--port \u003cport\u003e` - Server port (default: 8787)\n- `-o, --output \u003cfile\u003e` - Output filename for receive (default: use sender's filename)\n\n### Features\n\n- **Real-time progress** - See transfer progress with file size and percentage\n- **Chunked transfers** - Uses 64KB chunks for efficient memory usage\n- **Error handling** - Proper connection and file error management\n- **Shareable codes** - Easy-to-remember codes for file sharing\n- **Cross-platform** - Works on Windows, macOS, and Linux\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeathbyknowledge%2Fystp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeathbyknowledge%2Fystp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeathbyknowledge%2Fystp/lists"}