schwartx / octoproxy Goto Github PK
View Code? Open in Web Editor NEWA load balancing proxy with mTLS encryption via QUIC or HTTP/2[WIP]
License: MIT License
A load balancing proxy with mTLS encryption via QUIC or HTTP/2[WIP]
License: MIT License
The Host Modify feature would merge the functionality of both host_rewrite and host_route. Users will no longer need to configure these options separately, as they can now be set together within the host_modify
configuration option.
The Host Modify feature would allow users to add a client configuration option named host_modify
. This would be followed by a toml file path that contains a list of host modify rules.
The host_modify
file is a toml file with the following format:
["example.com"]
rewrite = "127.0.0.1"
backend = "local1"
["google.com"]
rewrite = "127.0.0.1"
backend = "local1"
Each section represents a host entry, such as example.com
, google.com. Each domain entry can have 2 configuration options: rewrite
and backend
. The rewrite
option specifies the IP address or hostname to which the host would be rewritten, and the backend
option specifies the backend to which the request would be forwarded.
For each section, if either the rewrite
or backend
option is not set, the corresponding functionality would be ignored. If all options are not set, the entire section would be ignored.
["example.com"]
rewrite = "127.0.0.1"
backend = "local1"
# this section would be ignored.
["google.com"]
In the future, there might be additional functionality options added.
The current functionality of the EasyCert command line tool is limited, with unclear and cryptic command line output and a lack of testing code. Therefore, it is neccessary to strengthen EasyCert by incorporating the following improvements:
Update the return value of next_available_backend
from Option<T>
to a custom enum in order to handle complex scenarios more effectively.
The Host Rewrite feature would allow users to rewrite the host of incoming requests, enabling them to modify the target host to which the request is routed.
The Host Rewrite feature would allow users to add a client configuration option named host_rewrite
. This would be followed by a file path that contains a list of host rewrite rules.
The host_rewrite
file should adhere to a specific format, where each line represents a rewrite rule. Each line should consist of the original host and the rewritten host, separated by a space. It is important to ensure that the original host in each line is unique to avoid conflicts during the rewrite process. Here is an example of the host_rewrite
file format:
example.com hello.com
11.11.11.1 127.0.0.1
google.com 22.22.1.2
The Host Route feature would allow users to specify the backend destination for incoming requests based on the host.
The Host Route feature would allow users to add a client configuration option named host_route
. This would be followed by a file path that contains a list of host route rules.
The host_route
file should adhere to a specific format, where each line represent a route rule. Each line should consist of the specified host and the corresponding backend, separated by a space. It is important to ensure that each line specifies a unique host to avoid conflicts in the routing process. Here is an example of the host_route
file format:
example1.com backend1
example2.com backend1
Note that the request should fail when the corrsesponding backend becomes unavailable.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.