zero

command module
v3.6.9+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2024 License: MIT Imports: 16 Imported by: 0

README

Overview

Gate is a Golang-powered Authorization and Transmissions Entry-point that revolutionizes authorization and data transmissions. Using robust access control and TCP connection handling, Gate serves as a secure gateway, bridging the gap between network security and application connectivity in just-one-click. This innovative server application empowers you to efficiently manage user permissions and establish uninterrupted data flow, ensuring that sensitive resources remain protected while applications maintain high performance and responsiveness.

Features

  • Authorization Handling: Efficiently manages HTTP or HTTPS requests for IP display and logging, ensuring that only authorized users gain access to sensitive resources.
  • Transmissions Handling: Seamlessly facilitates TCP connections between local and remote addresses, equipped with IP-based access control for enhanced security.
  • In-Memory Certificate: Provides a self-signed HTTPS certificate with a one-year validity, stored entirely in memory, ensuring maximum security for authorization process.
  • Enhanced HTTP Security: Defaults to HTTPS for authorization to maximize security, with the option to specify HTTP mode when needed.
  • No External Dependencies: Entirely built using Go's standard library, ensuring a lightweight and efficient solution.

Usage

To run the server, utilize the following command with the appropriate flags for authorization and transmission:

./gate http/https://authAddr/secretPath#localAddr/remoteAddr
  • authScheme: The option allows you to choose between using HTTP or HTTPS.
  • authAddr: The server address and port designated for authorization handling.
  • secretPath: The secret endpoint for processing authorization requests.
  • localAddr: The local address and port for listening to TCP connections.
  • remoteAddr: The remote address and port for forwarding connections.

Example

./gate https://:443/auth#:9000/127.0.0.1:9001

In this example:

  • The server handles authorization at https://server_ip:443/auth, that when you visit the url and the program logs authorized IPs.
  • The server listens on port server_ip:9000 for incoming TCP connections and forwards them to 127.0.0.1:9001, validating IPs.

Container Usage

You can also run Gate using a Docker container. The image is available at ghcr.io/raymondragon/gate.

Below is an example command:

docker run --rm ghcr.io/raymondragon/gate https://:443/auth#:9000/127.0.0.1:9001

License

This project is licensed under the MIT License. See the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL