diff --git a/.breakpoints b/.breakpoints new file mode 100644 index 0000000..8fce8a3 --- /dev/null +++ b/.breakpoints @@ -0,0 +1,12 @@ +{ + "files": { + "public/games.css": [ + { + "id": "6e0f7b81-ddc9-45ea-88cb-d4a35adb387d", + "line": 1, + "version": 1, + "index": 0 + } + ] + } +} \ No newline at end of file diff --git a/.replit b/.replit new file mode 100644 index 0000000..d409ef8 --- /dev/null +++ b/.replit @@ -0,0 +1,2 @@ +language = "nodejs" +run = "npm start" \ No newline at end of file diff --git a/app.json b/app.json new file mode 100644 index 0000000..03ce8ed --- /dev/null +++ b/app.json @@ -0,0 +1,7 @@ +{ + "name": "Nebula", + "description": "A site to bypass web filters, uses harmony proxy made by jango.", + "repository": "https://github.com/jangodev", + "logo": "https://avatars.githubusercontent.com/u/86420004?v=4", + "keywords": ["educational", "science", "math"] +} diff --git a/index.js b/index.js new file mode 100644 index 0000000..abd0824 --- /dev/null +++ b/index.js @@ -0,0 +1,22 @@ +import Server from 'bare-server-node'; +import http from 'http'; +import nodeStatic from 'node-static'; + +const bare = new Server('/bare/', ''); +const serve = new nodeStatic.Server('static/'); + +const server = http.createServer(); + +server.on('request', (request, response) => { + if (bare.route_request(request, response)) + return true; + serve.serve(request, response); +}); + +server.on('upgrade', (req, socket, head) => { + if (bare.route_upgrade(req, socket, head)) + return; + socket.end(); +}); + +server.listen(8080); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f01a4ea --- /dev/null +++ b/package-lock.json @@ -0,0 +1,65 @@ +{ + "name": "nebula", + "version": "2.3.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "bare-server-node": { + "version": "github:tomphttp/bare-server-node#ebf421fd2a350c076e5aeea1fc8814da4f458853", + "from": "github:tomphttp/bare-server-node", + "requires": { + "commander": "^9.0.0", + "fetch-headers": "^3.0.1" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "commander": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz", + "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==" + }, + "fetch-headers": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fetch-headers/-/fetch-headers-3.0.1.tgz", + "integrity": "sha512-Kq+NyED/wLgT29St7aW47gAWg8EmmE5QmhwQ5RmPRULYLqpglA7Kc/ZnbqXu2vhH6mw1koikew2g94WiHLPmpA==" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "node-static": { + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/node-static/-/node-static-0.7.11.tgz", + "integrity": "sha512-zfWC/gICcqb74D9ndyvxZWaI1jzcoHmf4UTHWQchBNuNMxdBLJMDiUgZ1tjGLEIe/BMhj2DxKD8HOuc2062pDQ==", + "requires": { + "colors": ">=0.6.0", + "mime": "^1.2.9", + "optimist": ">=0.3.4" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..a1d60f9 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "nebula", + "version": "2.3.0", + "description": "Proxy by jango", + "type": "module", + "main": "index.js", + "scripts": { + "test": "test", + "start": "node index.js" + }, + "keywords": [ + "educational", + "math", + "science" + ], + "author": "Jango", + "license": "ISC", + "dependencies": { + "bare-server-node": "github:tomphttp/bare-server-node", + "node-static": "^0.7.11" + } +} diff --git a/static/css/main.css b/static/css/main.css new file mode 100644 index 0000000..7054d3d --- /dev/null +++ b/static/css/main.css @@ -0,0 +1,241 @@ +@import url('https://fonts.googleapis.com/css2?family=Dongle&family=Roboto:wght@100&display=swap'); + +* { + -webkit-user-select: none; /* Chrome all / Safari all */ + -moz-user-select: none; /* Firefox all */ + -ms-user-select: none; /* IE 10+ */ + user-select: none; /* Likely future */ +} +body { +background-color: rgb(60, 9, 108); +margin:0; +-webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + overflow-x: hidden; + overflow-y: hidden; +} + + +input { + text-align: center; + display: block; + margin : 0 auto; + font-family: "Roboto"; + font-weight: 90px; + width: 300px; + height: 50px; + animation-name: inputwide; + animation-duration: 2s; + color: white; + transition-duration: 0.5s; + background-color: black; + border-color: white; + border-style: none; + border-radius: 10px; + font-size: 20px; + z-index: 99999 !important; +} + + +#cont { + animation-name: fadein; + animation-duration: 2s; + padding:23% 0; + font-family: "Roboto"; + + +} + +h1 { + font-family: "Roboto"; + text-align: center; + animation-name: colorthing; + animation-duration: 3s; + color: #e9f5db; + + +} +h4 { + font-family: "Roboto"; + text-align: right; + animation-name: colorthing; + animation-duration: 3s; + color: #e9f5db; + + +} +.header_section_top { + position: fixed; + animation-name: fadein; + animation-duration: 2s; + width: 100%; + float: left; + background-color: rgb(90, 24, 154); + clip-path: polygon(0 0, 100% 0, 96% 100%, 3% 100%); + height: auto; + padding: 10px 0px; + color: white; +} + +.row { + justify-content: center; + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; + color: white; +} + +.custom_menu { + width: 100%; + margin: 0 auto; + text-align: center; +} + +.custom_menu ul { + margin: 0px; + padding: 0px; + display: inline-block; +} + +.custom_menu li { + float: left; + font-size: 16px; + color: #f1f1f1; + padding-left: 100px; + padding-right: 100px; +} + + ul, li, ol { + margin: 0px; + padding: 0px; + list-style: none; + color: white; +} + +ul { + display: block; + list-style-type: disc; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + padding-inline-start: 40px; + +} +li { + color: white; + font-family: "Helvetica"; + /* background-color: #210535; */ + padding: 10px; + border-radius: 10px; + text-decoration: none; + transition: 0.5s; +} + + +a { + color: white; + font-family: "Helvetica"; + /* background-color: #210535; */ + padding: 10px; + border-radius: 10px; + text-decoration: none; + transition: 0.5s; +} + +a:hover { + color: grey; + transition: 0.5s; + cursor: pointer; +} + +#ad { + + +} + +button { + background-color: transparent; + border-color: #e9f5db; + color: white; + border-style: solid; + border-width: 2px; + transition: 0.5s; + font-family: "Roboto"; +} + +button:hover { + background-color: #e9f5db; + border-color: #e9f5db; + color: white; + border-style: solid; + border-width: 2px; + transition: 0.5s; +} + +canvas { + display: block; + vertical-align: bottom; + z-index: -1 !important; +} + + +#particles-js { + position: absolute; + width: 100%; + height: 100%; + z-index: -1 !important; +} + + + +@keyframes inputwide { + 0% { + width: 0px; + transition-duration: 0.5s; + } + + 50% { + width: 200px; + transition-duration: 0.5s; + } + + 100% { + width: 300px; + transition-duration: 0.5s; + } +} + +@keyframes colorthing { + 0% { + color: #87986a; + transition-duration: 0.5s; + } + + 50% { + color: #b5c99a; + transition-duration: 0.5s; + } + + 100% { + color: #cfe1b9; + transition-duration: 0.5s; + } +} + +@keyframes fadein { + 0% { + opacity: 0%; + } + + 100% { + opacity: 100%; + } +} + + input:focus, textarea:focus, select:focus{ + outline: none; + } \ No newline at end of file diff --git a/static/css/themes.css b/static/css/themes.css new file mode 100644 index 0000000..bf9691a --- /dev/null +++ b/static/css/themes.css @@ -0,0 +1,219 @@ +@import url('https://fonts.googleapis.com/css2?family=Dongle&family=Roboto:wght@100&display=swap'); + + +body { +background-color: #718355; +margin:0; +-webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + +} + + + +#cont { + animation-name: fadein; + animation-duration: 2s; + padding: 200px 0; + font-family: "Roboto"; + + +} + +h1 { + font-family: "Roboto"; + text-align: center; + animation-name: colorthing; + animation-duration: 3s; + color: #e9f5db; + + +} + +.header_section_top { + position: fixed; + animation-name: fadein; + animation-duration: 2s; + width: 100%; + float: left; + background-color: #87986a; + clip-path: polygon(0 0, 100% 0, 96% 100%, 3% 100%); + height: auto; + padding: 10px 0px; + color: white; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; + color: white; +} + +.custom_menu { + width: 100%; + margin: 0 auto; + text-align: center; +} + +.custom_menu ul { + margin: 0px; + padding: 0px; + display: inline-block; +} + +.custom_menu li { + float: left; + font-size: 16px; + color: #f1f1f1; + padding: 6px 10px 0px 10px; + padding-left: 210px; +} + + ul, li, ol { + margin: 0px; + padding: 0px; + list-style: none; + color: white; +} + +ul { + display: block; + list-style-type: disc; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + padding-inline-start: 40px; + +} +li { + color: white; + font-family: "Helvetica"; + /* background-color: #210535; */ + padding: 10px; + border-radius: 10px; + text-decoration: none; + transition: 0.5s; +} + + +a { + color: white; + font-family: "Helvetica"; + /* background-color: #210535; */ + padding: 10px; + border-radius: 10px; + text-decoration: none; + transition: 0.5s; +} + +a:hover { + color: grey; + transition: 0.5s; + cursor: pointer; +} + + +button { + display: block; + margin: 5px auto; + background-color: transparent; + border-color: #e9f5db; + color: white; + border-style: solid; + border-width: 2px; + transition: 0.5s; + font-family: "Roboto"; + text-align: center; + padding: 5px; + font-size: 20px; +} + +button:hover { + background-color: #e9f5db; + border-color: #e9f5db; + color: black; + border-style: solid; + border-width: 2px; + transition: 0.5s; +} + +canvas { + display: block; + vertical-align: bottom; + z-index: -1 !important; +} + + +#particles-js { + position: absolute; + width: 100%; + height: 100%; + z-index: -1 !important; +} + +.foot { +font-family: "Roboto"; +/* position: fixed; */ + color: white; + padding: 5px; + bottom: 0; + width: 100%; +/* Height of the footer*/ +height: 10px; +padding-bottom: 100px; + +text-align: center; +background-color: #1f1e1e; +} + + +@keyframes inputwide { + 0% { + width: 0px; + transition-duration: 0.5s; + } + + 50% { + width: 200px; + transition-duration: 0.5s; + } + + 100% { + width: 300px; + transition-duration: 0.5s; + } +} + +@keyframes colorthing { + 0% { + color: #87986a; + transition-duration: 0.5s; + } + + 50% { + color: #b5c99a; + transition-duration: 0.5s; + } + + 100% { + color: #cfe1b9; + transition-duration: 0.5s; + } +} + +@keyframes fadein { + 0% { + opacity: 0%; + } + + 100% { + opacity: 100%; + } +} diff --git a/static/games/index.html b/static/games/index.html new file mode 100644 index 0000000..51d6768 --- /dev/null +++ b/static/games/index.html @@ -0,0 +1,7 @@ + +

Redirecting in 1 seconds

+ + \ No newline at end of file diff --git a/static/images/adtemplate.png b/static/images/adtemplate.png new file mode 100644 index 0000000..1533943 Binary files /dev/null and b/static/images/adtemplate.png differ diff --git a/static/images/fav.png b/static/images/fav.png new file mode 100644 index 0000000..df4c0c8 Binary files /dev/null and b/static/images/fav.png differ diff --git a/static/images/git.svg b/static/images/git.svg new file mode 100644 index 0000000..7870c06 --- /dev/null +++ b/static/images/git.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/index.html b/static/index.html new file mode 100644 index 0000000..cb59042 --- /dev/null +++ b/static/index.html @@ -0,0 +1,190 @@ + + + + Nebula + + + + + + + +
+ + +