sync
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
export default {
|
||||
port: 8080,
|
||||
mode: 'dev',
|
||||
minify: false,
|
||||
assetScrambling: false
|
||||
}
|
||||
Generated
+672
-13
@@ -14,14 +14,40 @@
|
||||
"easyviolet": "github:Russell2259/Easyviolet",
|
||||
"express": "*",
|
||||
"html-minifier": "^4.0.0",
|
||||
"javascript-obfuscator": "^4.1.0",
|
||||
"jsdom": "^23.0.1",
|
||||
"mime": "*",
|
||||
"uglify-js": "^3.17.4"
|
||||
"uuid": "^9.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@javascript-obfuscator/escodegen": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@javascript-obfuscator/escodegen/-/escodegen-2.3.0.tgz",
|
||||
"integrity": "sha512-QVXwMIKqYMl3KwtTirYIA6gOCiJ0ZDtptXqAv/8KWLG9uQU2fZqTVy7a/A5RvcoZhbDoFfveTxuGxJ5ibzQtkw==",
|
||||
"dependencies": {
|
||||
"@javascript-obfuscator/estraverse": "^5.3.0",
|
||||
"esprima": "^4.0.1",
|
||||
"esutils": "^2.0.2",
|
||||
"optionator": "^0.8.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"source-map": "~0.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@javascript-obfuscator/estraverse": {
|
||||
"version": "5.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@javascript-obfuscator/estraverse/-/estraverse-5.4.0.tgz",
|
||||
"integrity": "sha512-CZFX7UZVN9VopGbjTx4UXaXsi9ewoM1buL0kY7j1ftYdSs7p2spv9opxFjHlQ/QGTgh4UqufYqJJ0WKLml7b6w==",
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@titaniumnetwork-dev/ultraviolet": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@titaniumnetwork-dev/ultraviolet/-/ultraviolet-2.0.0.tgz",
|
||||
@@ -69,6 +95,16 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz",
|
||||
"integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg=="
|
||||
},
|
||||
"node_modules/@types/minimatch": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
|
||||
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
||||
},
|
||||
"node_modules/@types/validator": {
|
||||
"version": "13.11.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.7.tgz",
|
||||
"integrity": "sha512-q0JomTsJ2I5Mv7dhHhQLGjMvX0JJm5dyZ1DXQySIUzU1UlwzB8bt+R6+LODUbz0UDIOvEzGc28tk27gBJw2N8Q=="
|
||||
},
|
||||
"node_modules/abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
@@ -87,6 +123,17 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.8.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
|
||||
"integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/agent-base": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
|
||||
@@ -119,6 +166,20 @@
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
||||
@@ -132,11 +193,46 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/array-differ": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
|
||||
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
|
||||
},
|
||||
"node_modules/array-union": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
|
||||
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/arrify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
|
||||
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/assert": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
|
||||
"integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
|
||||
"dependencies": {
|
||||
"es6-object-assign": "^1.1.0",
|
||||
"is-nan": "^1.2.1",
|
||||
"object-is": "^1.0.1",
|
||||
"util": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/async-exit-hook": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz",
|
||||
@@ -150,11 +246,21 @@
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||
},
|
||||
"node_modules/available-typed-arrays": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
|
||||
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||
},
|
||||
"node_modules/binary-extensions": {
|
||||
"version": "2.2.0",
|
||||
@@ -192,7 +298,6 @@
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
@@ -245,6 +350,61 @@
|
||||
"upper-case": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk/node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/chance": {
|
||||
"version": "1.1.9",
|
||||
"resolved": "https://registry.npmjs.org/chance/-/chance-1.1.9.tgz",
|
||||
"integrity": "sha512-TfxnA/DcZXRTA4OekA2zL9GH8qscbbl6X0ZqU4tXhGveVY/mXWvEQLt5GwZcYXTEyEFflVtj+pG8nc8EwSm1RQ=="
|
||||
},
|
||||
"node_modules/char-regex": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
|
||||
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/charenc": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
|
||||
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||
@@ -272,17 +432,32 @@
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/clean-css": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz",
|
||||
"integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==",
|
||||
"node_modules/class-validator": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.0.tgz",
|
||||
"integrity": "sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==",
|
||||
"dependencies": {
|
||||
"source-map": "~0.6.0"
|
||||
"@types/validator": "^13.7.10",
|
||||
"libphonenumber-js": "^1.10.14",
|
||||
"validator": "^13.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 4.0"
|
||||
"node": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
@@ -305,8 +480,7 @@
|
||||
"node_modules/concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
},
|
||||
"node_modules/content-disposition": {
|
||||
"version": "0.5.4",
|
||||
@@ -352,6 +526,14 @@
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/crypt": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
||||
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/css-tree": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
|
||||
@@ -400,6 +582,11 @@
|
||||
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
|
||||
"integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA=="
|
||||
},
|
||||
"node_modules/deep-is": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
|
||||
},
|
||||
"node_modules/define-data-property": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
|
||||
@@ -413,6 +600,22 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/define-properties": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
|
||||
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
|
||||
"dependencies": {
|
||||
"define-data-property": "^1.0.1",
|
||||
"has-property-descriptors": "^1.0.0",
|
||||
"object-keys": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
@@ -482,11 +685,36 @@
|
||||
"url": "https://github.com/fb55/entities?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/es6-object-assign": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
|
||||
"integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw=="
|
||||
},
|
||||
"node_modules/escape-html": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
|
||||
},
|
||||
"node_modules/eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"dependencies": {
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^5.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-visitor-keys": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
|
||||
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/esotope-hammerhead": {
|
||||
"version": "0.6.7",
|
||||
"resolved": "https://registry.npmjs.org/esotope-hammerhead/-/esotope-hammerhead-0.6.7.tgz",
|
||||
@@ -495,6 +723,45 @@
|
||||
"@types/estree": "0.0.46"
|
||||
}
|
||||
},
|
||||
"node_modules/esprima": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
||||
"bin": {
|
||||
"esparse": "bin/esparse.js",
|
||||
"esvalidate": "bin/esvalidate.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/esrecurse": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
|
||||
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
|
||||
"dependencies": {
|
||||
"estraverse": "^5.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/estraverse": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
|
||||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/esutils": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
|
||||
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/etag": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
@@ -552,6 +819,16 @@
|
||||
"node": ">= 0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
||||
},
|
||||
"node_modules/fast-levenshtein": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
|
||||
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
@@ -581,6 +858,14 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/for-each": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
|
||||
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
|
||||
"dependencies": {
|
||||
"is-callable": "^1.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/form-data": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||
@@ -711,6 +996,20 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-tostringtag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
|
||||
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
|
||||
"dependencies": {
|
||||
"has-symbols": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
|
||||
@@ -766,6 +1065,17 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/html-minifier/node_modules/clean-css": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz",
|
||||
"integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==",
|
||||
"dependencies": {
|
||||
"source-map": "~0.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/html-minifier/node_modules/commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
@@ -879,6 +1189,11 @@
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"node_modules/inversify": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/inversify/-/inversify-6.0.1.tgz",
|
||||
"integrity": "sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ=="
|
||||
},
|
||||
"node_modules/ipaddr.js": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
|
||||
@@ -887,6 +1202,21 @@
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/is-arguments": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
|
||||
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.2",
|
||||
"has-tostringtag": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-binary-path": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||
@@ -899,6 +1229,22 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-buffer": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
||||
},
|
||||
"node_modules/is-callable": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
|
||||
"integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-extglob": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||
@@ -908,6 +1254,20 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-generator-function": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
|
||||
"integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
|
||||
"dependencies": {
|
||||
"has-tostringtag": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-glob": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||
@@ -920,6 +1280,21 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-nan": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
|
||||
"integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.0",
|
||||
"define-properties": "^1.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-number": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||
@@ -934,6 +1309,77 @@
|
||||
"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
|
||||
"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
|
||||
},
|
||||
"node_modules/is-typed-array": {
|
||||
"version": "1.1.12",
|
||||
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
|
||||
"integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
|
||||
"dependencies": {
|
||||
"which-typed-array": "^1.1.11"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/javascript-obfuscator": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/javascript-obfuscator/-/javascript-obfuscator-4.1.0.tgz",
|
||||
"integrity": "sha512-ckC0VFKQ0/sFtLH9apW/ZLfsP8LuZqZhVEM4VTJ5KLzyLaodW6C1lTU8808eboDmddKyvd2uyRx5bzc0Me0GYg==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@javascript-obfuscator/escodegen": "2.3.0",
|
||||
"@javascript-obfuscator/estraverse": "5.4.0",
|
||||
"acorn": "8.8.2",
|
||||
"assert": "2.0.0",
|
||||
"chalk": "4.1.2",
|
||||
"chance": "1.1.9",
|
||||
"class-validator": "0.14.0",
|
||||
"commander": "10.0.0",
|
||||
"eslint-scope": "7.1.1",
|
||||
"eslint-visitor-keys": "3.3.0",
|
||||
"fast-deep-equal": "3.1.3",
|
||||
"inversify": "6.0.1",
|
||||
"js-string-escape": "1.0.1",
|
||||
"md5": "2.3.0",
|
||||
"mkdirp": "2.1.3",
|
||||
"multimatch": "5.0.0",
|
||||
"opencollective-postinstall": "2.0.3",
|
||||
"process": "0.11.10",
|
||||
"reflect-metadata": "0.1.13",
|
||||
"source-map-support": "0.5.21",
|
||||
"string-template": "1.0.0",
|
||||
"stringz": "2.1.0",
|
||||
"tslib": "2.5.0"
|
||||
},
|
||||
"bin": {
|
||||
"javascript-obfuscator": "bin/javascript-obfuscator"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.0.0 || ^16.0.0 || ^17.0.0 || >=18.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/javascript-obfuscator"
|
||||
}
|
||||
},
|
||||
"node_modules/javascript-obfuscator/node_modules/commander": {
|
||||
"version": "10.0.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz",
|
||||
"integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==",
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/js-string-escape": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
|
||||
"integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/jsdom": {
|
||||
"version": "23.0.1",
|
||||
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.0.1.tgz",
|
||||
@@ -973,6 +1419,23 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/levn": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
|
||||
"integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
|
||||
"dependencies": {
|
||||
"prelude-ls": "~1.1.2",
|
||||
"type-check": "~0.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/libphonenumber-js": {
|
||||
"version": "1.10.51",
|
||||
"resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.51.tgz",
|
||||
"integrity": "sha512-vY2I+rQwrDQzoPds0JeTEpeWzbUJgqoV0O4v31PauHBb/e+1KCXKylHcDnBMgJZ9fH9mErsEbROJY3Z3JtqEmg=="
|
||||
},
|
||||
"node_modules/lower-case": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
|
||||
@@ -990,6 +1453,16 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/md5": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
|
||||
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
|
||||
"dependencies": {
|
||||
"charenc": "0.0.2",
|
||||
"crypt": "0.0.2",
|
||||
"is-buffer": "~1.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/mdn-data": {
|
||||
"version": "2.0.30",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
|
||||
@@ -1061,7 +1534,6 @@
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
},
|
||||
@@ -1069,11 +1541,43 @@
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/mkdirp": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.3.tgz",
|
||||
"integrity": "sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==",
|
||||
"bin": {
|
||||
"mkdirp": "dist/cjs/src/bin.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
||||
},
|
||||
"node_modules/multimatch": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz",
|
||||
"integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==",
|
||||
"dependencies": {
|
||||
"@types/minimatch": "^3.0.3",
|
||||
"array-differ": "^3.0.0",
|
||||
"array-union": "^2.1.0",
|
||||
"arrify": "^2.0.1",
|
||||
"minimatch": "^3.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/negotiator": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
||||
@@ -1178,6 +1682,29 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/object-is": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
|
||||
"integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.2",
|
||||
"define-properties": "^1.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/object-keys": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/on-finished": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
||||
@@ -1189,6 +1716,30 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/opencollective-postinstall": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz",
|
||||
"integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==",
|
||||
"bin": {
|
||||
"opencollective-postinstall": "index.js"
|
||||
}
|
||||
},
|
||||
"node_modules/optionator": {
|
||||
"version": "0.8.3",
|
||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
|
||||
"integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
|
||||
"dependencies": {
|
||||
"deep-is": "~0.1.3",
|
||||
"fast-levenshtein": "~2.0.6",
|
||||
"levn": "~0.3.0",
|
||||
"prelude-ls": "~1.1.2",
|
||||
"type-check": "~0.3.2",
|
||||
"word-wrap": "~1.2.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/param-case": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
|
||||
@@ -1233,6 +1784,22 @@
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/prelude-ls": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
||||
"integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/process": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-addr": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||
@@ -1325,6 +1892,11 @@
|
||||
"node": ">=8.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/reflect-metadata": {
|
||||
"version": "0.1.13",
|
||||
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
|
||||
"integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
|
||||
},
|
||||
"node_modules/relateurl": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
|
||||
@@ -1528,6 +2100,19 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/string-template": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz",
|
||||
"integrity": "sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg=="
|
||||
},
|
||||
"node_modules/stringz": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/stringz/-/stringz-2.1.0.tgz",
|
||||
"integrity": "sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==",
|
||||
"dependencies": {
|
||||
"char-regex": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
@@ -1602,6 +2187,22 @@
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
|
||||
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
|
||||
},
|
||||
"node_modules/type-check": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
|
||||
"integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
|
||||
"dependencies": {
|
||||
"prelude-ls": "~1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/type-is": {
|
||||
"version": "1.6.18",
|
||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
||||
@@ -1661,6 +2262,18 @@
|
||||
"requires-port": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/util": {
|
||||
"version": "0.12.5",
|
||||
"resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
|
||||
"integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
|
||||
"dependencies": {
|
||||
"inherits": "^2.0.3",
|
||||
"is-arguments": "^1.0.4",
|
||||
"is-generator-function": "^1.0.7",
|
||||
"is-typed-array": "^1.1.3",
|
||||
"which-typed-array": "^1.1.2"
|
||||
}
|
||||
},
|
||||
"node_modules/utils-merge": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||
@@ -1669,6 +2282,26 @@
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
|
||||
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
|
||||
"funding": [
|
||||
"https://github.com/sponsors/broofa",
|
||||
"https://github.com/sponsors/ctavan"
|
||||
],
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/validator": {
|
||||
"version": "13.11.0",
|
||||
"resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz",
|
||||
"integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==",
|
||||
"engines": {
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/vary": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||
@@ -1738,6 +2371,32 @@
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/which-typed-array": {
|
||||
"version": "1.1.13",
|
||||
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
|
||||
"integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
|
||||
"dependencies": {
|
||||
"available-typed-arrays": "^1.0.5",
|
||||
"call-bind": "^1.0.4",
|
||||
"for-each": "^0.3.3",
|
||||
"gopd": "^1.0.1",
|
||||
"has-tostringtag": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/word-wrap": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
|
||||
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.14.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
|
||||
|
||||
+3
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "polaris",
|
||||
"version": "1.0.0",
|
||||
"description": "The future of school gaming.",
|
||||
"description": "The future of school gaming",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
@@ -15,9 +15,10 @@
|
||||
"easyviolet": "github:Russell2259/Easyviolet",
|
||||
"express": "*",
|
||||
"html-minifier": "^4.0.0",
|
||||
"javascript-obfuscator": "^4.1.0",
|
||||
"jsdom": "^23.0.1",
|
||||
"mime": "*",
|
||||
"uglify-js": "^3.17.4"
|
||||
"uuid": "^9.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^3.0.1"
|
||||
|
||||
+21
-22
@@ -1,30 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
|
||||
<title>404 Error | Polaris</title>
|
||||
</head>
|
||||
<title>404 Error | Polaris</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content box">
|
||||
<h1 style="font-size: 50px;">404</h1>
|
||||
|
||||
<p>Looks you found a page that does not exist! Try checking your url for spelling mistakes.<br><br>Or, you can report it in our <a href="//dsc.gg/skoolworld">discord server</a>.</p>
|
||||
</div>
|
||||
<body>
|
||||
<div class="content box">
|
||||
<h1 style="font-size: 50px;">404</h1>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<script src='https://cdn.jsdelivr.net/npm/@widgetbot/crate@3' async defer>
|
||||
new Crate({
|
||||
server: '950407933408198717',
|
||||
channel: '1172313771985870938'
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
<p>
|
||||
Looks you found a page that does not exist! Try checking your url for spelling mistakes.
|
||||
<br>
|
||||
<br>
|
||||
Or, you can report it in our <a href="https://dsc.gg/skoolworld" class="link">discord server</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<title>Loading...</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+1
-1
@@ -5,7 +5,7 @@ services:
|
||||
plan: free
|
||||
runtime: node
|
||||
buildCommand: npm i
|
||||
startCommand: node index.js
|
||||
startCommand: npm start
|
||||
envVars:
|
||||
- key: NODE_VERSION
|
||||
value: 20.0.0
|
||||
|
||||
+38
-56
@@ -1,12 +1,10 @@
|
||||
import { createBareServer } from '@tomphttp/bare-server-node';
|
||||
import { minify } from 'html-minifier';
|
||||
import { JSDOM } from 'jsdom';
|
||||
import UglifyJS from 'uglify-js';
|
||||
import express from 'express';
|
||||
import mime from 'mime';
|
||||
import cors from 'cors';
|
||||
|
||||
import { pathToFile } from './utils.js';
|
||||
import { pathToFile, TokenManager, rewriter } from './utils.js';
|
||||
import config from '../config.js';
|
||||
|
||||
import path from 'node:path';
|
||||
import http from 'node:http';
|
||||
@@ -16,21 +14,9 @@ import fs from 'node:fs';
|
||||
const app = express();
|
||||
const server = http.createServer();
|
||||
const bareServer = createBareServer('/bare/');
|
||||
|
||||
const port = process.env.PORT || process.argv[2] || 8080;
|
||||
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
||||
|
||||
let navbar = fs.readFileSync('./templates/navbar.html', 'utf-8');
|
||||
let meta = fs.readFileSync('./templates/meta.html', 'utf-8');
|
||||
|
||||
/*fs.readdirSync('./pages').forEach(file => {
|
||||
let fileData = fs.readFileSync('./pages/' + file, 'utf-8');
|
||||
fileData = fileData.replace('<body>', '<body> ' + navbar).replace('</head>', meta + '</head>');
|
||||
app.get(`/${file.split('.')[0] === 'index' ? '' : file.split('.')[0]}`, (req, res) => res.status(200).send(fileData));
|
||||
});*/
|
||||
|
||||
//app.use(express.static(path.join(__dirname, '../static'), { extensions: ['html'] }));
|
||||
|
||||
app.get('/cdn/*', cors({
|
||||
origin: false
|
||||
}), async (req, res, next) => {
|
||||
@@ -51,57 +37,53 @@ app.get('/cdn/*', cors({
|
||||
} else next();
|
||||
});
|
||||
|
||||
app.use((req, res, next) => {
|
||||
app.get('/asset', (req, res, next) => {
|
||||
if (req.query.asset) {
|
||||
const {
|
||||
exists,
|
||||
path: filePath
|
||||
} = pathToFile(req.query.asset, path.join(__dirname, '../static/assets'));
|
||||
|
||||
if (exists) {
|
||||
if (filePath.startsWith(path.join(__dirname, '../static/assets'))) res.setHeader('content-type', mime.getType(filePath)).end(fs.readFileSync(filePath));
|
||||
else next();
|
||||
} else next();
|
||||
} else next();
|
||||
});
|
||||
|
||||
app.get('/asset/:token', async (req, res, next) => {
|
||||
if (req.params.token && !req.query.asset) {
|
||||
if (TokenManager.exists(req.params.token)) {
|
||||
const token = TokenManager.get(req.params.token);
|
||||
|
||||
if (TokenManager.get(req.params.token).type === 'asset') {
|
||||
TokenManager.delete(req.params.token);
|
||||
|
||||
res.setHeader('content-type', token.data.type);
|
||||
res.end(await rewriter.auto(fs.readFileSync(token.data.asset), token.data.type));
|
||||
} else next();
|
||||
} else next();
|
||||
}
|
||||
});
|
||||
|
||||
app.get('/uv/*', (req, res) => res.setHeader('Service-Worker-Allowed', 'true'));
|
||||
|
||||
app.use(async (req, res, next) => {
|
||||
const {
|
||||
exists,
|
||||
path: filePath
|
||||
} = pathToFile(req.path, path.join(__dirname, '../static'));
|
||||
|
||||
res.setHeader('Service-Worker-Allowed', 'true');
|
||||
|
||||
if (exists) {
|
||||
res.setHeader('content-type', mime.getType(filePath));
|
||||
|
||||
if (mime.getType(filePath) === 'text/html') {
|
||||
const html = fs.readFileSync(filePath).toString().split('<body>');
|
||||
|
||||
html[0] += fs.readFileSync('./templates/navbar.html').toString();
|
||||
|
||||
const dom = new JSDOM(html.join('<body>'));
|
||||
|
||||
dom.window.document.documentElement.querySelectorAll('script').forEach(script => {
|
||||
if (script) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
res.setHeader('content-type', 'text/html');
|
||||
res.end(minify(dom.serialize(), {
|
||||
minifyJS: true,
|
||||
minifyCSS: true,
|
||||
minifyURLs: true,
|
||||
removeScriptTypeAttributes: true,
|
||||
useShortDoctype: true,
|
||||
collapseWhitespace: true,
|
||||
removeComments: true
|
||||
}));
|
||||
} else if (mime.getType(filePath) === 'text/javascript') res.end(UglifyJS.minify(fs.readFileSync(filePath).toString()).code);
|
||||
if (mime.getType(filePath) === 'text/html') res.end(await rewriter.html(fs.readFileSync(filePath)));
|
||||
else if (mime.getType(filePath) === 'text/javascript') res.end(await rewriter.javascript(fs.readFileSync(filePath)));
|
||||
else if (mime.getType(filePath) === 'text/css') res.end(await rewriter.css(fs.readFileSync(filePath)));
|
||||
else res.sendFile(filePath);
|
||||
} else {
|
||||
const html = fs.readFileSync(path.join(__dirname, '../pages/404.html')).toString().split('<body>');
|
||||
|
||||
html[0] += fs.readFileSync('./templates/navbar.html').toString()
|
||||
|
||||
res.setHeader('content-type', 'text/html');
|
||||
res.end(minify(html.join('<body>'), {
|
||||
minifyJS: true,
|
||||
minifyCSS: true,
|
||||
minifyURLs: true,
|
||||
removeScriptTypeAttributes: true,
|
||||
useShortDoctype: true,
|
||||
collapseWhitespace: true,
|
||||
removeComments: true
|
||||
}));
|
||||
res.status(404).end(await rewriter.html(fs.readFileSync(path.join(__dirname, '../pages/404.html'))));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
+12
-1
@@ -1,3 +1,6 @@
|
||||
import * as rewriter from './utils/rewriter.js';
|
||||
import TokenManager from './utils/token.js';
|
||||
|
||||
import path from 'node:path';
|
||||
import fs from 'node:fs';
|
||||
|
||||
@@ -18,6 +21,14 @@ const pathToFile = (url = '', folderPath) => {
|
||||
};
|
||||
};
|
||||
|
||||
export default {
|
||||
pathToFile,
|
||||
TokenManager,
|
||||
rewriter
|
||||
};
|
||||
|
||||
export {
|
||||
pathToFile
|
||||
pathToFile,
|
||||
TokenManager,
|
||||
rewriter
|
||||
};
|
||||
@@ -0,0 +1,172 @@
|
||||
import JavaScriptObfuscator from 'javascript-obfuscator';
|
||||
import { minify as minifyHTML } from 'html-minifier';
|
||||
import { JSDOM } from 'jsdom';
|
||||
import mime from 'mime';
|
||||
|
||||
import { TokenManager } from '../utils.js';
|
||||
import config from '../../config.js';
|
||||
|
||||
import path from 'node:path';
|
||||
import url from 'node:url';
|
||||
import fs from 'node:fs';
|
||||
|
||||
const __dirname = url.fileURLToPath(new URL('../', import.meta.url));
|
||||
|
||||
const html = (data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
var html = String(data);
|
||||
|
||||
const templates = html.split('<!--el:')
|
||||
.map(data => {
|
||||
if (data.split('\n')[0].trim().endsWith('-->')) return data.split('\n')[0].trim().replace('-->', '');
|
||||
else return undefined;
|
||||
})
|
||||
.filter(data => fs.existsSync(path.join(__dirname, '../templates', data + '.html')))
|
||||
.map(data => {
|
||||
return {
|
||||
name: data,
|
||||
file: fs.readFileSync(path.join(__dirname, '../templates', data + '.html'))
|
||||
};
|
||||
});
|
||||
|
||||
templates.forEach(template => {
|
||||
html = html.replace(`<!--el:${template.name}-->`, template.file.toString());
|
||||
});
|
||||
|
||||
const dom = new JSDOM(html);
|
||||
|
||||
if (config.assetScrambling) {
|
||||
for (let i = 0; i < dom.window.document.documentElement.querySelectorAll('script').length; i++) {
|
||||
const script = dom.window.document.documentElement.querySelectorAll('script')[i];
|
||||
|
||||
if (script.src.startsWith('/') && !script.src.startsWith('//')) script.setAttribute('src', `/asset/${TokenManager.generate('asset', 20000, {
|
||||
asset: path.join(__dirname, '../static', script.src),
|
||||
type: 'application/javascript'
|
||||
}).token}`);
|
||||
}
|
||||
|
||||
for (let i = 0; i < dom.window.document.documentElement.querySelectorAll('link[rel="stylesheet"]').length; i++) {
|
||||
const css = dom.window.document.documentElement.querySelectorAll('link[rel="stylesheet"]')[i];
|
||||
|
||||
if (css.href.startsWith('/') && !css.href.startsWith('//')) css.setAttribute('href', `/asset/${TokenManager.generate('asset', 20000, {
|
||||
asset: path.join(__dirname, '../static', css.href),
|
||||
type: 'text/css'
|
||||
}).token}`);
|
||||
}
|
||||
|
||||
for (let i = 0; i < dom.window.document.documentElement.querySelectorAll('img').length; i++) {
|
||||
const img = dom.window.document.documentElement.querySelectorAll('img')[i];
|
||||
|
||||
if (img.src.startsWith('/') && !img.src.startsWith('//')) img.setAttribute('src', `/asset/${TokenManager.generate('asset', 20000, {
|
||||
asset: path.join(__dirname, '../static', img.src),
|
||||
type: mime.getType(path.join(__dirname, '../static', img.src))
|
||||
}).token}`);
|
||||
}
|
||||
}
|
||||
|
||||
if (config.minify) resolve(minifyHTML(dom.serialize(), {
|
||||
minifyJS: true,
|
||||
minifyCSS: true,
|
||||
minifyURLs: true,
|
||||
removeScriptTypeAttributes: true,
|
||||
useShortDoctype: true,
|
||||
collapseWhitespace: true,
|
||||
removeComments: true
|
||||
}))
|
||||
else resolve(dom.serialize());
|
||||
});
|
||||
};
|
||||
|
||||
const javascript = (data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const imports = String(data).split('import ')
|
||||
.map(data => data.split('from ')[1])
|
||||
.filter(data => Boolean(data))
|
||||
.map(data => data.split(';')[0]
|
||||
.replaceAll('\'', '')
|
||||
.replaceAll('`', '')
|
||||
.replaceAll('"', ''));
|
||||
|
||||
|
||||
let javascript = String(data);
|
||||
|
||||
if (config.assetScrambling) {
|
||||
for (let i = 0; i < imports.length; i++) {
|
||||
javascript = javascript.replace(imports[i], '/asset/' + TokenManager.generate('asset', 20000, {
|
||||
asset: path.join(__dirname, '../static', imports[i]),
|
||||
type: 'text/javascript'
|
||||
}).token);
|
||||
}
|
||||
}
|
||||
|
||||
if (config.minify) resolve(JavaScriptObfuscator.obfuscate(javascript,
|
||||
{
|
||||
compact: true,
|
||||
controlFlowFlattening: true,
|
||||
controlFlowFlatteningThreshold: 1,
|
||||
numbersToExpressions: true,
|
||||
simplify: true,
|
||||
stringArrayShuffle: true,
|
||||
splitStrings: true,
|
||||
stringArrayThreshold: 1
|
||||
}).getObfuscatedCode());
|
||||
else resolve(javascript);
|
||||
});
|
||||
};
|
||||
|
||||
const css = (data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const imports = String(data).split('url(')
|
||||
.map(data => {
|
||||
if (data.split('\n')[0].split(' ')[0].replace(';', '').trim().endsWith(')')) return data.split('\n')[0]
|
||||
.split(' ')[0]
|
||||
.trim()
|
||||
.replace(';', '')
|
||||
.replace(')', '')
|
||||
.replaceAll('\'', '')
|
||||
.replaceAll('`', '')
|
||||
.replaceAll('"', '');
|
||||
else return undefined;
|
||||
})
|
||||
.filter(data => {
|
||||
if (data) {
|
||||
try {
|
||||
new URL(data);
|
||||
|
||||
return false;
|
||||
} catch (e) {
|
||||
if (data.startsWith('/')) return true;
|
||||
else return false;
|
||||
}
|
||||
} else return false;
|
||||
});
|
||||
|
||||
let css = String(data);
|
||||
|
||||
if (config.assetScrambling) {
|
||||
for (let i = 0; i < imports.length; i++) {
|
||||
css = css.replace(imports[i], '/asset/' + TokenManager.generate('asset', 20000, {
|
||||
asset: path.join(__dirname, '../static', imports[i]),
|
||||
type: mime.getType(path.join(__dirname, '../static', imports[i]))
|
||||
}).token);
|
||||
}
|
||||
}
|
||||
|
||||
if (config.minify) resolve(css.replace(/(\r\n|\n|\r)/gm, '').replaceAll(' ', ' '));
|
||||
else resolve(css);
|
||||
});
|
||||
};
|
||||
|
||||
const auto = async (data, type) => {
|
||||
if (type === 'text/html') return await html(data);
|
||||
else if (type === 'text/javascript' || type === 'application/javascript') return await javascript(data);
|
||||
else if (type === 'text/css') return await css(data);
|
||||
else return data;
|
||||
};
|
||||
|
||||
export {
|
||||
auto,
|
||||
html,
|
||||
javascript,
|
||||
css
|
||||
};
|
||||
@@ -0,0 +1,79 @@
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
class TokenManager {
|
||||
constructor() {
|
||||
this.tokens = {};
|
||||
|
||||
setInterval(() => {
|
||||
const currentDate = Date.now();
|
||||
|
||||
Object.keys(this.tokens).forEach(key => {
|
||||
const token = this.tokens[key];
|
||||
|
||||
if (currentDate > token.expires) delete this.tokens[key];
|
||||
});
|
||||
}, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a token
|
||||
* @param {string} type The type of token you are generating
|
||||
* @param {number} expires How long it will take for the token to expire in miliseconds
|
||||
* @param {object | string} data The data to be stored with the token
|
||||
* @returns {{token: number, expires: number}} The token data
|
||||
*/
|
||||
generate = (type, expires, data) => {
|
||||
const token = uuid();
|
||||
|
||||
this.tokens[token] = {
|
||||
token: token,
|
||||
type: type,
|
||||
expires: Date.now() + expires,
|
||||
data: data
|
||||
}
|
||||
|
||||
return {
|
||||
token: token,
|
||||
expires: Date.now() + expires
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a token exists
|
||||
* @param {string} token The token
|
||||
* @returns {boolean}
|
||||
*/
|
||||
exists = (token) => {
|
||||
return this.tokens[token] ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all tokens in a category
|
||||
* @param {string} type The token category
|
||||
* @returns {Array.<{token: stromg, type: string, expires: number, data: object | string}>} The list of tokens
|
||||
*/
|
||||
getAll = (type) => {
|
||||
const tokens = [];
|
||||
|
||||
Object.keys(this.tokens).forEach(key => {
|
||||
const token = this.tokens[key];
|
||||
|
||||
if (token.type == type) tokens.push(token);
|
||||
});
|
||||
|
||||
return tokens;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get token information from a token
|
||||
* @param {string} token The token
|
||||
* @returns {{token: stromg, type: string, expires: number, data: object | string}} Token data
|
||||
*/
|
||||
get = (token) => {
|
||||
return this.tokens[token];
|
||||
}
|
||||
|
||||
delete = (token) => delete this.tokens[token];
|
||||
}
|
||||
|
||||
export default new TokenManager();
|
||||
+26
-27
@@ -1,6 +1,6 @@
|
||||
<head>
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080"
|
||||
crossorigin="anonymous"></script>
|
||||
<!--el:meta-->
|
||||
<!--el:analytics-->
|
||||
</head>
|
||||
<style>
|
||||
[data-custom-class='body'],
|
||||
@@ -943,8 +943,8 @@ line-height:115%;">
|
||||
style="line-height: 115%; font-family: Arial; font-size: 19px;">7.</span></strong></span> </strong>SUBMISSIONS</span></strong>
|
||||
</div>
|
||||
<div style="line-height: 1;"><br></div>
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">You acknowledge and agree that any questions, comments,
|
||||
suggestions, ideas, feedback, or other information regarding the Site ("Submissions") provided by you to us
|
||||
are non-confidential and shall become our sole property. We shall own exclusive rights, including all
|
||||
@@ -965,7 +965,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">You acknowledge a
|
||||
style="line-height: 115%; font-family: Arial; font-size: 19px;">8.</span></strong></span> </strong>THIRD-PARTY
|
||||
WEBSITE AND CONTENT</span></strong></div>
|
||||
<div style="line-height: 1;"><br></div>
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">The Site may contain (or you may be sent via the Site)
|
||||
links to other websites ("Third-Party Websites") as well as articles, photographs, text, graphics, pictures,
|
||||
designs, music, sound, video, information, applications, software, and other content or items belonging to or
|
||||
@@ -1013,7 +1013,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">The Site may cont
|
||||
<bdt class="block-container if" data-type="if">
|
||||
<bdt data-type="conditional-block">
|
||||
<bdt data-type="body">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We allow advertisers to display their advertisements and
|
||||
other information in certain areas of the Site, such as sidebar advertisements or banner advertisements.
|
||||
If you are an advertiser, you shall take full responsibility for any advertisements you place on the
|
||||
@@ -1051,7 +1051,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We allow advertis
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left; line-height: 1.5;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We reserve the
|
||||
right, but not the obligation, to: (1) monitor the Site for violations of
|
||||
these Terms of Use; (2) take appropriate legal action against anyone who, in
|
||||
@@ -1082,7 +1082,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We reserve the
|
||||
POLICY</span></strong>
|
||||
</div>
|
||||
<div class="MsoNormal" style="line-height: 1;"><br></div>
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We care about data privacy and security. </span><span
|
||||
style="color: rgb(89, 89, 89); font-size: 14.6667px;">Please review our Privacy Policy:</span><b
|
||||
style="color: rgb(89, 89, 89); font-size: 14.6667px;"> <bdt
|
||||
@@ -1210,7 +1210,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We care about dat
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">If we terminate
|
||||
or suspend your account for any reason, you are prohibited from registering and
|
||||
creating a new account under your name, a fake or borrowed name, or the name of
|
||||
@@ -1231,7 +1231,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">If we terminate
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We reserve the right to change, modify, or remove the
|
||||
contents of the Site at any time or for any reason at our sole discretion without notice. However, we have no
|
||||
obligation to update any information on our Site. We also reserve the right to modify or discontinue all or part
|
||||
@@ -1240,7 +1240,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We reserve the ri
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We cannot guarantee
|
||||
the Site will be available at all times. We may experience hardware, software,
|
||||
or other problems or need to perform maintenance related to the Site, resulting
|
||||
@@ -1265,7 +1265,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We cannot guarant
|
||||
<div class="MsoNormal" style="line-height: 115%;">
|
||||
<bdt class="block-component"><span style="font-size: 15px;"></span></bdt>
|
||||
</div>
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">These Terms of Use and your use of the Site are governed
|
||||
by and construed in accordance with the laws of <bdt class="block-container if" data-type="if"
|
||||
id="b86653c1-52f0-c88c-a218-e300b912dd6b">
|
||||
@@ -1278,7 +1278,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">These Terms of Us
|
||||
<bdt class="statement-end-if-in-editor" data-type="close"></bdt>
|
||||
</bdt> applicable to agreements made and to be entirely performed within<bdt class="block-container if"
|
||||
data-type="if" id="b86653c1-52f0-c88c-a218-e300b912dd6b" style="font-size: 14.6667px;">
|
||||
<bdt data-type="conditional-block"> <span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<bdt data-type="conditional-block"> <span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
<bdt class="block-container if" data-type="if" id="b86653c1-52f0-c88c-a218-e300b912dd6b">
|
||||
<bdt data-type="conditional-block">
|
||||
@@ -1556,7 +1556,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">There may be
|
||||
information on the Site that contains typographical errors, inaccuracies, or
|
||||
omissions, including descriptions, pricing, availability, and various other
|
||||
@@ -1576,7 +1576,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">There may be
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">THE SITE IS PROVIDED
|
||||
ON AN AS-IS AND AS-AVAILABLE BASIS. YOU
|
||||
AGREE THAT YOUR USE OF THE SITE AND OUR SERVICES WILL BE AT YOUR SOLE RISK. TO THE
|
||||
@@ -1616,7 +1616,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">THE SITE IS PROVI
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">IN NO EVENT WILL WE OR OUR DIRECTORS, EMPLOYEES, OR
|
||||
AGENTS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL,
|
||||
SPECIAL, OR PUNITIVE DAMAGES, INCLUDING LOST PROFIT, LOST REVENUE, LOSS OF DATA, OR OTHER DAMAGES ARISING FROM
|
||||
@@ -1663,7 +1663,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">IN NO EVENT WILL
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">You agree to
|
||||
defend, indemnify, and hold us harmless, including our subsidiaries,
|
||||
affiliates, and all of our respective officers, agents, partners, and
|
||||
@@ -1701,7 +1701,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">You agree to
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We will maintain
|
||||
certain data that you transmit to the Site for the purpose of managing the
|
||||
performance of the Site, as well as data relating to your use of the Site. Although we perform regular routine
|
||||
@@ -1724,7 +1724,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">We will maintain
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">Visiting the Site, sending us emails, and completing
|
||||
online forms constitute electronic communications. You consent to receive electronic communications, and you
|
||||
agree that all agreements, notices, disclosures, and other communications we provide to you electronically,
|
||||
@@ -1736,7 +1736,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">Visiting the Site
|
||||
payments or the granting of credits by any means other than electronic means.</span></div>
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><br></div>
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><br></div>
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
<bdt class="block-component"></bdt>
|
||||
</span></div>
|
||||
@@ -1749,7 +1749,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">If any complaint
|
||||
with us is not satisfactorily resolved, you can contact the Complaint
|
||||
Assistance Unit of the Division of Consumer Services of the California
|
||||
@@ -1758,8 +1758,8 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">If any complaint
|
||||
445-1254.</span></div>
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><br></div>
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><br></div>
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
<bdt class="statement-end-if-in-editor"></bdt>
|
||||
</span></span></div>
|
||||
@@ -1772,7 +1772,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">These Terms of Use and any policies or operating rules
|
||||
posted by us on the Site or in respect to the Site constitute the entire agreement and understanding between
|
||||
you and us. Our failure to exercise or enforce any right or provision of these Terms of Use shall not operate
|
||||
@@ -1786,7 +1786,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">These Terms of Us
|
||||
use of the Site. You agree that these Terms of Use will not be construed against us by virtue of having
|
||||
drafted them. You hereby waive any and all defenses you may have based on the electronic form of these Terms
|
||||
of Use and the lack of signing by the parties hereto to execute these Terms of Use.</span></div>
|
||||
<div class="MsoNormal" style="line-height: 1;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
<div class="MsoNormal" style="line-height: 1;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
<bdt class="block-component"></bdt>
|
||||
</span></div>
|
||||
@@ -1802,8 +1802,7 @@ Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
<div align="center" style="text-align: left;">
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family:Arial;
|
||||
Calibri;color:#595959;mso-themecolor:text1;mso-themetint:166;">In order to resolve a complaint regarding the Site or to
|
||||
<div class="MsoNormal" data-custom-class="body_text" style="line-height: 1.5;"><span style="font-size:11.0pt;line-height:115%;font-family: Arial;color:#595959;mso-themecolor:text1;mso-themetint:166;">In order to resolve a complaint regarding the Site or to
|
||||
receive further information regarding use of the Site, please contact us at:</span></div>
|
||||
</div>
|
||||
<div align="center" style="text-align: left; line-height: 1;"><br></div>
|
||||
|
||||
+35
-38
@@ -1,44 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<script src="https://cdn.counter.dev/script.js" data-id="b0b2d4b2-daca-47e1-9287-b9e649b3dcd2" data-utcoffset="-5"></script>
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080"
|
||||
crossorigin="anonymous"></script>
|
||||
<title>Apps | Polaris</title>
|
||||
<script data-cfasync="false">window.nitroAds=window.nitroAds||{createAd:function(){return new Promise(e=>{window.nitroAds.queue.push(["createAd",arguments,e])})},addUserToken:function(){window.nitroAds.queue.push(["addUserToken",arguments])},queue:[]};</script>
|
||||
<script data-cfasync="false" async src="https://s.nitropay.com/ads-1751.js"></script>
|
||||
</head>
|
||||
<head>
|
||||
<!--el:meta-->
|
||||
<!--el:adtop-->
|
||||
<!--el:analytics-->
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1>Apps</h1>
|
||||
<br>
|
||||
<div class="apps"></div>
|
||||
</div>
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<span data-ccpa-link="1"></span>
|
||||
<script>
|
||||
window['nitroAds'].createAd('anchorad', {
|
||||
"refreshTime": 30,
|
||||
"format": "anchor",
|
||||
"anchor": "bottom",
|
||||
"anchorPersistClose": false,
|
||||
"report": {
|
||||
"enabled": true,
|
||||
"icon": true,
|
||||
"wording": "Report Ad",
|
||||
"position": "top-right"
|
||||
},
|
||||
"mediaQuery": "(min-width: 1025px)"
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
<title>Apps | Polaris</title>
|
||||
</head>
|
||||
|
||||
</html>
|
||||
<body>
|
||||
<!--el:navbar-->
|
||||
|
||||
<div class="content">
|
||||
<h1>Apps</h1>
|
||||
<br>
|
||||
<div class="apps"></div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<script>
|
||||
window['nitroAds'].createAd('anchorad', {
|
||||
"refreshTime": 30,
|
||||
"format": "anchor",
|
||||
"anchor": "bottom",
|
||||
"anchorPersistClose": false,
|
||||
"report": {
|
||||
"enabled": true,
|
||||
"icon": true,
|
||||
"wording": "Report Ad",
|
||||
"position": "top-right"
|
||||
},
|
||||
"mediaQuery": "(min-width: 1025px)"
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+46
-112
@@ -19,6 +19,7 @@ body {
|
||||
color: var(--text);
|
||||
text-align: center;
|
||||
padding-top: 20vh;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
html {
|
||||
@@ -71,7 +72,8 @@ body::-webkit-scrollbar-corner {
|
||||
|
||||
.row.mainpage {
|
||||
position: absolute;
|
||||
top: 10vh;
|
||||
margin-top: 0px;
|
||||
top: calc(calc(9vh + 2.5em) + 100px);
|
||||
bottom: 50px;
|
||||
}
|
||||
|
||||
@@ -103,49 +105,10 @@ hr {
|
||||
background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
|
||||
}
|
||||
|
||||
|
||||
.welcome {
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: 3vh;
|
||||
}
|
||||
|
||||
.settings-input {
|
||||
text-align: center;
|
||||
box-shadow: 0.5vh 0.5vh 1vh 0vh var(--shadow-color);
|
||||
border: none;
|
||||
border-radius: 2vh;
|
||||
cursor: pointer;
|
||||
background: var(--sidebar-bg);
|
||||
width: 25vh;
|
||||
height: 4vh;
|
||||
color: var(--text);
|
||||
transition: 0.4s;
|
||||
margin: auto;
|
||||
margin-top: 2vh;
|
||||
}
|
||||
|
||||
.proxycontainer {
|
||||
background-color: var(--background-color);
|
||||
box-shadow: 0.5vh 0.5vh 1vh 0vh var(--shadow-color);
|
||||
width: 60vw;
|
||||
height: 30vh;
|
||||
margin: auto;
|
||||
margin-top: 10vh;
|
||||
padding-top: 1vh;
|
||||
padding-bottom: 2vh;
|
||||
padding-left: 1.5vh;
|
||||
padding-right: 1.5vh;
|
||||
border-radius: 2vh;
|
||||
color: var(--text);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.proxytitle {
|
||||
margin-bottom: 1vh;
|
||||
font-size: 5.5vh;
|
||||
@@ -168,7 +131,7 @@ hr {
|
||||
width: 55vw;
|
||||
height: 6vh;
|
||||
color: var(--text);
|
||||
transition: 0.4s;
|
||||
transition: 0.5s;
|
||||
margin: auto;
|
||||
margin-top: 2vh;
|
||||
}
|
||||
@@ -176,54 +139,39 @@ hr {
|
||||
button {
|
||||
text-align: center;
|
||||
border: none;
|
||||
border-radius: 1vh;
|
||||
border-radius: 1.5vh;
|
||||
cursor: pointer;
|
||||
background-color: var(--button-bg);
|
||||
color: var(--text);
|
||||
transition: 0.5s;
|
||||
font-size: 20px;
|
||||
font-family: 'Lato';
|
||||
padding: 5px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
input {
|
||||
text-align: center;
|
||||
box-shadow: 0.5vh 0.5vh 1vh 0vh var(--shadow-color);
|
||||
border: none;
|
||||
border-radius: 100px;
|
||||
cursor: pointer;
|
||||
background: var(--sidebar-bg);
|
||||
width: 25vh;
|
||||
height: 4vh;
|
||||
color: var(--text);
|
||||
transition: 0.4s;
|
||||
font-size: 2.5vh;
|
||||
font-family: 'Lato';
|
||||
transition: 0.5s;
|
||||
margin: auto;
|
||||
margin-top: 2vh;
|
||||
}
|
||||
|
||||
.mainpageimage-button {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
justify-content: center;
|
||||
width: 45vh;
|
||||
margin-top: 10vh;
|
||||
transition: all 0.4s ease;
|
||||
}
|
||||
|
||||
.mainpageimage-button:hover {
|
||||
transform: scale(1.025);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.mainpage-text {
|
||||
box-shadow: 0.5vh 0.5vh 1vh 0vh var(--shadow-color);
|
||||
background-color: var(--background-color);
|
||||
margin-right: 15vh;
|
||||
width: 75vh;
|
||||
height: 52vh;
|
||||
input::placeholder {
|
||||
color: var(--text);
|
||||
text-align: center;
|
||||
border-radius: 2vh;
|
||||
opacity: 0.9;
|
||||
padding: 2vh;
|
||||
line-height: 2vh;
|
||||
}
|
||||
|
||||
.mainpage-text>h1 {
|
||||
padding: 2vh;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.mainpage-text>p {
|
||||
padding: 3vh;
|
||||
margin: 0px;
|
||||
input:not(:read-only) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.blue {
|
||||
@@ -232,28 +180,6 @@ button {
|
||||
text-shadow: 0vh 0vh 1.5vh rgb(45, 129, 255);
|
||||
}
|
||||
|
||||
.chromebook-btn-div {
|
||||
box-shadow: 0.5vh 0.5vh 1vh 0vh var(--shadow-color);
|
||||
background-color: var(--background-color);
|
||||
width: 30vh;
|
||||
height: 4.3vh;
|
||||
color: var(--text);
|
||||
text-align: center;
|
||||
border-radius: 2vh;
|
||||
justify-content: center;
|
||||
padding: 0.5vh;
|
||||
margin: 0 auto;
|
||||
margin-top: 3vh;
|
||||
position: relative;
|
||||
opacity: 0.9;
|
||||
padding: 2vh;
|
||||
line-height: 2vh;
|
||||
}
|
||||
|
||||
.settings-button {
|
||||
box-shadow: 0.5vh 0.5vh 1vh 0vh var(--shadow-color);
|
||||
}
|
||||
|
||||
select {
|
||||
text-align: center;
|
||||
box-shadow: 0.5vh 0.5vh 1vh 0vh var(--shadow-color);
|
||||
@@ -264,7 +190,7 @@ select {
|
||||
min-width: 7vh;
|
||||
height: 4vh;
|
||||
color: var(--text);
|
||||
transition: 0.4s;
|
||||
transition: 0.5s;
|
||||
margin-left: 1vh;
|
||||
margin-right: 1vh;
|
||||
padding-left: 2vh;
|
||||
@@ -495,8 +421,6 @@ input:checked+.slider:before {
|
||||
background: var(--solid);
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
.notifications>.notification.error {
|
||||
background: rgba(171, 61, 222, 0.801);
|
||||
color: #fff;
|
||||
@@ -592,22 +516,32 @@ input:checked+.slider:before {
|
||||
border-radius: 2vh;
|
||||
color: var(--text);
|
||||
min-width: 40vw;
|
||||
margin: 50px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 0px;
|
||||
margin-left: 50px;
|
||||
margin-right: 25px;
|
||||
}
|
||||
|
||||
h1.nomargin {
|
||||
margin: 0px;
|
||||
.container.centered {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.container.left {
|
||||
margin-right: 25px;
|
||||
}
|
||||
|
||||
.container.right {
|
||||
margin-right: 50px;
|
||||
margin-left: 0;
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
h1.nomargin {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
img.featured {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@@ -621,12 +555,12 @@ img.featured {
|
||||
border-width: 0.5vh;
|
||||
border-radius: 2vh;
|
||||
border-color: rgba(0, 0, 0, 0);
|
||||
transition: border 0.4s linear;
|
||||
transition: border 0.5s linear;
|
||||
}
|
||||
|
||||
img.featured:hover {
|
||||
border-color: rgba(255, 255, 255, 1);
|
||||
transition: border 0.4s linear;
|
||||
transition: border 0.5s linear;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
@media (max-width:960px) {
|
||||
.navbar>.right {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar {
|
||||
box-shadow: 0vh 0.75vh 1.5vh 0vh var(--shadow-color);
|
||||
position: fixed;
|
||||
@@ -59,11 +65,15 @@
|
||||
padding: 0.8rem;
|
||||
cursor: pointer;
|
||||
font-size: 2.7vh;
|
||||
border-radius: 2vh;
|
||||
border-color: rgba( 0, 0, 0, 0);
|
||||
border-radius: 1.5vh;
|
||||
border-color: rgba(0, 0, 0, 0);
|
||||
transition: border-color 0.4s linear;
|
||||
}
|
||||
|
||||
.navbar>.right>a:hover {
|
||||
border-color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
.navbar>.right>a.active {
|
||||
border-color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
margin-top: calc(10vh + 50px);
|
||||
margin-top: calc(calc(9vh + 2.5em) + 100px);
|
||||
bottom: 50px;
|
||||
top: 0;
|
||||
right: -60vh;
|
||||
width: 50vh;
|
||||
height: 75vh;
|
||||
background: var(--sidebar-bg);
|
||||
background-color: var(--background-darker);
|
||||
border-radius: 2vh;
|
||||
box-shadow: 0vh 0.75vh 1.5vh 0vh var(--shadow-color);
|
||||
text-align: center;
|
||||
@@ -16,7 +16,7 @@
|
||||
}
|
||||
|
||||
.sidebar.active {
|
||||
right: calc(5vh + 25px);
|
||||
right: 50px;
|
||||
transition: all 0.5s ease;
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
top: 87vh;
|
||||
opacity: 0;
|
||||
z-index: 9999999999999999999;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sidebar>.scroll.active {
|
||||
|
||||
@@ -44,8 +44,8 @@ body[data-theme='flamingo'] {
|
||||
--scrollbar-color: rgba(0, 0, 0, 0.8);
|
||||
--solid: #FB5E4C;
|
||||
--hover: #ed58b4;
|
||||
background: linear-gradient(122deg, rgba(255, 41, 191, 1) 0%, rgba(215, 67, 46, 1) 85%);
|
||||
animation: flamingo-gradient 12s ease infinite;
|
||||
background: linear-gradient(304deg, rgb(255, 136, 0), rgb(245, 7, 226)) 0% 0% / 120% 120%;
|
||||
animation: 12s ease 0s infinite normal none running flamingo-gradient;
|
||||
|
||||
@keyframes flamingo-gradient {
|
||||
0% {
|
||||
|
||||
+11
-16
@@ -1,12 +1,12 @@
|
||||
import PolarisError from './error.js';
|
||||
import { workerLoaded, loadWorker } from './wpm.js';
|
||||
import PolarisError from '/assets/js/error.js';
|
||||
import { workerLoaded, loadWorker } from '/assets/js/wpm.js';
|
||||
|
||||
const tiltEffectSettings = {
|
||||
max: 8, // max tilt rotation (degrees (deg))
|
||||
perspective: 1000, // transform perspective, the lower the more extreme the tilt gets (pixels (px))
|
||||
scale: 1.05, // transform scale - 2 = 200%, 1.5 = 150%, etc..
|
||||
speed: 800, // speed (transition-duration) of the enter/exit transition (milliseconds (ms))
|
||||
easing: 'cubic-bezier(.03,.98,.52,.99)' // easing (transition-timing-function) of the enter/exit transition
|
||||
max: 8,
|
||||
perspective: 1000,
|
||||
scale: 1.05,
|
||||
speed: 800,
|
||||
easing: 'cubic-bezier(.03,.98,.52,.99)'
|
||||
};
|
||||
|
||||
const load = () => {
|
||||
@@ -47,13 +47,10 @@ function appMouseMove(event) {
|
||||
const mouseY = event.clientY - centerY;
|
||||
const rotateXUncapped = (+1) * tiltEffectSettings.max * mouseY / (appHeight / 2);
|
||||
const rotateYUncapped = (-1) * tiltEffectSettings.max * mouseX / (appWidth / 2);
|
||||
const rotateX = rotateXUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max :
|
||||
(rotateXUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateXUncapped);
|
||||
const rotateY = rotateYUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max :
|
||||
(rotateYUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateYUncapped);
|
||||
const rotateX = rotateXUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max : (rotateXUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateXUncapped);
|
||||
const rotateY = rotateYUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max : (rotateYUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateYUncapped);
|
||||
|
||||
app.style.transform = `perspective(${tiltEffectSettings.perspective}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)
|
||||
scale3d(${tiltEffectSettings.scale}, ${tiltEffectSettings.scale}, ${tiltEffectSettings.scale})`;
|
||||
app.style.transform = `perspective(${tiltEffectSettings.perspective}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale3d(${tiltEffectSettings.scale}, ${tiltEffectSettings.scale}, ${tiltEffectSettings.scale})`;
|
||||
}
|
||||
|
||||
function appMouseLeave(event) {
|
||||
@@ -65,9 +62,7 @@ function setTransition(event) {
|
||||
const app = event.currentTarget;
|
||||
clearTimeout(app.transitionTimeoutId);
|
||||
app.style.transition = `transform ${tiltEffectSettings.speed}ms ${tiltEffectSettings.easing}`;
|
||||
app.transitionTimeoutId = setTimeout(() => {
|
||||
app.style.transition = '';
|
||||
}, tiltEffectSettings.speed);
|
||||
app.transitionTimeoutId = setTimeout(() => app.style.transition = '', tiltEffectSettings.speed);
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import PolarisError from './error.js';
|
||||
import PolarisError from '/assets/js/error.js';
|
||||
|
||||
const tiltEffectSettings = {
|
||||
max: 8,
|
||||
@@ -31,9 +31,7 @@ const load = () => {
|
||||
}).catch(e => new PolarisError('Failed to load cheats.'));
|
||||
};
|
||||
|
||||
function gameMouseEnter(event) {
|
||||
setTransition(event);
|
||||
}
|
||||
const gameMouseEnter = setTransition;
|
||||
|
||||
function gameMouseMove(event) {
|
||||
const game = event.currentTarget;
|
||||
@@ -45,13 +43,10 @@ function gameMouseMove(event) {
|
||||
const mouseY = event.clientY - centerY;
|
||||
const rotateXUncapped = (+1) * tiltEffectSettings.max * mouseY / (gameHeight / 2);
|
||||
const rotateYUncapped = (-1) * tiltEffectSettings.max * mouseX / (gameWidth / 2);
|
||||
const rotateX = rotateXUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max :
|
||||
(rotateXUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateXUncapped);
|
||||
const rotateY = rotateYUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max :
|
||||
(rotateYUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateYUncapped);
|
||||
const rotateX = rotateXUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max : (rotateXUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateXUncapped);
|
||||
const rotateY = rotateYUncapped < -tiltEffectSettings.max ? -tiltEffectSettings.max : (rotateYUncapped > tiltEffectSettings.max ? tiltEffectSettings.max : rotateYUncapped);
|
||||
|
||||
game.style.transform = `perspective(${tiltEffectSettings.perspective}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)
|
||||
scale3d(${tiltEffectSettings.scale}, ${tiltEffectSettings.scale}, ${tiltEffectSettings.scale})`;
|
||||
game.style.transform = `perspective(${tiltEffectSettings.perspective}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale3d(${tiltEffectSettings.scale}, ${tiltEffectSettings.scale}, ${tiltEffectSettings.scale})`;
|
||||
}
|
||||
|
||||
function gameMouseLeave(event) {
|
||||
@@ -63,9 +58,7 @@ function setTransition(event) {
|
||||
const game = event.currentTarget;
|
||||
clearTimeout(game.transitionTimeoutId);
|
||||
game.style.transition = `transform ${tiltEffectSettings.speed}ms ${tiltEffectSettings.easing}`;
|
||||
game.transitionTimeoutId = setTimeout(() => {
|
||||
game.style.transition = '';
|
||||
}, tiltEffectSettings.speed);
|
||||
game.transitionTimeoutId = setTimeout(() => game.style.transition = '', tiltEffectSettings.speed);
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import PolarisError from './error.js';
|
||||
import { workerLoaded, loadWorker } from './wpm.js';
|
||||
import PolarisError from '/assets/js/error.js';
|
||||
import { workerLoaded, loadWorker } from '/assets/js/wpm.js';
|
||||
|
||||
const tiltEffectSettings = {
|
||||
max: 8,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import PolarisError from './error.js';
|
||||
import { load } from './settings.js';
|
||||
import Search from './search.js';
|
||||
import Cheats from './cheats.js';
|
||||
import Games from './games.js';
|
||||
import Frame from './frame.js';
|
||||
import Apps from './apps.js';
|
||||
import PolarisError from '/assets/js/error.js';
|
||||
import { load } from '/assets/js/settings.js';
|
||||
import Search from '/assets/js/search.js';
|
||||
import Cheats from '/assets/js/cheats.js';
|
||||
import Games from '/assets/js/games.js';
|
||||
import Frame from '/assets/js/frame.js';
|
||||
import Apps from '/assets/js/apps.js';
|
||||
|
||||
const Settings = {
|
||||
load: load
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { workerLoaded, loadWorker } from './wpm.js';
|
||||
import { workerLoaded, loadWorker } from '/assets/js/wpm.js';
|
||||
|
||||
const load = () => {
|
||||
const xor = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import Theme from './themes.js';
|
||||
import PolarisError from './error.js';
|
||||
import Theme from '/assets/js/themes.js';
|
||||
import PolarisError from '/assets/js/error.js';
|
||||
|
||||
const isScrollable = (element) => element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight;
|
||||
|
||||
|
||||
+45
-48
@@ -1,54 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<script src="https://cdn.counter.dev/script.js" data-id="b0b2d4b2-daca-47e1-9287-b9e649b3dcd2" data-utcoffset="-5"></script>
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080"
|
||||
crossorigin="anonymous"></script>
|
||||
<title>Cheats | Polaris</title>
|
||||
<script data-cfasync="false">window.nitroAds=window.nitroAds||{createAd:function(){return new Promise(e=>{window.nitroAds.queue.push(["createAd",arguments,e])})},addUserToken:function(){window.nitroAds.queue.push(["addUserToken",arguments])},queue:[]};</script>
|
||||
<script data-cfasync="false" async src="https://s.nitropay.com/ads-1751.js"></script>
|
||||
</head>
|
||||
<head>
|
||||
<!--el:meta-->
|
||||
<!--el:adtop-->
|
||||
<!--el:analytics-->
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1>Cheats</h1>
|
||||
<br>
|
||||
<script type="text/javascript">
|
||||
atOptions = {
|
||||
'key' : 'ae1638b56336895e2ecf7d1adc3492a4',
|
||||
'format' : 'iframe',
|
||||
'height' : 50,
|
||||
'width' : 320,
|
||||
'params' : {}
|
||||
};
|
||||
document.write('<scr' + 'ipt type="text/javascript" src="//outrightsham.com/ae1638b56336895e2ecf7d1adc3492a4/invoke.js"></scr' + 'ipt>');
|
||||
</script>
|
||||
<div class="games"></div>
|
||||
</div>
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<span data-ccpa-link="1"></span>
|
||||
<script>
|
||||
window['nitroAds'].createAd('anchorad', {
|
||||
"refreshTime": 30,
|
||||
"format": "anchor",
|
||||
"anchor": "bottom",
|
||||
"anchorPersistClose": false,
|
||||
"report": {
|
||||
"enabled": true,
|
||||
"icon": true,
|
||||
"wording": "Report Ad",
|
||||
"position": "top-right"
|
||||
},
|
||||
"mediaQuery": "(min-width: 1025px)"
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
<title>Cheats | Polaris</title>
|
||||
</head>
|
||||
|
||||
</html>
|
||||
<body>
|
||||
<!--el:navbar-->
|
||||
|
||||
<div class="content">
|
||||
<h1>Cheats</h1>
|
||||
<br>
|
||||
<div class="games"></div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<script type="text/javascript">
|
||||
atOptions = {
|
||||
'key' : 'ae1638b56336895e2ecf7d1adc3492a4',
|
||||
'format' : 'iframe',
|
||||
'height' : 50,
|
||||
'width' : 320,
|
||||
'params' : {}
|
||||
};
|
||||
document.write('<scr' + 'ipt type="text/javascript" src="//outrightsham.com/ae1638b56336895e2ecf7d1adc3492a4/invoke.js"></scr' + 'ipt>');
|
||||
</script>
|
||||
<script>
|
||||
window['nitroAds'].createAd('anchorad', {
|
||||
"refreshTime": 30,
|
||||
"format": "anchor",
|
||||
"anchor": "bottom",
|
||||
"anchorPersistClose": false,
|
||||
"report": {
|
||||
"enabled": true,
|
||||
"icon": true,
|
||||
"wording": "Report Ad",
|
||||
"position": "top-right"
|
||||
},
|
||||
"mediaQuery": "(min-width: 1025px)"
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+23
-18
@@ -2,32 +2,44 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<!--el:meta-->
|
||||
<!--el:adtop-->
|
||||
<!--el:analytics-->
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<script src="https://cdn.counter.dev/script.js" data-id="b0b2d4b2-daca-47e1-9287-b9e649b3dcd2"
|
||||
data-utcoffset="-5"></script>
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<title>Games | Polaris</title>
|
||||
<script
|
||||
data-cfasync="false">window.nitroAds = window.nitroAds || { createAd: function () { return new Promise(e => { window.nitroAds.queue.push(["createAd", arguments, e]) }) }, addUserToken: function () { window.nitroAds.queue.push(["addUserToken", arguments]) }, queue: [] };</script>
|
||||
<script data-cfasync="false" async src="https://s.nitropay.com/ads-1751.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--el:navbar-->
|
||||
|
||||
<div class="content">
|
||||
<h1 style="font-size: 6vh;">Games</h1>
|
||||
|
||||
<h1 style="font-size: 4vh;" class="gamesectionheader">Popular</h1>
|
||||
|
||||
<div class="popular-games">
|
||||
</div>
|
||||
|
||||
<h1 style="font-size: 4vh;" class="gamesectionheader">All Games</h1>
|
||||
|
||||
<input type="text" id="searchInput" class="settings-input" placeholder="Search Games...">
|
||||
|
||||
<br>
|
||||
|
||||
<div style="padding-bottom: 2vh;">
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="games">
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 5vh;">
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<script type="text/javascript">
|
||||
atOptions = {
|
||||
'key': 'ae1638b56336895e2ecf7d1adc3492a4',
|
||||
@@ -38,13 +50,6 @@
|
||||
};
|
||||
document.write('<scr' + 'ipt type="text/javascript" src="//outrightsham.com/ae1638b56336895e2ecf7d1adc3492a4/invoke.js"></scr' + 'ipt>');
|
||||
</script>
|
||||
<br>
|
||||
<div class="games">
|
||||
</div>
|
||||
<div style="margin-top: 5vh;">
|
||||
</div>
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<span data-ccpa-link="1"></span>
|
||||
<script>
|
||||
window['nitroAds'].createAd('anchorad', {
|
||||
"refreshTime": 30,
|
||||
|
||||
+14
-39
@@ -2,35 +2,18 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="6f9c120da628a61af2a67d51a1785baa69240b33" content="6f9c120da628a61af2a67d51a1785baa69240b33" />
|
||||
<meta name="description" content="Start Learning Math and other subjects today." />
|
||||
<meta name="keywords"
|
||||
content="proxy, skool, games, unblock, half life, school, cheat, hack, no ads, ad-free, ad free, web proxy, ultraviolet, service workers, unblock websites, unblock chromebook, free web proxy, proxy list, proxy sites, un block chromebook, online proxy, proxy server, proxysite, proxy youtube, bypass securly, bypass iboss, bypass lightspeed filter, holy unblocker, chromebooks, titanium network, unblock youtube, youtube proxy, unblocked youtube, youtube unblocked, discord unblocked, blooket hacks, Games, Unblocking, Fun, Entertaining, Addictive, Challenging, Strategy, Puzzle, Multiplayer, Casual, Arcade, Action, Adventure, RPG, Sports, Racing, Shooter, Fighting, Platformer, Simulation, Open-World, Horror, Fantasy, Science Fiction, Casual Games, Skill Games, Board Games, Word Games, Card Games, Escape Games, Hidden Object, Match-3, Physics-Based, Time Management, Tycoon, Life Simulator, City Builder, Party Games, Music Games, Dance Games, Educational Games, Kids Games, Browser Games, Online Games, Mobile Games, PC Games, Console Games, Virtual Reality, Augmented Reality, Cross-Platform, Free-to-Play, Paid Games, In-App Purchases, Microtransactions, Free Games, Online Multiplayer, Local, Multiplayer, Co-op, Competitive, Fast-Paced, Relaxing, unbloc, notbroken, gameing, gameapps, noads, no ads, addfree, gamez, schoool, shcool unblocked, sjchool, schoolworld, shcool, no ad, free gam, free gamez, edpuzzle, edpuzzle hack, shcool wifi bypass, online game, shellshocker, front-end web developer, unblocked, games, google sites, unblocked games mom, ublocked, roblox, roblox games, roblox unblocked, roblox free, roblox free online, roblox working, roblox chromebook, chromebook roblox working, unblocker, unblocked, school, learn, blooket, blooket hack, blooket cheat, chatgpt unblocked, chatgpt, chatgpt free, chatgpt no signup, school chatgpt, free games, free movies, movies online, osu, osu unblocked, minecraft, free minecraft, eaglecrafter, minecraft 1.5, discord, discord unblocked, youtube, youtube unblocked, netflix, netflix online, tiktok, tiktok unblocked, edpuzzle, edpuzzle cheat, edpuzzle hack, autoclicker, bookmark, bookmarklet" />
|
||||
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<!--el:meta-->
|
||||
<!--el:adtop-->
|
||||
<!--el:analytics-->
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
|
||||
<script src="https://cdn.counter.dev/script.js" data-id="b0b2d4b2-daca-47e1-9287-b9e649b3dcd2" data-utcoffset="-5"></script>
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080" crossorigin="anonymous"></script>
|
||||
<script data-cfasync="false">window.nitroAds = window.nitroAds || { createAd: function () { return new Promise(e => { window.nitroAds.queue.push(["createAd", arguments, e]) }) }, addUserToken: function () { window.nitroAds.queue.push(["addUserToken", arguments]) }, queue: [] };</script>
|
||||
<script data-cfasync="false" async src="https://s.nitropay.com/ads-1751.js"></script>
|
||||
<script src="https://polaris4.statuspage.io/embed/script.js"></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KZRKZE212Q"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() { dataLayer.push(arguments); }
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-KZRKZE212Q');
|
||||
</script>
|
||||
|
||||
<title>Home | Polaris</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--el:navbar-->
|
||||
|
||||
<div class="row mainpage">
|
||||
<div class="container">
|
||||
<h1 class="nomargin">Featured Game</h1>
|
||||
@@ -43,11 +26,15 @@
|
||||
|
||||
<p>
|
||||
<a href="https://discord.gg/skool-community-950407933408198717" target="_blank" class="link">Discord</a>
|
||||
•
|
||||
-
|
||||
<a href="mailto:support@polarislearning.org" target="_blank" class="link">Support Email</a>
|
||||
•
|
||||
<a href="https://forms.gle/9knPLmyAua5Z3wZv5" target="_blank" class="link">Suggest a game</a></p>
|
||||
|
||||
-
|
||||
<a href="https://forms.gle/9knPLmyAua5Z3wZv5" target="_blank" class="link">Suggest a game</a>
|
||||
-
|
||||
<a href="/privacy" class="link">Privacy Policy</a>
|
||||
-
|
||||
<a href="/tos" class="link">Terms of Service</a>
|
||||
</p>
|
||||
<hr>
|
||||
|
||||
<h2>Changelog</h2>
|
||||
@@ -56,19 +43,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span data-ccpa-link="1"></span>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<script type="text/javascript">
|
||||
atOptions = {
|
||||
'key': 'ae1638b56336895e2ecf7d1adc3492a4',
|
||||
'format': 'iframe',
|
||||
'height': 50,
|
||||
'width': 320,
|
||||
'params': {}
|
||||
};
|
||||
document.write('<scr' + 'ipt type="text/javascript" src="//outrightsham.com/ae1638b56336895e2ecf7d1adc3492a4/invoke.js"></scr' + 'ipt>');
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,3 +1,6 @@
|
||||
<!--el:meta-->
|
||||
<!--el:analytics-->
|
||||
|
||||
By using our site your personal information may be collected including:
|
||||
|
||||
- email address
|
||||
@@ -9,4 +12,4 @@ We do not store your personal information outside of advertising services and ou
|
||||
|
||||
Our sites code is open source and is hosted on github, it can be found here: https://github.com/Skoolgq
|
||||
|
||||
If you have any questions please contact us at skoolwrld@gmail.com
|
||||
If you have any questions please contact us at skoolwrld@gmail.com
|
||||
+21
-25
@@ -2,45 +2,41 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<!--el:meta-->
|
||||
<!--el:adtop-->
|
||||
<!--el:analytics-->
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<title>Search | Polaris</title>
|
||||
<script
|
||||
data-cfasync="false">window.nitroAds = window.nitroAds || { createAd: function () { return new Promise(e => { window.nitroAds.queue.push(["createAd", arguments, e]) }) }, addUserToken: function () { window.nitroAds.queue.push(["addUserToken", arguments]) }, queue: [] };</script>
|
||||
<script data-cfasync="false" async src="https://s.nitropay.com/ads-1751.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--el:navbar-->
|
||||
|
||||
<div class="content">
|
||||
<div class="proxycontainer">
|
||||
<h1 class="proxytitle">Proxy</h1>
|
||||
<div class="container centered">
|
||||
<h1 class="title">Proxy</h1>
|
||||
|
||||
<text class="proxyDescription">You can search anything.</text>
|
||||
|
||||
<form id="wpf">
|
||||
<input class="proxyinput" type="text" id="query" placeholder="URL or Search Query" />
|
||||
</form>
|
||||
</div>
|
||||
<div style="bottom: 0; margin-top: 5vh;">
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
atOptions = {
|
||||
'key': 'ae1638b56336895e2ecf7d1adc3492a4',
|
||||
'format': 'iframe',
|
||||
'height': 50,
|
||||
'width': 320,
|
||||
'params': {}
|
||||
};
|
||||
document.write('<scr' + 'ipt type="text/javascript" src="//outrightsham.com/ae1638b56336895e2ecf7d1adc3492a4/invoke.js"></scr' + 'ipt>');
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
<span data-ccpa-link="1"></span>
|
||||
<script type="text/javascript">
|
||||
atOptions = {
|
||||
'key': 'ae1638b56336895e2ecf7d1adc3492a4',
|
||||
'format': 'iframe',
|
||||
'height': 50,
|
||||
'width': 320,
|
||||
'params': {}
|
||||
};
|
||||
document.write('<scr' + 'ipt type="text/javascript" src="//outrightsham.com/ae1638b56336895e2ecf7d1adc3492a4/invoke.js"></scr' + 'ipt>');
|
||||
</script>
|
||||
<script>
|
||||
window['nitroAds'].createAd('anchorad', {
|
||||
"refreshTime": 30,
|
||||
|
||||
+12
-7
@@ -2,30 +2,35 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
<!--el:meta-->
|
||||
<!--el:adtop-->
|
||||
<!--el:analytics-->
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<title>View | Polaris</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--el:navbar-->
|
||||
|
||||
<div>
|
||||
<div style="overflow: hidden; z-index: 1000000;">
|
||||
<iframe class="frame" overflow: auto; frameborder="no"
|
||||
sandbox="allow-scripts allow-forms allow-pointer-lock allow-same-origin"></iframe>
|
||||
</div>
|
||||
|
||||
<div class="gamebar">
|
||||
|
||||
<img src="https://via.placeholder.com/20x20?text=img" id="gameicon" />
|
||||
<p id="gametitle">Loading...</p>
|
||||
|
||||
<i class="fa-solid fa-expand" id="fullscreen"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<a href="https://discord.gg/skool-community-950407933408198717"><button>Join our Discord Server</button></a>
|
||||
|
||||
<script src="/assets/js/main.js" type="module"></script>
|
||||
</body>
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9661054437111080" crossorigin="anonymous"></script>
|
||||
<script data-cfasync="false">window.nitroAds = window.nitroAds || { createAd: function () { return new Promise(e => { window.nitroAds.queue.push(["createAd", arguments, e]) }) }, addUserToken: function () { window.nitroAds.queue.push(["addUserToken", arguments]) }, queue: [] };</script>
|
||||
<script data-cfasync="false" async src="https://s.nitropay.com/ads-1751.js"></script>
|
||||
@@ -0,0 +1,10 @@
|
||||
<script src="https://cdn.counter.dev/script.js" data-id="b0b2d4b2-daca-47e1-9287-b9e649b3dcd2" data-utcoffset="-5"></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KZRKZE212Q"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() { dataLayer.push(arguments); }
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-KZRKZE212Q');
|
||||
</script>
|
||||
<script src="https://polaris4.statuspage.io/embed/script.js"></script>
|
||||
+9
-6
@@ -1,14 +1,17 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
||||
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="language" content="English">
|
||||
<meta name="google" content="notranslate">
|
||||
<meta name="charset" content="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Polaris">
|
||||
<meta name="subject" content="unblocking">
|
||||
<meta name="description" content="the future of school sites; bringing games, apps, proxies, advanced settings, and more.">
|
||||
<meta name="author" content="Skool">
|
||||
<meta name="description" content="The professional unblocked gaming site.">
|
||||
<meta name="author" content="Polaris Development Group">
|
||||
<meta name="og:type" content="website">
|
||||
<meta name="og:url" content="https://polarislearning.org/">
|
||||
<meta name="og:title" content="Polaris">
|
||||
<meta name="og:description" content="the future of school sites; bringing games, apps, proxies, advanced settings, and more.">
|
||||
<meta name="og:image" content="https://polarislearning.org/assets/img/logo.png">
|
||||
<meta name="keywords" content="unblock, unblocked, unblocking, skool, skoolgq, skool game, skool app, skool roblox, skool github, skool tv, skool home, old skool, skoolgq, skool.gq, skool.world, skool.lol, skool hq, games, gaming, games unblocked, unblocked games, proxy, holy unblocker, titanium network, free games, online games, skool discord, chromebook unblocked, unblocked chromebook, school cheats, schoolcheats, school hacks, ezpuzzle hack, blooket hack, school hacks working, gimkit hack, polaris games, polaris apps, polaris cheats, autoclicker school, prodigy hack, quizizz hack, quizlet hack, discord unblocked, unblocked discord, tiktok unblocked, unblocked tiktok, twitch unblocked, unblocked twitch, youtube unblocked, unblocked youtube">
|
||||
<meta name="og:description" content="The professional unblocked gaming site.">
|
||||
<meta name="og:image" content="https://polarislearning.org/assets/img/logo.png">
|
||||
@@ -1,7 +1,10 @@
|
||||
<div class="navbar">
|
||||
<a class="title" href="/">
|
||||
<img src="/assets/img/logo.png" loading="eager" />
|
||||
<span>Polaris<span>By Skool</span></span>
|
||||
<img src="/assets/img/logo.png" />
|
||||
|
||||
<span>Polaris
|
||||
<span>By Skool</span>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<div class="right">
|
||||
@@ -24,7 +27,7 @@
|
||||
|
||||
<input class="settings-input" type="text" name="Panic Key" id="panic_key" value="No Key Selected" readonly />
|
||||
<button class="settings-button" id="reset_panic">Reset</button>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<h3>Panic URL</h3>
|
||||
@@ -32,7 +35,7 @@
|
||||
<input class="settings-input" type="url" id="panic_url" placeholder="eg: https://google.com" />
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<h3>Theme</h3>
|
||||
|
||||
<div id="themes">
|
||||
@@ -61,7 +64,4 @@
|
||||
<input class="settings-input" type="text" placeholder="Title" id="title" />
|
||||
<input class="settings-input" type="text" placeholder="eg: google.com" id="domain" />
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"version": 2,
|
||||
"builds": [{
|
||||
"src": "index.js",
|
||||
"src": "server/index.js",
|
||||
"use": "@vercel/node"
|
||||
}],
|
||||
"routes": [{
|
||||
"src": "/(.*)",
|
||||
"dest": "index.js"
|
||||
"dest": "server/index.js"
|
||||
}]
|
||||
}
|
||||
Reference in New Issue
Block a user