Coder Social home page Coder Social logo

pitrosugi / piping-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nwtgck/piping-server

0.0 1.0 0.0 4.36 MB

Streaming Data Transfer Server over HTTP/HTTPS: designed for everyone including people using Unix pipe and even for browser users

License: MIT License

TypeScript 99.36% Dockerfile 0.64%

piping-server's Introduction

Piping Server

npm CodeFactor CircleCI Build status GitHub Actions Docker Automated build Dependabot Status

Deploy

Streaming Data Transfer Server over HTTP/HTTPS

Piping Server transfer

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

Multiple Transfer

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 multiple transfer

Web UI

Piping UI: https://piping-ui.org
GitHub repository: https://github.com/nwtgck/piping-ui-web

Design Philosophy

Piping Server is designed to realize the following ideas.

  1. No account
  2. No installation
  3. Never store data
  4. 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.

Engineer Friendly Help

You can get help and version only with curl!

curl piping.ml/help
curl piping.ml/version

Run server

Heroku deployment

Click the button below to deploy a Piping Server to Heroku.

Deploy

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.

Command-line Options

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 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.

piping-server's People

Contributors

dependabot-preview[bot] avatar dependabot-support avatar greenkeeper[bot] avatar jsarenik avatar nwtgck avatar peaceiris avatar yuta0801 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.