{"id":16974707,"url":"https://github.com/windrunnermax/filetransfer","last_synced_at":"2025-04-06T01:06:41.133Z","repository":{"id":208071638,"uuid":"720612469","full_name":"WindRunnerMax/FileTransfer","owner":"WindRunnerMax","description":"P2P 局域网文件传输","archived":false,"fork":false,"pushed_at":"2025-01-15T10:59:32.000Z","size":20856,"stargazers_count":113,"open_issues_count":5,"forks_count":22,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T00:05:41.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://webrtc.touchczy.top","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/WindRunnerMax.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}},"created_at":"2023-11-19T02:33:37.000Z","updated_at":"2025-03-16T12:28:13.000Z","dependencies_parsed_at":"2023-12-22T15:03:38.618Z","dependency_job_id":"16a1771d-3382-4e06-8612-25b68a263d77","html_url":"https://github.com/WindRunnerMax/FileTransfer","commit_stats":{"total_commits":69,"total_committers":1,"mean_commits":69.0,"dds":0.0,"last_synced_commit":"a04f355be907c2fdc58a588fa40d10a987ddff0f"},"previous_names":["windrunnermax/filetransfer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WindRunnerMax%2FFileTransfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WindRunnerMax%2FFileTransfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WindRunnerMax%2FFileTransfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WindRunnerMax%2FFileTransfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WindRunnerMax","download_url":"https://codeload.github.com/WindRunnerMax/FileTransfer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419859,"owners_count":20936012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-14T01:07:41.496Z","updated_at":"2025-04-06T01:06:41.113Z","avatar_url":"https://github.com/WindRunnerMax.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FileTransfer\n\n\u003cp\u003e\n\u003ca href=\"https://github.com/WindrunnerMax/FileTransfer\"\u003eGitHub\u003c/a\u003e\n\u003cspan\u003e｜\u003c/span\u003e\n\u003ca href=\"https://webrtc.touchczy.top\"\u003eDEMO\u003c/a\u003e\n\u003cspan\u003e｜\u003c/span\u003e\n\u003ca href=\"https://github.com/WindrunnerMax/EveryDay/blob/master/Plugin/基于WebRTC的局域网文件传输.md\"\u003eBLOG\u003c/a\u003e\n\u003cspan\u003e｜\u003c/span\u003e\n\u003ca href=\"https://github.com/WindrunnerMax/FileTransfer/issues/3\"\u003eFAQ\u003c/a\u003e\n\u003c/p\u003e\n\n基于`WebRTC/WebSocket`的文件传输：\n\n1. 局域网内可以互相发现，不需要手动输入对方`IP`地址等信息。\n2. 多个设备中的任意两个设备之间可以相互传输文本消息与文件数据。\n3. 设备间的数据传输采用基于`WebRTC`的`P2P`方案，无需服务器中转数据。\n4. 跨局域网传输且`NAT`穿越受限的情况下，基于`WebSocket`服务器中转传输。\n5. 基于`ServiceWorker`实现文件数据劫持流式传输方案，可支持大型文件下载。\n\nhttps://github.com/WindrunnerMax/FileTransfer/assets/33169019/b1d8d455-84e9-47c1-aa22-2fc77ffa10d1\n\n\n## Development\n\n```bash\n$ pnpm install --frozen-lockfile\n$ npm run dev:webrtc\n$ npm run dev:websocket\n```\n## Deployment\n\n```bash \n$ pnpm install --frozen-lockfile\n$ npm run deploy:webrtc\n$ npm run deploy:websocket\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwindrunnermax%2Ffiletransfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwindrunnermax%2Ffiletransfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwindrunnermax%2Ffiletransfer/lists"}