The mirror for Zoraxy dev source (ReverseProxy) over hkwtc git

Toby Chui b265637a35 Fixed all racing conditions 9 mesiacov pred
build e8e84de797 Fixed release script bug 9 mesiacov pred
deprecated 064cd93f5d auto update script executed 1 rok pred
docs f8b2885f98 Check if everything is pishjed 9 mesiacov pred
log 8ffe463866 auto update script executed 1 rok pred
mod b265637a35 Fixed all racing conditions 9 mesiacov pred
res be9cad5b94 auto update script executed 1 rok pred
system e8e84de797 Fixed release script bug 9 mesiacov pred
test 2143837509 Added WebSocket Origin check options 1 rok pred
tmp 1223aa1863 Synced Github PR 146 10 mesiacov pred
tools d9412222f9 Updated version no 9 mesiacov pred
web ad3e7a11d4 Fixed racing conditions in stream proxy start stop handler 9 mesiacov pred
www 1223aa1863 Synced Github PR 146 10 mesiacov pred
.gitignore 8c28e5dd0a auto update script executed 1 rok pred
LICENSE 59fd85fd83 Initial commit 3 rokov pred
Makefile 10ca798b8f auto update script executed 1 rok pred
README.md 800854dfd1 auto update script executed 3 rokov pred
accesslist.go 1052ece308 Completed hosts base access rules 11 mesiacov pred
acme.go 80891c2a20 Fixed minor issue in the PR 10 mesiacov pred
api.go 09012a2451 Restructured TCP proxy into streamproxy module 9 mesiacov pred
autopush.sh e6d5a2bc90 Added new autopush 1 rok pred
backup.db bf3de65404 auto update script executed 1 rok pred
build.bat 5150128f12 init 3 rokov pred
build.sh 5150128f12 init 3 rokov pred
build_linux.bat fb3f708a68 Added new header rewrite structure 9 mesiacov pred
cert.go dd9990520f Fixed panic on loading certs generated by v2 10 mesiacov pred
config.go dd9990520f Fixed panic on loading certs generated by v2 10 mesiacov pred
emails.go 51849bfcaa Updated SMTP UI 10 mesiacov pred
go.mod 80891c2a20 Fixed minor issue in the PR 10 mesiacov pred
go.sum 80891c2a20 Fixed minor issue in the PR 10 mesiacov pred
main.go 09012a2451 Restructured TCP proxy into streamproxy module 9 mesiacov pred
redirect.go e90a89715d Added regex support for redirect 11 mesiacov pred
reverseproxy.go 818b631d50 Finalized alias implementation 11 mesiacov pred
router.go 1afe4c1566 auto update script executed 1 rok pred
routingrule.go 80891c2a20 Fixed minor issue in the PR 10 mesiacov pred
sh.exe.stackdump d1962023f9 auto update script executed 1 rok pred
start.go 09012a2451 Restructured TCP proxy into streamproxy module 9 mesiacov pred
start.sh d2fef601a4 Added permission policy module (wip) 9 mesiacov pred
sys.db_backup d89ec0c136 auto update script executed 1 rok pred
sys.uuid 3090893776 auto update script executed 1 rok pred
vdir.go add0600258 auto update script executed 1 rok pred
webssh.go 3090893776 auto update script executed 1 rok pred
wrappers.go 497983a122 auto update script executed 1 rok pred

README.md

ReverseProxy

Reverse proxy subservice for ArozOS

Install

Git clone this inside the subservice folder of ArozOS, build it and start it up in ArozOS subservice menu.

You can also use it separately as a really basic reverse proxy server that server website based on domain / virtual directories. You can also add another load balancer in front of multiple reverse proxy server nodes if it is necessary in your case.

Build

Requirement: Go 1.16 or above

cd ~/arozos/subservices
git clone {this_repo}
cd ReverseProxy
./build.sh

To start the module, make sure .disabled file does not exists and start arozos system. You should be able to see a new module named "ReverseProxy" pop up in the start menu.

Usage

Proxy Modes

There are two mode in the ReverseProxy Subservice

  1. vdir mode (Virtual Dirctories)
  2. subd mode (Subdomain Proxying Mode)

Vdir mode proxy web request based on the virtual directories given in the request URL. For example, when configured to redirect /example to example.com, any visits to {your_domain}/example will be proxied to example.com.

Subd mode proxy web request based on sub-domain exists in the request URL. For example, when configured to redirect example.localhost to example.com, any visits that includes example.localhost (e.g. example.localhost/page1) will be proxied to example.com (e.g. example.com/page1)

Root Proxy

Root proxy is the main proxy destination where if all proxy root name did not match, the request will be proxied to this request. If you are working with ArozOS system in default configuration, you can set this to localhost:8080 for any unknown request to be handled by the host ArozOS system