https://github.com/repcomm/sserve
serve + file streams + SSL + extra features
https://github.com/repcomm/sserve
Last synced: 28 days ago
JSON representation
serve + file streams + SSL + extra features
- Host: GitHub
- URL: https://github.com/repcomm/sserve
- Owner: RepComm
- Created: 2023-01-20T15:55:15.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-10T15:35:50.000Z (over 3 years ago)
- Last Synced: 2025-06-30T02:39:55.272Z (11 months ago)
- Language: JavaScript
- Size: 181 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# sserve
Like `serve`, but supports HTTPS, and streams files instead of reading into RAM
## why
I wanted to transfer a 22GB + file from fedora workstation to Ventura Mac,
it went quicker to write a script to pipe a file stream to http server than to transfer via usb..
Serve is great, but it choked on the 22GB file, but OSes apparently block the UI thread while doing almost zero network load while waiting for the file to load.
I don't know what the plan was, but I don't have 22GB of ram, and I disable swap.
Also the need for using self signed SSL certs comes up a lot.
## usage
`npm i @repcomm/sserve -g`
Navigate to directory wished to be served, then run:
`$ sserve`
## implemented
- directory navigation (including spaces in file names)
- file streaming (doesn't choke on large files)
- basic interface
- half baked server side renderer w/ similar API to @roguecircuitry/htmless
## not implemented / planned mvp
- proper sanitisation (god knows what people will name their files)
- SSL is not tested yet
- auto-gen self signed SSL keys w/ openssh
- download folder as zip feature
## non-mvp ideas
- upload files?