{"id":13588661,"url":"https://github.com/nwtgck/piping-server","last_synced_at":"2026-10-19T01:06:05.656Z","repository":{"id":37548435,"uuid":"149115206","full_name":"nwtgck/piping-server","owner":"nwtgck","description":"Infinitely transfer between every device over pure HTTP with pipes or browsers","archived":false,"fork":false,"pushed_at":"2026-02-02T23:55:00.000Z","size":24013,"stargazers_count":3156,"open_issues_count":38,"forks_count":167,"subscribers_count":40,"default_branch":"develop","last_synced_at":"2026-09-16T09:39:54.115Z","etag":null,"topics":["data-transfer","http","nat-traversal","stream","transfer","web"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nwtgck.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-09-17T11:31:32.000Z","updated_at":"2026-09-16T02:27:36.000Z","dependencies_parsed_at":"2022-07-14T04:40:33.962Z","dependency_job_id":"90f24f05-d49a-4962-ba1a-34fffda4c200","html_url":"https://github.com/nwtgck/piping-server","commit_stats":{"total_commits":1038,"total_committers":12,"mean_commits":86.5,"dds":0.6888246628131021,"last_synced_commit":"0e9fb19ef9168918c3e6dc7cda6b151f9a7f28be"},"previous_names":[],"tags_count":96,"template":false,"template_full_name":null,"purl":"pkg:github/nwtgck/piping-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fpiping-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fpiping-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fpiping-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fpiping-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nwtgck","download_url":"https://codeload.github.com/nwtgck/piping-server/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwtgck%2Fpiping-server/sbom","scorecard":{"id":699556,"data":{"date":"2025-08-11","repo":{"name":"github.com/nwtgck/piping-server","commit":"6a7ff241cca08b5669921e09cae453673575b41b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/11 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":2,"reason":"2 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/docker-develop.yml:1","Warn: no topLevel permission defined: .github/workflows/docker-latest.yml:1","Warn: no topLevel permission defined: .github/workflows/npm-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'develop'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/ci.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/ci.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/ci.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/ci.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/ci.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-develop.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-develop.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-develop.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-develop.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-develop.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-develop.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-develop.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-develop.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-develop.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-develop.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-latest.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-latest.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-latest.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-latest.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-latest.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-latest.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-latest.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-latest.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-latest.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/docker-latest.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm-publish.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/npm-publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm-publish.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/nwtgck/piping-server/npm-publish.yml/develop?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating node:20.19.0-alpine to node:20.19.0-alpine@sha256:8bda036ddd59ea51a23bc1a1035d3b5c614e72c01366d989f4120e8adca196d4","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   8 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   3 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker-develop.yml:11"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 20 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-3787-6prv-h9w3","Warn: Project is vulnerable to: GHSA-9qxr-qj54-h672","Warn: Project is vulnerable to: GHSA-m4v8-wqvr-p9f7","Warn: Project is vulnerable to: GHSA-c76h-2ccp-4975","Warn: Project is vulnerable to: GHSA-cxrh-j4jr-qwg3"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T04:52:10.933Z","repository_id":37548435,"created_at":"2025-08-22T04:52:10.933Z","updated_at":"2025-08-22T04:52:10.933Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38344170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-transfer","http","nat-traversal","stream","transfer","web"],"created_at":"2024-08-01T15:06:51.063Z","updated_at":"2026-10-19T01:06:05.643Z","avatar_url":"https://github.com/nwtgck.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","web","http"],"sub_categories":[],"readme":"# Piping Server\n[![npm](https://img.shields.io/npm/v/piping-server.svg)](https://www.npmjs.com/package/piping-server) [![CodeFactor](https://www.codefactor.io/repository/github/nwtgck/piping-server/badge)](https://www.codefactor.io/repository/github/nwtgck/piping-server) [![Node CI](https://github.com/nwtgck/piping-server/actions/workflows/ci.yml/badge.svg)](https://github.com/nwtgck/piping-server/actions/workflows/ci.yml) [![Docker Automated build](https://img.shields.io/docker/automated/nwtgck/piping-server.svg)](https://hub.docker.com/r/nwtgck/piping-server/) [![](https://images.microbadger.com/badges/image/nwtgck/piping-server.svg)](https://microbadger.com/images/nwtgck/piping-server \"Get your own image badge on microbadger.com\")  \n\nInfinitely transfer between every device over HTTP/HTTPS  \n\u003cimg src=\"demo_images/piping-server-terminal-hello.gif\" alt=\"Piping Server hello\" width=\"600\"\u003e\n\n\n## Transfer\n\nPiping Server is simple. You can transfer as follows.\n\n```bash\n# Send\necho 'hello, world' | curl -T - https://ppng.io/hello\n```\n\n```bash\n# Get\ncurl https://ppng.io/hello \u003e hello.txt\n```\n\nPiping Server transfers data to `POST /hello` or `PUT /hello` into `GET /hello`. The path `/hello` can be anything such as `/mypath` or `/mypath/123/`. A sender and receivers who specify the same path can transfer. Both the sender and the recipient can start the transfer first. The first one waits for the other. \n\nYou can also use Web UI like \u003chttps://ppng.io\u003e on your browser. A more modern UI is found in \u003chttps://piping-ui.org\u003e, which supports E2E encryption.\n\n\n### Stream\nThe most important thing is that the data are streamed. This means that you can **transfer any data infinitely**. The demo below transfers an infinite text stream with `seq inf`.\n\n\u003cimg src=\"demo_images/seq-inf.gif\" alt=\"infnite text stream\" width=\"400\"\u003e\n\n## Ideas\nPiping Server is designed based on the ideas as follows.\n\n- **Infinite transfer**: You can transfer any kind of data infinitely on a stream. Streams are very efficient in terms of both time and space.\n- **Zero installation**: All you need is to have either a Web browser or `curl`, which are widely pre-installed. You do not need to install any extra software.\n- **Simpleness**: Making simple makes it more secure.\n- **Storageless**: The server makes transfer more secure since the server never stores your data.\n- **Purity**: The server streams over pure HTTP, which makes integration easier with other softwares.\n- **Engineer friendly**: Also designed for Unix/Linux users, who use pipes, not only for Web browser users.\n\n\n## Applications\n\nAny data such as text streams, video streams and protocols can be streamed over Piping Server. Here are applications that fully use the power of pure HTTP.  \nSee: \"[The Power of Pure HTTP – screen share, real-time messaging, SSH and VNC](https://dev.to/nwtgck/the-power-of-pure-http-screen-share-real-time-messaging-ssh-and-vnc-5ghc)\"\n\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"demo_images/text-stream-chat.gif\" width=\"300\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"demo_images/screen-share.gif\" width=\"300\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"demo_images/piping-draw.gif\" width=\"300\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/nwtgck/piping-server-streaming-upload-htmls/blob/a107dd1fb1bbee9991a9278b10d9eaf88b52c395/text_stream.html\"\u003eText stream chat\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/nwtgck/piping-server-streaming-upload-htmls/blob/a107dd1fb1bbee9991a9278b10d9eaf88b52c395/screen_share.html\"\u003eScreen share\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/nwtgck/piping-draw-web\"\u003eDrawing share\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"demo_images/piping-ui.gif\" width=\"300\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"demo_images/piping-ssh.gif\" width=\"300\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"demo_images/piping-vnc.gif\" width=\"300\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/nwtgck/piping-ui-web\"\u003eE2E encryption file transfer\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/nwtgck/piping-ssh-web\"\u003eSSH on Web browser\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/nwtgck/piping-vnc-web\"\u003eVNC on Web browser\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nThe most important thing is that Piping Server stays simple. The applications use **Piping Server as a core of data communication**. It transfers data to `POST /thepath` into `GET /thepath` streamingly. The stream makes real-time communications over every device possible.\n\nSee \"[Ecosystem around Piping Server · nwtgck/piping-server Wiki](https://github.com/nwtgck/piping-server/wiki/Ecosystem-around-Piping-Server)\" to find more about softwares using Piping Server.\n\n## Power of HTTP\n\nIn my experiment, Piping Server transferred 1,110TB (≈ 1PB) in a single HTTP request for 64 days and 2 hours at least. This means that it can transfer huge data and keep a request for about 2 months.\n\n\u003cimg src=\"demo_images/1110TB-transfer.gif\" alt=\"The power of HTTP\" width=\"400\"\u003e\n\n## Engineer-friendly help\n\nGet help and version only with `curl`.\n\n```bash\ncurl https://ppng.io/help\n```\n\n```bash\ncurl https://ppng.io/version\n```\n\n## Transfer to multiple receivers\n\nYou can transfer to multiple receivers. In the demo below, query parameter `?n=3` is specified to allow three receivers.\n\n\u003cimg src=\"https://github.com/nwtgck/piping-server/raw/develop/demo_images/piping-server-multi-transfer.gif\" alt=\"Piping Server multiple transfer\" width=\"450\"\u003e\n\n\n## Public servers\n\nHere are public Piping Servers.\n\n* \u003chttps://ppng.io\u003e\n* \u003chttps://piping.onrender.com\u003e\n* \u003chttps://piping.glitch.me\u003e\n\n## Self-host on Docker\n\nRun a Piping Server on \u003chttp://localhost:8080\u003e as follows.\n\n```bash\ndocker run -p 8080:8080 nwtgck/piping-server\n```\n\nRun a server in background and it automatically always restarts.\n\n```bash\ndocker run -p 8080:8080 -d --restart=always nwtgck/piping-server\n```\n\n## Self-host using portable binaries\n\nRun a Piping Server on \u003chttp://localhost:8080\u003e as follows on Linux.\n\n```bash\ncurl -L https://github.com/nwtgck/piping-server-pkg/releases/download/v1.12.0/piping-server-pkg-linuxstatic-x64.tar.gz | tar xzvf -\n./piping-server-pkg-linuxstatic-x64/piping-server --http-port=8080\n```\nThe binaries are for multi-platform including Linux on x64, Linux on ARM64, Linux on ARMv7, Intel macOS, Apple Silicon macOS and Windows on x64. See \u003chttps://github.com/nwtgck/piping-server-pkg\u003e to run on the other platform.\n\n## Self-host\n\nSee \"[Ecosystem around Piping Server · nwtgck/piping-server Wiki](https://github.com/nwtgck/piping-server/wiki/Ecosystem-around-Piping-Server)\" to find more about self-hosting.\n\n## Headers passed from sender to receivers\n\nHere are headers passed to receivers.\n\n* `Content-Type`\n* `Content-Length`\n* `Content-Disposition`\n* `X-Piping`: custom header whose value is freely specified by the sender\n\n## Server options\n\nHere is available CLI options by `piping-server --help`.\n\n```\nOptions:\n  --help          Show help                                            [boolean]\n  --version       Show version number                                  [boolean]\n  --host          Bind address (e.g. 127.0.0.1, ::1)                    [string]\n  --http-port     Port of HTTP server                            [default: 8080]\n  --enable-https  Enable HTTPS                        [boolean] [default: false]\n  --https-port    Port of HTTPS server                                  [number]\n  --key-path      Private key path                                      [string]\n  --crt-path      Certification path                                    [string]\n```\n\n## Piping Server written in Rust\nPiping Server is also developed in Rust.  \n\u003chttps://github.com/nwtgck/piping-server-rust\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwtgck%2Fpiping-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnwtgck%2Fpiping-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwtgck%2Fpiping-server/lists"}