Piping Server: Infinite Data Transfer Over Pure HTTP
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
Piping Server is an innovative open-source project enabling infinite data transfer between any device over pure HTTP. It acts as a simple, storageless server, facilitating data streaming with just `curl` or a web browser. This makes it ideal for secure, real-time communication and large file transfers without requiring any installation.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
Piping Server, developed by nwtgck, is an innovative open-source project designed for infinitely transferring data between any device over pure HTTP. It stands out for its simplicity, storageless architecture, and the ability to stream data efficiently. Whether you need to send a small text file or an endless stream of data, Piping Server provides a straightforward solution using common tools like curl or a web browser, eliminating the need for any special software installation. Its core principle is to act as a temporary pipe, connecting a sender and a receiver without ever storing the data on the server itself, ensuring privacy and security.
Installation
Getting Piping Server up and running is straightforward, whether you prefer Docker or portable binaries.
Using Docker
To run a Piping Server instance on http://localhost:8080 using Docker, execute the following command:
docker run -p 8080:8080 nwtgck/piping-server
For a server that runs in the background and automatically restarts, use:
docker run -p 8080:8080 -d --restart=always nwtgck/piping-server
Using Portable Binaries
You can also run Piping Server using portable binaries. For Linux (x64), download and run it as follows:
curl -L https://github.com/nwtgck/piping-server-pkg/releases/download/v1.12.0/piping-server-pkg-linuxstatic-x64.tar.gz | tar xzvf -
./piping-server-pkg-linuxstatic-x64/piping-server --http-port=8080
Portable binaries are available for multiple platforms, including Linux (x64, ARM64, ARMv7), Intel macOS, Apple Silicon macOS, and Windows (x64). For other platforms, refer to the official piping-server-pkg repository.
Examples
Piping Server's usage is incredibly simple, mirroring the concept of Unix pipes over HTTP.
Basic Data Transfer
To send data, pipe it to curl using a unique path (e.g., /hello):
echo 'hello, world' | curl -T - https://ppng.io/hello
To receive the data, curl the same path:
curl https://ppng.io/hello > hello.txt
The path /hello can be any string, acting as a rendezvous point for sender and receiver. The server supports both POST and PUT for sending data.
Streaming Infinite Data
One of Piping Server's most powerful features is its ability to stream infinite data. For example, you can transfer an endless text stream:
seq inf | curl -T - https://ppng.io/infinite-stream
And receive it on another device:
curl https://ppng.io/infinite-stream
Public Servers
Why Use Piping Server?
Piping Server offers several compelling advantages that make it a unique and powerful tool for data transfer:
- Infinite Transfer: Stream any amount of data, from small files to continuous streams, efficiently in terms of both time and space.
- Zero Installation: Requires only a web browser or
curl, which are widely pre-installed, eliminating the need for extra software. - Storageless: The server never stores your data, enhancing privacy and security by acting purely as a conduit.
- Purity over HTTP: Its reliance on pure HTTP makes integration with other software and systems straightforward.
- Engineer Friendly: Designed with Unix/Linux users in mind, it integrates seamlessly with command-line tools and pipes.
- Versatile Applications: Beyond simple file transfers, it enables complex real-time applications like screen sharing, chat, and even SSH/VNC over HTTP, demonstrating the power of its streaming capabilities.
The project's philosophy emphasizes simplicity and efficiency, making it a robust solution for diverse data communication needs.
Links
Explore Piping Server further through these resources:
- GitHub Repository: https://github.com/nwtgck/piping-server
- Official Website / Public Server: https://ppng.io
- Ecosystem around Piping Server: Discover more applications and self-hosting options on the Piping Server Wiki.
- Related Article: Learn about advanced applications in "The Power of Pure HTTP – screen share, real-time messaging, SSH and VNC" on dev.to.
Source repository
Open the original repository on GitHub.