open-index/open-npm huggingface dataset:
npm package: @janispritzkau/wsproxy
Description: A websocket tunnel proxy
Author: Janis Pritzkau
Latest version: 0.3.0

# Websocket Proxy

Tunnel all TCP connections over a websocket connection.

## Usage

Run the websocket proxy server on `0.0.0.0:8080`:

```sh
wsproxy server --port 8080
```

Run the websocket client and listen for TCP connections on port `9696`:

```sh
wsproxy client ws://<server-host> --port 9696
```

You can get more information when running `wsproxy`.

## SSL

HTTPS can be enabled with `--ssl`. Alternatively a NGINX reverse proxy can be used.

## Use with iptables

You can use `iptables` to redirect traffic to the proxy client.

```sh
iptables -t nat -A OUTPUT -p tcp -d <address> --dport <port> -j REDIRECT --to 9696
```

To redirect the all connections to the proxy, you must avoid for the proxy to connection
to itself. For that you can create a group `proxy` and allow all outgoing traffic for it.

```sh
# redirect all connections to port 9696
iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to 9696
# accept all outgoing traffic for the proxy group
iptables -t nat -I OUTPUT -p tcp -m owner --gid proxy -j ACCEPT
# avoid redirecting localhost
iptables -t nat -I OUTPUT -p tcp -d 127.0.0.0/255.255.255.0 -j ACCEPT
```

And run the client like this:

```
sudo -g proxy wsproxy client <websocket-address>
```
npm package: @janitam/input-label-combo
Description: Call Experts Input-Label Component
Author: JanitaM
Latest version: 1.0.0

# input-label-combo

Call Experts Input-Label Component

## Usage

Arguments:
value,
handleChange (from Forkmik),
handleBlur (from Forkmik),
label (example "Company Name"),
type (example: text, email, password),
errors (from Forkmik),
touched (from Forkmik)
npm package: @janitam/main-btn
Description: primary button
Author: JanitaM
Latest version: 1.0.0

# @janitam/main-btn

> primary button

[![NPM](https://img.shields.io/npm/v/@janitam/main-btn.svg)](https://www.npmjs.com/package/@janitam/main-btn) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @janitam/main-btn
```

## Usage

```jsx
import React from 'react'

import CEButton from '@janitam/main-btn'
import '@janitam/main-btn/dist/index.css'

const App = () => {
  const handleSubmit = () => console.log('Submit clicked')

  return (
    <div>
      <CEButton text={'Submit'} fn={handleSubmit} />
    </div>
  )
}

export default App
```

## License

MIT © [JanitaM](https://github.com/JanitaM)
npm package: @janitza/gridvis-client
Description: A library to access all GridVis data
Author: christian.stolz@janitza.de
Latest version: 1.0.14

# gridvis-client
[![NPM version](https://img.shields.io/npm/v/@janitza/gridvis-client.svg)](https://www.npmjs.com/package/@janitza/gridvis-client)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=janitza_gridvis-client&metric=coverage)](https://sonarcloud.io/dashboard?id=janitza_gridvis-client)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=janitza_gridvis-client&metric=alert_status)](https://sonarcloud.io/dashboard?id=janitza_gridvis-client)

A node js library to access the Janitza GridVis REST interface.

```typescript
import { GridVisClient } from '@janitza/gridvis-client';

async function main() {
    const client = new GridVisClient({url: ""});
    return await client.fetchGridVisVersion();
}

main().then((version) => {
    console.log(version)
});
```