https://github.com/nwtgck/piping-server-rust
Infinitely transfer between every device over pure HTTP with pipes or browsers
https://github.com/nwtgck/piping-server-rust
data-transfer http-server hyper piping-server rust
Last synced: 10 months ago
JSON representation
Infinitely transfer between every device over pure HTTP with pipes or browsers
- Host: GitHub
- URL: https://github.com/nwtgck/piping-server-rust
- Owner: nwtgck
- License: mit
- Created: 2019-06-24T06:31:30.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-08T00:42:38.000Z (almost 2 years ago)
- Last Synced: 2024-05-08T01:38:14.904Z (almost 2 years ago)
- Topics: data-transfer, http-server, hyper, piping-server, rust
- Language: Rust
- Homepage:
- Size: 818 KB
- Stars: 277
- Watchers: 8
- Forks: 19
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# piping-server
[](https://github.com/nwtgck/piping-server-rust/actions) [](https://hub.docker.com/r/nwtgck/piping-server-rust)
[Piping Server](https://github.com/nwtgck/piping-server) written in Rust
## Purpose
**Faster Piping Server than ever**
* Faster is better
* Low memory cost
* Machine-friendly implementation
## Why Rust?
Safe, Fast and No garbage collection (GC)
## Run a server
You can choose some ways to run a server.
### Way 1: Docker
Run a Piping Server on by the following command.
```rs
docker run -p 8181:8080 nwtgck/piping-server-rust
```
### Way 2: Binary for Linux
```bash
# Download and extract
curl -L https://github.com/nwtgck/piping-server-rust/releases/download/v0.18.0/piping-server-x86_64-unknown-linux-musl.tar.gz | tar xzf -
# Run on 8181 port
./piping-server-x86_64-unknown-linux-musl/piping-server --http-port=8181
```
### Way 3: Binary for macOS (Intel)
```bash
# Download and extract
curl -L https://github.com/nwtgck/piping-server-rust/releases/download/v0.18.0/piping-server-x86_64-apple-darwin.tar.gz | tar xzf -
# Run on 8181 port
./piping-server-x86_64-apple-darwin/piping-server --http-port=8181
```
### Way 4: Binary for macOS (Apple Silicon)
```bash
# Download and extract
curl -L https://github.com/nwtgck/piping-server-rust/releases/download/v0.18.0/piping-server-aarch64-apple-darwin.tar.gz | tar xzf -
# Run on 8181 port
./piping-server-aarch64-apple-darwin/piping-server --http-port=8181
```
### Way 5: Windows
Executable files are available on [GitHub Release](https://github.com/nwtgck/piping-server-rust/releases).
### Way 6: Build and run by yourself
You can clone, build and run `piping-server` as follows.
```bash
# Clone
git clone https://github.com/nwtgck/piping-server-rust.git
cd piping-server-rust
# Build
cargo build --release
# Run on 8181 port
./target/release/piping-server --http-port=8181
```
### Server-side help
```txt
Piping Server in Rust
Usage: piping-server [OPTIONS]
Options:
--host Bind address, either IPv4 or IPv6 (e.g. 127.0.0.1, ::1) [default: 0.0.0.0]
--http-port HTTP port [default: 8080]
--enable-https Enable HTTPS
--https-port HTTPS port
--crt-path Certification path
--key-path Private key path
--version Print version
-h, --help Print help
```