Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/pschou/ssl-forwarder

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/pschou/ssl-forwarder

  • v0.0.0-20210929161214-1999a0cbf5a9
  • Source
  • Go
  • Socket score

Version published
Created
Source

SSL Forwarder

Super simple SSL forwarder that does one thing exposes an endpoint, establishes a connection, then creates a new SSL connection going into the infrastructure.

Why would I care to use this? Should you need to...

  • Sign a connection with a client certificate, mutual TLS, without rewriting an app
  • Inter-connect IPv4 to IPv6 or vice versa - listen on ":443" and point to your IPv4/6 service
  • Upgrade a client to a newer version of TLS or enable TLS on an app without TLS support - point the app to this app configured as an HTTP endpoint, and outgoing becomes TLS
  • Fix MTU issues across network boundary/boundaries - repackage the packets on the fly without the client needing to "find" the correct MTU, allow the network interface to dictate this
  • Improve latency in long-distance connections when a local link (such as WiFi) has packet loss - place this on the boundary on the immediate other side
  • Automate certificate rotations on outgoing connections when the client apps cannot be taken offline / continuity of operations - make a self-signed long term cert and then rotate the cert with this
  • Upgrade a one-way SSL session to a two-way SSL session.

Usage

To run the forwarder, listening on the default port :8080 use

ssl-forwarder

Else if you want to specify a port use

ssl-forwarder --listen :2000

Or listen on a specific port and host:

ssl-forwarder --listen 1.2.3.4:2000

The corresponding pre-built container can be pulled here:

docker pull pschou/ssl-forwarder:0.1

Help context

$ ./ssl-forwarder -h
Simple SSL forwarder, written by Paul Schou (github.com/pschou/ssl-forwarder) in December 2020
All rights reserved, personal use only, provided AS-IS -- not responsible for loss.
Usage implies agreement.

Usage: ./ssl-forwarder [options...]

Options:
  --debug                 Verbose output
  --tls BOOL              Enable listener TLS  (Default: true)
Listener options:
  --listen HOST:PORT      Listen address for forwarder  (Default: ":7443")
  --secure-server BOOL    Enforce minimum of TLS 1.2 on server side  (Default: true)
  --verify-server BOOL    Verify server, do certificate checks  (Default: true)
Target options:
  --host FQDN             Hostname to verify outgoing connection with  (Default: "")
  --secure-client BOOL    Enforce minimum of TLS 1.2 on client side  (Default: true)
  --target HOST:PORT      Sending address for forwarder  (Default: "127.0.0.1:443")
  --verify-client BOOL    Verify client, do certificate checks  (Default: true)
Certificate options:
  --ca FILE               File to load with ROOT CAs - reloaded every minute by adding any new entries
                            (Default: "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem")
  --cert FILE             File to load with CERT - automatically reloaded every minute
                            (Default: "/etc/pki/server.pem")
  --key FILE              File to load with KEY - automatically reloaded every minute
                            (Default: "/etc/pki/server.pem")

FAQs

Package last updated on 29 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc