forked from Steven/NginxInstaller
		
	Merge pull request 'Added Version checking to verify that a version of NGINX exists. Adds nginx download page to cache. Also added a few check before sending requests to the API. No visual Changes' (#3) from 5gi/NginxInstaller:master into master
Reviewed-on: Steven/NginxInstaller#3
This commit is contained in:
		
						commit
						13afdbcea1
					
				
							
								
								
									
										42
									
								
								app.js
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								app.js
									
									
									
									
									
								
							@ -1,5 +1,8 @@
 | 
			
		||||
document.getElementById("submit").addEventListener("click", generateQuickCmd, false);
 | 
			
		||||
 | 
			
		||||
const debug = false; // DISABLE FOR PRODUCTION
 | 
			
		||||
const baseURL = debug ? "http://localhost:8081/ngx" : "https://dev.nevets.tech/ngx";
 | 
			
		||||
 | 
			
		||||
const service = "[Unit]\n" +
 | 
			
		||||
    "Description=The NGINX HTTP and reverse proxy server\n" +
 | 
			
		||||
    "After=syslog.target network-online.target remote-fs.target nss-lookup.target\n" +
 | 
			
		||||
@ -28,30 +31,41 @@ const service = "[Unit]\n" +
 | 
			
		||||
// }
 | 
			
		||||
// const sleep = ms => new Promise(r => setTimeout(r, ms));
 | 
			
		||||
 | 
			
		||||
async function getHTML() {
 | 
			
		||||
    return fetch("corsurl" + encodeURIComponent("https://nginx.org/download/"))
 | 
			
		||||
        .then((response)=>response.body.toString())
 | 
			
		||||
        .then((responseJson)=>{return responseJson});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function generateQuickCmd() {
 | 
			
		||||
    let nginxStr = document.getElementById("link").value;
 | 
			
		||||
    // if (!st.toString().includes(extractNginxVersion(nginxStr))) {
 | 
			
		||||
    //     document.getElementById("script").innerHTML = "ERROR!? Do you have a valid verison of NGINX?" + "\n<span class=\"tooltiptext\" id=\"myTooltip\">Copy to clipboard</span>";
 | 
			
		||||
    //     return;
 | 
			
		||||
    // }
 | 
			
		||||
 | 
			
		||||
    if (nginxStr === "") {
 | 
			
		||||
        document.getElementById("script").innerHTML = "ERROR!? Did you leave the NGINX Verison field blank?" + "\n<span class=\"tooltiptext\" id=\"myTooltip\">Copy to clipboard</span>";
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    let reqData = "{" +
 | 
			
		||||
        "\"content\":\"" + encodeURI(buildCmd()) + "\"" +
 | 
			
		||||
        "}";
 | 
			
		||||
    if (extractNginxVersion(nginxStr)===null || extractNginxVersion(nginxStr).includes("null")) {
 | 
			
		||||
        document.getElementById("script").innerHTML = "ERROR!? Regex could not find the version in the input field!" + "\n<span class=\"tooltiptext\" id=\"myTooltip\">Copy to clipboard</span>";
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fetch("https://api.nevets.tech/ngx/create", {
 | 
			
		||||
 | 
			
		||||
    let reqData = "{" +
 | 
			
		||||
        "\"version\":\"" + encodeURIComponent(extractNginxVersion(nginxStr)) + "\"" + "}";
 | 
			
		||||
    let continueCycle = true;
 | 
			
		||||
    await fetch(baseURL + "/dhv", {
 | 
			
		||||
        method: "POST",
 | 
			
		||||
        body: reqData,
 | 
			
		||||
    }).then(res => res.json().then(json => {
 | 
			
		||||
        if (json.url.includes("false")) {
 | 
			
		||||
            document.getElementById("script").innerHTML = "ERROR!? Do you have a valid verison of NGINX?" + "\n<span class=\"tooltiptext\" id=\"myTooltip\">Copy to clipboard</span>";
 | 
			
		||||
            continueCycle = false;
 | 
			
		||||
        }
 | 
			
		||||
    }));
 | 
			
		||||
    if (!continueCycle) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    reqData = "{" +
 | 
			
		||||
        "\"content\":\"" + encodeURI(buildCmd()) + "\"" +
 | 
			
		||||
        "}";
 | 
			
		||||
    fetch(baseURL + "/create", {
 | 
			
		||||
        method: "POST",
 | 
			
		||||
        body: reqData,
 | 
			
		||||
        mode: "cors"
 | 
			
		||||
    }).then(res => res.json().then(json => {
 | 
			
		||||
        document.getElementById("script").innerHTML = "curl -s " + json.url + " | bash" + "\n<span class=\"tooltiptext\" id=\"myTooltip\">Copy to clipboard</span>";
 | 
			
		||||
    }));
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user