Streaming Data Transfer Server over HTTP/HTTPS
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 UI: https://piping-ui.org
GitHub repository: https://github.com/nwtgck/piping-ui-web
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, curl
and 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.
You can get help and version only with curl
!
curl piping.ml/help
curl piping.ml/version
Click the button below to deploy a Piping Server to Heroku.
# 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 piping-server --help
.
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 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
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.