Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/evanshortiss/httpsink
A trivial HTTP sinkhole.
https://github.com/evanshortiss/httpsink
Last synced: 21 days ago
JSON representation
A trivial HTTP sinkhole.
- Host: GitHub
- URL: https://github.com/evanshortiss/httpsink
- Owner: evanshortiss
- License: mit
- Created: 2021-02-04T19:29:30.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-16T18:12:31.000Z (almost 2 years ago)
- Last Synced: 2024-04-09T13:09:28.132Z (7 months ago)
- Language: JavaScript
- Size: 163 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# HTTP Sink
A trivial HTTP Sinkhole. Always returns a 200 OK and JSON response body with
request details.## Usage
### CLI
Start a sinkhole on port 8080 using npx:
```bash
# Listen on the default localhost:8080
npx httpsink
```Alternatively install the module globally, then start a sinkhole:
```bash
npm install -g httpsink# Listen on port 3000 on a public interface
httpsink --port 3000 --host '0.0.0.0'
```### Docker via Pre-built Image
Exposes the sinkhole on port 8080:
```bash
docker run --rm -p 8080:8080 quay.io/evanshortiss/httpsink
```You can specify a version tag if desired.
### Docker via npx
Uses npx to download the latest version of `httpsink`, and exposes the sinkhole on port 8080:
```bash
docker run -p 8080:8080 --rm --entrypoint /bin/sh node:14-alpine -c 'npx httpsink --host "0.0.0.0" --port 8080'
```### Module
```js
const sinkhole = require('httpsink')async function main () {
// Create a sinkhole that listens on port 8080
const server = await sinkhole({
port: 8080
})// ...sometime later call server.close() when you're done
server.close()
}main()
```### Response Format
Each request receives the same response format:
```js
{
// IP the server determines to be the origin of your request
"ip": "127.0.0.1",// Unique ID generated for this request
"uuid": "pDo-u-eOpxiVH_15aSV05",// When the server started processing the request
"recv": "2021-02-04T19:25:03.740Z",// When the server sent the response
"resp": "2021-02-04T19:25:03.744Z",// Bytes read for a request that sends a body
"bodyBytesSize": 0// Bytes read for the entire HTTP transmission
"totalBytesSize": 124// Method and URL that was requested
"method":"POST",
"url":"/json-test",// Hostname of the host (e.g a Pod hostname in Kubernetes)
"hostname": "httpsink-85d65bfdd8-429kb",// Version of the httpsink module being run
"version": "1.4.0"
}
```