Parcourir la source

Added quickstart

Toby Chui il y a 7 mois
Parent
commit
20e3359819

+ 1 - 1
mod/acme/acme.go

@@ -144,7 +144,7 @@ func (a *ACMEHandler) ObtainCert(domains []string, certificateName string, email
 		} else {
 			// (caName == "" || caUrl == "") will use default acme
 			config.CADirURL = a.DefaultAcmeServer
-			a.Logf("[INFO] Using Default ACME "+a.DefaultAcmeServer+" for CA Directory URL", nil)
+			a.Logf("Using Default ACME "+a.DefaultAcmeServer+" for CA Directory URL", nil)
 		}
 	}
 

+ 129 - 0
web/components/quickstart.html

@@ -0,0 +1,129 @@
+
+<div id="quickstart" class="standardContainer">
+    <div class="ui container">
+        <h1 class="ui header">
+            <img src="img/res/1F387.png">
+            <div class="content">
+              Hi! Welcome to Zoraxy!
+              <div class="sub header">What services are you planning to setup today?</div>
+            </div>
+        </h1>
+        <br>
+        <div class="ui stackable equal width grid">
+            <div class="column">
+                <div class="serviceOption homepage">
+                    <div class="titleWrapper">
+                        <p>Static Homepage</p>
+                    </div>
+                    <div class="ui divider"></div>
+                    <p>Host a static personal homepage with HTML, CSS and JavaScript using your domain name.</p>
+                    <img class="themebackground ui small image" src="img/res/1F310.png">
+                </div>
+            </div>
+            <div class="column">
+                <div class="serviceOption subdomain">
+                    <div class="titleWrapper">
+                        <p>Sub-domains Routing</p>
+                    </div>
+                    <div class="ui divider"></div>
+                    <p>Add and handle traffic from your subdomains and point them to a dedicated web services somewhere else.</p>
+                    <img class="themebackground ui small image" src="img/res/1F500.png">
+                </div>
+            </div>
+            <div class="column">
+                <div class="serviceOption tls">
+                    <div class="titleWrapper">
+                        <p>HTTPS Green Lock(s)</p>
+                    </div>
+                    <div class="ui divider"></div>
+                    <p>Turn your unsafe HTTP website into HTTPS using free certificate from public certificate authorities organizations.</p>
+                    <img class="themebackground ui small image" src="img/res/1F512.png">
+                </div>
+            </div>
+        </div>
+        <div class="ui divider"></div>
+    </div>
+   
+</div>
+<script>
+   
+    //Set the new proxy root option
+    function setProxyRoot(btn=undefined){
+        var newpr = $("#proxyRoot").val();
+        if (newpr.trim() == "" && currentDefaultSiteOption == 0){
+            //Fill in the web server info
+            newpr = "127.0.0.1:" +  $("#webserv_listenPort").val();
+            $("#proxyRoot").val(newpr);
+            
+        }
+
+        var rootReqTls = $("#rootReqTLS")[0].checked;
+
+        if (btn != undefined){
+            $(btn).addClass("disabled");
+        }
+
+        //proxy mode or redirect mode, check for input values
+        var defaultSiteValue = "";
+        if (currentDefaultSiteOption == 1){
+            if ($("#proxyRoot").val().trim() == ""){
+                $("#proxyRoot").parent().addClass("error");
+                return;
+            }
+            defaultSiteValue = $("#proxyRoot").val().trim();
+            $("#proxyRoot").parent().removeClass("error");
+
+        }else if (currentDefaultSiteOption == 2){
+            if ($("#redirectDomain").val().trim() == ""){
+                $("#redirectDomain").parent().addClass("error");
+                return;
+            }
+            defaultSiteValue = $("#redirectDomain").val().trim();
+            $("#redirectDomain").parent().removeClass("error");
+        }
+
+        //Create the endpoint by calling add
+        $.cjax({
+            url: "/api/proxy/add",
+            data: {
+                "type": "root", 
+                "tls": rootReqTls, 
+                "ep": newpr,
+                "defaultSiteOpt": currentDefaultSiteOption,
+                "defaultSiteVal":defaultSiteValue,
+            },
+            method: "POST",
+            success: function(data){
+                if (data.error != undefined){
+                    msgbox(data.error, false, 5000);
+                }else{
+                    //OK
+                    
+                    initRootInfo(function(){
+                        
+                        //Check if WebServ is enabled
+                        isUsingStaticWebServerAsRoot(function(isUsingWebServ){
+                            if (isUsingWebServ){
+                                //Force enable static web server
+                                //See webserv.html for details
+                                setWebServerRunningState(true);
+                            }
+                            
+                            msgbox("Default Site Updated");
+                        })
+                    });
+                    
+                }
+
+                if (btn != undefined){
+                    $(btn).removeClass("disabled");
+                }
+            },
+            error: function(){
+                msgbox("Unknown error occured", false);
+            }
+        });
+
+    }
+
+</script>

BIN
web/img/res/1F310.png


BIN
web/img/res/1F387.png


BIN
web/img/res/1F38A.png


BIN
web/img/res/1F44B.png


BIN
web/img/res/1F500.png


BIN
web/img/res/1F512.png


BIN
web/img/res/2728.png


BIN
web/img/res/E25E.png


+ 6 - 0
web/index.html

@@ -36,6 +36,9 @@
         <div class="wrapper">
             <div class="toolbar">
                 <div id="mainmenu" class="ui secondary vertical menu">
+                    <a class="item" tag="qstart">
+                        <i class="simplistic magic icon"></i>Quick Setup
+                    </a>
                     <a class="item active" tag="status">
                         <i class="simplistic info circle icon"></i>Status
                     </a>
@@ -92,6 +95,9 @@
                 </div>
             </div>
             <div class="contentWindow">
+                <!-- Quick Start -->
+                <div id="qstart" class="functiontab" target="quickstart.html"></div>
+
                 <!-- Status Tab -->
                 <div id="status" class="functiontab" target="status.html" style="display: block ;">
                     <br><br><div class="ui active centered inline loader"></div>

+ 56 - 1
web/main.css

@@ -710,4 +710,59 @@ body{
 
 #traceroute_results::selection {
     background: #a9d1f3; 
-  }
+}
+
+/*
+    Quick Start Overview
+*/
+
+#quickstart .serviceOption{
+    position: relative;
+    overflow: hidden;
+    padding: 1em;
+    background-color: rgb(240, 240, 240);
+    border-radius: 0.6em;
+    cursor: pointer;
+    min-height: 250px;
+}
+
+#quickstart .serviceOption .titleWrapper{
+    text-align: center;
+    width: 100%;
+    font-weight: bolder;
+    font-size: 1.3em;
+}
+
+#quickstart .serviceOption :not(.titleWrapper){
+    font-weight: bold;
+}
+
+#quickstart .serviceOption .themebackground{
+    opacity: 0.2;
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    margin-right: -1em;
+    margin-bottom: -2em;
+    pointer-events: none;
+    user-select: none;
+}
+
+#quickstart .serviceOption:hover{
+    opacity: 0.7;
+}
+
+#quickstart .serviceOption.tls{
+    background: var(--theme_green);
+    color: white;
+}
+
+#quickstart .serviceOption.subdomain{
+    background: var(--theme_background);
+    color: white;
+}
+
+#quickstart .serviceOption.homepage{
+    background: var(--theme_background_inverted);
+    color: white;
+}