Streaming Data Transfer Server over HTTP/HTTPS
How to transfer data?
Suppose a Piping Server is running on https://piping.ml. You can send "hello.txt" to a receiver.
# Send cat hello.txt | curl -T - https://piping.ml/mysecret
# Get curl https://piping.ml/mysecret > myhello.txt
Piping Server supports multiple receiver. The following moving image is an example. Use query parameter "?n=3" to allow 3 receivers for example.
Piping Server is designed to realize the following ideas.
- No account
- No installation
- Never store data
- Engineer friendly
Usually, when you want to send data to someone, you need to have an account in the common service among you and his/her. In addition, the service may require you to install specific software to share the data.
Piping Server is designed to solve the problems above.
Piping Server allows you to use without any account and frees you from additional software installation because the server is available with Web browsers,
wget commands, which are widely pre-installed in Unix-like OS.
Because of HTTP/HTTPS, users can send data across different devices such as Windows, macOS, Unix, Linux, iOS, Android and any device which uses HTTP.
Furthermore, pipe in Unix-like OS allows you to send data in a more efficient and secure way.
Engineer Friendly Help
You can get help and version only with
Click the button below to deploy a Piping Server to Heroku.
Run server on localhost
# Install npm install -g piping-server # Run a server piping-server
Then, a Piping Server is running on http://localhost:8080.
Here is available command-line options by
Options: --help Show help [boolean] --version Show version number [boolean] --http-port Port of HTTP server [default: 8080] --enable-https Enable HTTPS [default: false] --https-port Port of HTTPS server [number] --key-path Private key path [string] --crt-path Certification path [string]
Run on Docker
Run a Piping Server on http://localhost:8181 by the following command.
docker run -p 8181:8080 nwtgck/piping-server
You can also specify an option like the following.
docker run -p 8181:80 nwtgck/piping-server --http-port=80
You can run a server in background and it automatically always restarts.
docker run -p 8181:80 -d --restart=always nwtgck/piping-server --http-port=80
More about Piping Server
Ecosystem around Piping Server · nwtgck/piping-server Wiki
This contains end-to-end encrypted chat/file transfer/screen sharing/voice chat/drawing share and some English and Japanese posts.
Piping Server is simple and streams any kind of data, not limited to a file.