{"id":16834687,"url":"https://github.com/mscdex/filebounce","last_synced_at":"2025-04-11T04:35:18.515Z","repository":{"id":57235713,"uuid":"33470184","full_name":"mscdex/filebounce","owner":"mscdex","description":"A server for bouncing files from point A to point B","archived":false,"fork":false,"pushed_at":"2015-04-07T17:42:17.000Z","size":184,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T02:43:32.967Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mscdex.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}},"created_at":"2015-04-06T06:41:48.000Z","updated_at":"2024-04-07T20:48:49.000Z","dependencies_parsed_at":"2022-09-12T09:31:44.127Z","dependency_job_id":null,"html_url":"https://github.com/mscdex/filebounce","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscdex%2Ffilebounce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscdex%2Ffilebounce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscdex%2Ffilebounce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscdex%2Ffilebounce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mscdex","download_url":"https://codeload.github.com/mscdex/filebounce/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247926457,"owners_count":21019501,"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-13T12:07:23.959Z","updated_at":"2025-04-11T04:35:18.488Z","avatar_url":"https://github.com/mscdex.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Description\n===========\n\nA server written in node.js for streaming/\"bouncing\" files from point A to point\nB via a short-lived, unique, shareable web link.\n\nFiles are never stored on the server as data merely passes through it between\nthe sender and recipient, without touching the disk.\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.10.0 or newer\n\n\nInstall\n=======\n\n    npm install filebounce -g\n\n\nUsage\n=====\n\nAfter installation, you can use `fb` or `filebounce` to start a server.\nBy default with no arguments, the server listens on all network interfaces for\nHTTP requests on port 80.\n\nHere's an example that uses cURL:\n\nSender:\n```\n# curl -X POST -H \"Content-Type: application/x-gzip\" --data-binary @foo.tar.gz http://myfbserver\nhttp://myfbserver/8ae9f610-dd48-11e4-820f-99adafb782b6\n```\n\nReceiver:\n```\n# curl http://myfbserver/8ae9f610-dd48-11e4-820f-99adafb782b6 | tar zx\n```\n\nThen once the file transfer has completed, the Sender will see something like\nthis after the file url:\n\n```\n\nFile received by 192.168.1.5\n```\n\nFor graphical browsers, if you navigate to `http://myfbserver` you will be\nprompted with a form with a file field. There you can select the file and submit\nit. Shortly after, a link will appear at the top of the page containing a link\nto the file stream.\n\nSimilarly you can navigate to a shared file stream URL in a graphical browser\nand the browser will either download it or render it in some way (depending on\nthe file's `Content-Type` and how the browser handles that file type).\n\n\n\nIf a waiting file stream expires, the sender will be \"notified\" and the file\nstream link will no longer be valid. The kind of notification depends on whether\nyou're using a CLI client like cURL or you are sending from a graphical browser:\n\n* Sending from a CLI client will show a \"Bounce expired.\" message and the\nrequest will be terminated.\n\n* Sending from a browser will result in an abrupt termination at the socket\nlevel which will typically result in a \"connection lost\" type of message in the\nbrowser window. Unfortunately this is a necessary unpleasantry due to the way\nthat at least *some* browsers behave when uploading a file and the server\nresponds with an HTTP error status code: those browsers will actually re-submit\nthe file (even if responding with a 413 for example) at least a few times before\ngiving up (which is a waste) and what the browser displays after it gives up is\nbrowser-dependent also.\n\n\nCommand-line Options\n====================\n\n```\n-c, --config   Path to JSON config file containing these same options\n-a, --address  The network address to listen on       [default: All addresses]\n-p, --port     The port number to listen on\n                                         [default: 80 for HTTP, 443 for HTTPS]\n--ttl          How long waiting requests are good for (in milliseconds)\n                                                              [default: 30000]\n--https.ca     Path to a CA to use\n--https.cert   Path to a certificate to use                           [string]\n--https.key    Path to a private key to use                           [string]\n--https.pass   Passphrase for a private key or pfx                    [string]\n--https.pfx    Path to a pfx file                                     [string]\n-h             Show help\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmscdex%2Ffilebounce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmscdex%2Ffilebounce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmscdex%2Ffilebounce/lists"}