repipe

module
v0.0.0-...-6e74e42 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: AGPL-3.0

README

RePipe

RePipe is a lightweight and efficient Golang-based HTTP proxy service designed to relay and facilitate the flow of HTTP traffic between clients and servers. It acts as an intermediary, providing a flexible and customizable solution for routing, forwarding, and managing HTTP requests and responses. Features

  • Proxy Routing: Easily configure rules to route HTTP requests to different backend servers based on various criteria such as URL patterns, headers, or IP addresses.
  • Load Balancing: Distribute incoming traffic across multiple backend servers using different load balancing strategies (round-robin, least connections, etc.).
  • Caching: Improve performance by caching frequently accessed responses, reducing the load on backend servers.
  • Filtering and Transformation: Modify HTTP requests and responses on-the-fly by applying filters, rewriting headers, or transforming content.
  • Authentication and Authorization: Implement authentication and authorization mechanisms to secure access to backend services.
  • Logging and Monitoring: Comprehensive logging and monitoring capabilities to track and analyze HTTP traffic.
But, what about Nginx?

While Nginx is a powerful web server, its complexity can be overwhelming, especially for small-scale deployments. RePipe aims to provide a simpler, more lightweight alternative that focuses on the core functionality of an HTTP proxy without the additional features and complexity of a full-fledged web server like Nginx.

Development

Build
# If golang is missing then install go using the helper script.
$>sh setup_go.sh
Then build the Program
$>make default 

(or make osx, or make windows)

# All builds are located under `builds` folder
Install (Only supported for Linux)
$>sudo make install

Installation will create a file /etc/repipe/app.env.

Edit this file for the DOMAINS you wish to serve.

Where are my logs?

Logs are located under /var/log/repipe/repipe.log

Is it Fast?

We don't know, you can run tests! Send a PR with numbers. But, it is easy to configure and gets the job done.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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