diff --git a/src/web/components/blacklist.html b/src/web/components/blacklist.html
new file mode 100644
index 0000000..3b56289
--- /dev/null
+++ b/src/web/components/blacklist.html
@@ -0,0 +1,714 @@
+
+
+
Blacklist
+
Setup blacklist based on estimated IP geographic location or IP address
+
+
+
+
+
+
+
+
+ Setting Saved
+
+
+ Blacklist function require complex checking logic to validate each incoming request. Not recommend enabling this feature on servers with low end hardware.
+
+
Country Blacklist
+
+ This will block all requests from the selected country. The requester's location is estimated from their IP address and may not be 100% accurate.
+
+
+
+
+
+
+
+
Select Country
+
+
Afghanistan
+
Aland Islands
+
Albania
+
Algeria
+
American Samoa
+
Andorra
+
Angola
+
Anguilla
+
Antigua
+
Argentina
+
Armenia
+
Aruba
+
Australia
+
Austria
+
Azerbaijan
+
Bahamas
+
Bahrain
+
Bangladesh
+
Barbados
+
Belarus
+
Belgium
+
Belize
+
Benin
+
Bermuda
+
Bhutan
+
Bolivia
+
Bosnia
+
Botswana
+
Bouvet Island
+
Brazil
+
British Virgin Islands
+
Brunei
+
Bulgaria
+
Burkina Faso
+
Burma
+
Burundi
+
Caicos Islands
+
Cambodia
+
Cameroon
+
Canada
+
Cape Verde
+
Cayman Islands
+
Central African Republic
+
Chad
+
Chile
+
China
+
Christmas Island
+
Cocos Islands
+
Colombia
+
Comoros
+
Congo Brazzaville
+
Congo
+
Cook Islands
+
Costa Rica
+
Cote Divoire
+
Croatia
+
Cuba
+
Cyprus
+
Czech Republic
+
Denmark
+
Djibouti
+
Dominica
+
Dominican Republic
+
Ecuador
+
Egypt
+
El Salvador
+
England
+
Equatorial Guinea
+
Eritrea
+
Estonia
+
Ethiopia
+
European Union
+
Falkland Islands
+
Faroe Islands
+
Fiji
+
Finland
+
France
+
French Guiana
+
French Polynesia
+
French Territories
+
Gabon
+
Gambia
+
Georgia
+
Germany
+
Ghana
+
Gibraltar
+
Greece
+
Greenland
+
Grenada
+
Guadeloupe
+
Guam
+
Guatemala
+
Guinea-Bissau
+
Guinea
+
Guyana
+
Haiti
+
Heard Island
+
Honduras
+
Hong Kong
+
Hungary
+
Iceland
+
India
+
Indian Ocean Territory
+
Indonesia
+
Iran
+
Iraq
+
Ireland
+
Israel
+
Italy
+
Jamaica
+
Japan
+
Jordan
+
Kazakhstan
+
Kenya
+
Kiribati
+
Kuwait
+
Kyrgyzstan
+
Laos
+
Latvia
+
Lebanon
+
Lesotho
+
Liberia
+
Libya
+
Liechtenstein
+
Lithuania
+
Luxembourg
+
Macau
+
Macedonia
+
Madagascar
+
Malawi
+
Malaysia
+
Maldives
+
Mali
+
Malta
+
Marshall Islands
+
Martinique
+
Mauritania
+
Mauritius
+
Mayotte
+
Mexico
+
Micronesia
+
Moldova
+
Monaco
+
Mongolia
+
Montenegro
+
Montserrat
+
Morocco
+
Mozambique
+
Namibia
+
Nauru
+
Nepal
+
Netherlands Antilles
+
Netherlands
+
New Caledonia
+
New Guinea
+
New Zealand
+
Nicaragua
+
Niger
+
Nigeria
+
Niue
+
Norfolk Island
+
North Korea
+
Northern Mariana Islands
+
Norway
+
Oman
+
Pakistan
+
Palau
+
Palestine
+
Panama
+
Paraguay
+
Peru
+
Philippines
+
Pitcairn Islands
+
Poland
+
Portugal
+
Puerto Rico
+
Qatar
+
Reunion
+
Romania
+
Russia
+
Rwanda
+
Saint Helena
+
Saint Kitts and Nevis
+
Saint Lucia
+
Saint Pierre
+
Saint Vincent
+
Samoa
+
San Marino
+
Sandwich Islands
+
Sao Tome
+
Saudi Arabia
+
Senegal
+
Serbia
+
Serbia
+
Seychelles
+
Sierra Leone
+
Singapore
+
Slovakia
+
Slovenia
+
Solomon Islands
+
Somalia
+
South Africa
+
South Korea
+
Spain
+
Sri Lanka
+
Sudan
+
Suriname
+
Svalbard
+
Swaziland
+
Sweden
+
Switzerland
+
Syria
+
Taiwan
+
Tajikistan
+
Tanzania
+
Thailand
+
Timorleste
+
Togo
+
Tokelau
+
Tonga
+
Trinidad
+
Tunisia
+
Turkey
+
Turkmenistan
+
Tuvalu
+
Uganda
+
Ukraine
+
United Arab Emirates
+
United States
+
Uruguay
+
Us Minor Islands
+
Us Virgin Islands
+
Uzbekistan
+
Vanuatu
+
Vatican City
+
Venezuela
+
Vietnam
+
Wallis and Futuna
+
Western Sahara
+
Yemen
+
Zambia
+
Zimbabwe
+
+
+
+
+
+
+
+
+
ISO Code
+
Remove
+
+
+
+
+
+
+
+
IP Blacklist
+
Black a certain IP or IP range
+
+
+
+
+
+
+
+
+ IP Address support the following formats
+
+
Fixed IP Address (e.g. 192.128.4.100)
+
IP Wildcard (e.g. 172.164.*.*)
+
CIDR String (e.g. 128.32.0.1/16)
+
+
+
+
+
+
IP Address
+
Remove
+
+
+
+
+
+
+
+
Visitor IP list
+
+
Observe strange traffic on your sites? Ban them in the list below.
+
+
+
+
+
IP
+
Access Count
+
Blacklist
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/cert.html b/src/web/components/cert.html
new file mode 100644
index 0000000..96d0175
--- /dev/null
+++ b/src/web/components/cert.html
@@ -0,0 +1,288 @@
+
+
+
TLS / SSL Certificates
+
Setup TLS cert for different domains of your reverse proxy server names
+
+
+
+
Default Certificates
+ When there are no matching certificate for the requested server name, reverse proxy router will always fallback to this one. Note that you need both of them uploaded for it to fallback properly
+
+
+
Key Type
+
Exists
+
+
+
+
Default Public Key
+
+
+
+
Default Private Key
+
+
+
+
+
Upload Default Keypairs
+
+
+
+
+
+
+
Sub-domain Certificates
+
Provide certificates for multiple domains reverse proxy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Certificate for domain uploaded.
+
+
+
+
+
+
Domain
+
Last Update
+
Remove
+
+
+
+
+
+
+
+
+
Sub-domain Certificates
+ If you have 3rd or even 4th level subdomains like blog.example.com or en.blog.example.com ,
+ depending on your certificates coverage, you might need to setup them one by one (i.e. having two seperate certificate for a.example.com and b.example.com).
+ If you have a wildcard certificate that covers *.example.com, you can just enter example.com as server name in the form below to add a certificate.
+
+
+
\ No newline at end of file
diff --git a/src/web/components/gan.html b/src/web/components/gan.html
new file mode 100644
index 0000000..c3442e2
--- /dev/null
+++ b/src/web/components/gan.html
@@ -0,0 +1,228 @@
+
+
+
Global Area Network
+
Virtual Network Hub that allows all networked devices to communicate as if they all reside in the same physical data center or cloud region
+
+
+
+
+
+
+
Network Controller ID
+
+
+
+
+
+
+
0
+
Networks
+
+
+
+
+
+
0
+
Connected Nodes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Network ID
+
Name
+
Description
+
Subnet (Assign Range)
+
Nodes
+
Actions
+
+
+
+
+
No Global Area Network Found on this host
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/gandetails.html b/src/web/components/gandetails.html
new file mode 100644
index 0000000..0f9922c
--- /dev/null
+++ b/src/web/components/gandetails.html
@@ -0,0 +1,625 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
You can change the network name and description below. The name and description is only for easy management purpose and will not effect the network operation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Settings
+
+
+
+
+
IPv4 Auto-Assign
+
+
+
+
+
+
+
+
+
+
Custom IP Range
+
Manual IP Range Configuration. The IP range must be within the selected CIDR range.
+ Use Utilities > IP to CIDR tool if you are not too familiar with CIDR notations.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Members
+
To join this network using command line, type sudo zerotier-cli join on your device terminal
+
+
+
+
+
+
+
+
+
Auth
+
Address
+
Name
+
Managed IP
+
Authorized Since
+
Version
+
Remove
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/networktools.html b/src/web/components/networktools.html
new file mode 100644
index 0000000..94485be
--- /dev/null
+++ b/src/web/components/networktools.html
@@ -0,0 +1,441 @@
+
+
\ No newline at end of file
diff --git a/src/web/components/rproot.html b/src/web/components/rproot.html
new file mode 100644
index 0000000..3a09831
--- /dev/null
+++ b/src/web/components/rproot.html
@@ -0,0 +1,79 @@
+
+
+
Set Proxy Root
+
For all routing not found in the proxy rules, request will be redirected to the proxy root server.
+
+
+
+
+ E.g. localhost:8080
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/rules.html b/src/web/components/rules.html
new file mode 100644
index 0000000..8e52529
--- /dev/null
+++ b/src/web/components/rules.html
@@ -0,0 +1,160 @@
+
+
+
+
+
New Proxy Rule
+
You can create a proxy endpoing by subdomain or virtual directories
+
+
+
+
+
+
+
Proxy Type
+
+
Sub-domain
+
Virtual Directory
+
+
+
+
+
+
+
+
+
+
+
+ E.g. 192.168.0.101:8000 or example.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Subdomain
+ Example of subdomain matching keyword:
+ s1.arozos.com (Any access starting with s1.arozos.com will be proxy to the IP address below)
+
+ Virtual Directory
+ Example of virtual directory name:
+ /s1/home/ (Any access to {this_server}/s1/home/ will be proxy to the IP address below)
+ You can also ignore the tailing slash for wildcard like usage.
+ /s1/room- Any access to {this_server}/s1/classroom_* will be proxied, for example:
+
+
/s1/room-101
+
/s1/room-102/
+
/s1/room-103/map.txt
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/stats.html b/src/web/components/stats.html
new file mode 100644
index 0000000..779b750
--- /dev/null
+++ b/src/web/components/stats.html
@@ -0,0 +1,580 @@
+
+
+
+
+
+
+
Statistical Analysis
+
Statistic of your server in every aspects
+
+
+
+
+
+
+
+
+
+
+
+
+ Leave end range as empty for showing starting day only statistic
+
+
+
+
+
+
+
+
+
+
+ No Data
+
The selected period contains too little or no request data collected.
+ Please select a larger range or make sure there are enough traffic routing through this site.
+
+
+
+
+
+
+
+
+
+
+
+ Total Requests
+
+
+
+
+
+
+
+ Success Requests
+
+
+
+
+
+
+
+ Error Requests
+
+
+
+
+
Forward Traffic Types
+
Traffic forwarding type classified by their protocols and proxy rules.
+
+
+
Forward Type
+
Counts
+
Percentage
+
+
+
+
+
+
Visitors Countries
+
Distributions of visitors by country code. Access origin are estimated using open source GeoIP database and might not be accurate.
+
+
+
+
+
+
+
+
Requests IP Version
+
The version of Internet Protocol that the client is using. If the request client is pass through a DNS proxy like CloudFlare,
+ the CloudFlare proxy server address will be filtered and only the first value in the RemoteAddress field will be analysised.
+
+
+
+
+
+
Request Origins
+
Top 25 request origin sorted by request count
+
+
+
+
+
Request Origin
+
No of Requests
+
+
+
+
+
+
+
+
+
+
+
+
+
Client Devices
+
Device type analysis by its request interactions.The number of iteration count does not means the number unique device, as no cookie is used to track the devices identify.
+
+
+
+
+
+
Client Browsers
+
The browsers where your client is using to visit your site
+
+
+
+
+
+
+
+
Client OS
+
The OS where your client is using. Estimated using the UserAgent header sent by the client browser while requesting a resources from one of your host.
+
+
+
+
+
+
OS Versions
+
The OS versions most commonly used by your site's visitors.
+
+
+
+
+
OS Version
+
Request Counts
+
Percentage
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/status.html b/src/web/components/status.html
new file mode 100644
index 0000000..a15515a
--- /dev/null
+++ b/src/web/components/status.html
@@ -0,0 +1,571 @@
+
+
+
+
+
+
+ Loading
+
Checking server status
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Req. Today
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Graph Render Paused
+
+
+
+
Basic Settings
+
Inbound Port (Port to be proxied)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loopback Routing Warning
+ This management interface is a loopback proxied service. If you want to shutdown the reverse proxy server, please remove the proxy rule for the management interface and refresh.
+
Subdomains are a way to organize and identify different sections of a website or domain. They are essentially a prefix to the main domain name, separated by a dot. For example, in the domain "blog.example.com," "blog" is the subdomain.
+
+
+
+
+
+
Matching Domain
+
Proxy To
+
Remove
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/tcpprox.html b/src/web/components/tcpprox.html
new file mode 100644
index 0000000..e0887fd
--- /dev/null
+++ b/src/web/components/tcpprox.html
@@ -0,0 +1,355 @@
+
+
+
TCP Proxy
+
Proxy traffic flow on layer 3 via TCP/IP
+
+
+
+
+
+
TCP Proxy Config
+
Create or edit a new proxy instance
+
+
+
+
+
+
TCP Proxy Configs
+
A list of TCP proxy configs created on this host. To enable them, use the toggle button on the right.
+
+
+
+
Name
+
PortA
+
PortB
+
Mode
+
Timeout (s)
+
Actions
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/uptime.html b/src/web/components/uptime.html
new file mode 100644
index 0000000..69472b7
--- /dev/null
+++ b/src/web/components/uptime.html
@@ -0,0 +1,158 @@
+
+
+
Uptime Monitor
+
Check the online state of proxied targets
+
+
+
+
+
+
+
+ Uptime Monitoring service is currently unavailable
+
This might cause by an error in cluster communication within the host servers. Please wait for administrator to resolve the issue.
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/components/utils.html b/src/web/components/utils.html
new file mode 100644
index 0000000..1e179ee
--- /dev/null
+++ b/src/web/components/utils.html
@@ -0,0 +1,392 @@
+
+
+
Utilities
+
You might find these tools or information helpful when setting up your gateway server
+
+
+
+
Account Management
+
Functions to help management the current account
+
+
Change Password
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Password Updated
+
+
+
+
Forget Password Email
+
The following SMTP settings help you to reset your password in case you have lost your management account.
+
+
+
+
IP Address to CIDR
+
No experience with CIDR notations? Here are some tools you can use to make setting up easier.
+
+
IP Range to CIDR Conversion
+
+ Note that the CIDR generated here covers additional IP address before or after the given range. If you need more details settings, please use CIDR with a smaller range and add additional IPs for detail range adjustment.
+
+
+
+
+
+
+
+
+
+
Results:
N/A
+
+
+
+
CIDR to IP Range Conversion
+
+
+
+
+
Results:
N/A
+
+
+
\ No newline at end of file
diff --git a/src/web/components/vdir.html b/src/web/components/vdir.html
new file mode 100644
index 0000000..b0aa5a7
--- /dev/null
+++ b/src/web/components/vdir.html
@@ -0,0 +1,58 @@
+
+
+
Virtual Directory
+
A virtual directory is a consolidated view of multiple directories that provides a unified entry point for users to access disparate sources.
+
+
+
+
+
+
Virtual Directory
+
Proxy To
+
Remove
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/favicon.png b/src/web/favicon.png
new file mode 100644
index 0000000..03345e0
Binary files /dev/null and b/src/web/favicon.png differ
diff --git a/src/web/forbidden.html b/src/web/forbidden.html
new file mode 100644
index 0000000..e43659f
--- /dev/null
+++ b/src/web/forbidden.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+ Forbidden
+
+
+
+
+
+
+
403 - Forbidden
+
+
You do not have permission to view this directory or page.
+ This might be caused by the site admin has blacklisted your country or IP address
+
+
+ Request time:
+ Request URI:
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/web/hosterror.html b/src/web/hosterror.html
new file mode 100644
index 0000000..fc6f16b
--- /dev/null
+++ b/src/web/hosterror.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 404 - Host Not Found
+
+
+
+
+
+
+
Error 404
+
Target Host Not Found
+
+
+
+
+
+
+
+
+
+ You
+
Browser
+
Working
+
+
+
+
+
+
+
+ Gateway Node
+
Reverse Proxy
+
Working
+
+
+
+
+
+
+
+
Host
+
Not Found
+
+
+
+
+
+
+
+
+
+
What happend?
+
The reverse proxy target domain is not found. For more information, see the error message on the reverse proxy terminal.
+
+
+
What can I do?
+
If you are a visitor of this website:
+
Please try again in a few minutes
+
If you are the owner of this website:
+
+
Check if the target web server is online
+
Visit the Reverse Proxy management interface to correct any setting errors