mirror of
https://github.com/NebulaServices/Nebula.git
synced 2025-05-12 03:20:02 -04:00
Scramjet 🚀
This commit is contained in:
parent
fcbf8d2e3a
commit
037a2bf8c3
9 changed files with 227 additions and 57 deletions
|
@ -2,12 +2,12 @@ import { fileURLToPath } from "node:url";
|
|||
import node from "@astrojs/node";
|
||||
import svelte from "@astrojs/svelte";
|
||||
import tailwind from "@astrojs/tailwind";
|
||||
import sitemap from "@astrojs/sitemap";
|
||||
import { baremuxPath } from "@mercuryworkshop/bare-mux/node";
|
||||
import { epoxyPath } from "@mercuryworkshop/epoxy-transport";
|
||||
import { libcurlPath } from "@mercuryworkshop/libcurl-transport";
|
||||
import playformCompress from "@playform/compress";
|
||||
import { uvPath } from "@titaniumnetwork-dev/ultraviolet";
|
||||
import { scramjetPath } from "@mercuryworkshop/scramjet";
|
||||
import icon from "astro-icon";
|
||||
import { defineConfig, envField } from "astro/config";
|
||||
import { viteStaticCopy } from "vite-plugin-static-copy";
|
||||
|
@ -74,6 +74,11 @@ export default defineConfig({
|
|||
dest: "libcurl",
|
||||
overwrite: false
|
||||
},
|
||||
{
|
||||
src: `${scramjetPath}/**/*`.replace(/\\/g, "/"),
|
||||
dest: "scram",
|
||||
overwrite: false
|
||||
},
|
||||
{
|
||||
src: `${baremuxPath}/**/*`.replace(/\\/g, "/"),
|
||||
dest: "baremux",
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
"@mercuryworkshop/libcurl-transport": "^1.3.15",
|
||||
"@playform/compress": "^0.1.6",
|
||||
"@titaniumnetwork-dev/ultraviolet": "^3.2.10",
|
||||
"@mercuryworkshop/scramjet": "https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz",
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/sequelize": "^4.28.20",
|
||||
"astro": "^5.1.1",
|
||||
|
|
126
pnpm-lock.yaml
generated
126
pnpm-lock.yaml
generated
|
@ -50,6 +50,9 @@ importers:
|
|||
'@mercuryworkshop/libcurl-transport':
|
||||
specifier: ^1.3.15
|
||||
version: 1.3.15
|
||||
'@mercuryworkshop/scramjet':
|
||||
specifier: https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz
|
||||
version: https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz
|
||||
'@playform/compress':
|
||||
specifier: ^0.1.6
|
||||
version: 0.1.6(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.29.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1)
|
||||
|
@ -1009,6 +1012,10 @@ packages:
|
|||
'@mercuryworkshop/libcurl-transport@1.3.15':
|
||||
resolution: {integrity: sha512-lmFoTovP2L519S+KjAfvUy8QQa4mM+/HCcO+wx0jsd43xOrFxwYIvRLKAEJgW9Wk1MBy2FNwYsarv/teUlc3VA==}
|
||||
|
||||
'@mercuryworkshop/scramjet@https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz':
|
||||
resolution: {tarball: https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz}
|
||||
version: 1.0.2-dev
|
||||
|
||||
'@nodelib/fs.scandir@2.1.5':
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
engines: {node: '>= 8'}
|
||||
|
@ -1196,8 +1203,8 @@ packages:
|
|||
'@types/cookie@0.6.0':
|
||||
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
|
||||
|
||||
'@types/css-tree@2.3.9':
|
||||
resolution: {integrity: sha512-g1FE6xkPDP4tsccmTd6jIugjKZdxIDqAf9h2pc+4LsGgYbOyfa9phNjBHYbm6FtwIlNfT1NBx3f2zSeqO7aRAw==}
|
||||
'@types/css-tree@2.3.10':
|
||||
resolution: {integrity: sha512-WcaBazJ84RxABvRttQjjFWgTcHvZR9jGr0Y3hccPkHjFyk/a3N8EuxjKr+QfrwjoM5b1yI1Uj1i7EzOAAwBwag==}
|
||||
|
||||
'@types/csso@5.0.4':
|
||||
resolution: {integrity: sha512-W/FsRkm/9c04x9ON+bj+HQ0cSgNkG1LvcfuBCpkP7cpikM7+RkrNFLGtiofb++xBG6KGMUycLoDbi9/K621ZCw==}
|
||||
|
@ -1312,8 +1319,8 @@ packages:
|
|||
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
|
||||
engines: {node: '>= 6.0.0'}
|
||||
|
||||
agentkeepalive@4.5.0:
|
||||
resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
|
||||
agentkeepalive@4.6.0:
|
||||
resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
|
||||
engines: {node: '>= 8.0.0'}
|
||||
|
||||
aggregate-error@3.1.0:
|
||||
|
@ -1583,6 +1590,10 @@ packages:
|
|||
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
clone-regexp@3.0.0:
|
||||
resolution: {integrity: sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
clsx@2.1.1:
|
||||
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -1651,6 +1662,10 @@ packages:
|
|||
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
convert-hrtime@5.0.0:
|
||||
resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
cookie-es@1.2.2:
|
||||
resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
|
||||
|
||||
|
@ -1867,6 +1882,10 @@ packages:
|
|||
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
|
||||
engines: {node: '>=0.12'}
|
||||
|
||||
entities@6.0.0:
|
||||
resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==}
|
||||
engines: {node: '>=0.12'}
|
||||
|
||||
env-paths@2.2.1:
|
||||
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -2076,6 +2095,10 @@ packages:
|
|||
function-bind@1.1.2:
|
||||
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
|
||||
|
||||
function-timeout@0.1.1:
|
||||
resolution: {integrity: sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==}
|
||||
engines: {node: '>=14.16'}
|
||||
|
||||
gauge@4.0.4:
|
||||
resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
|
@ -2193,6 +2216,9 @@ packages:
|
|||
html-void-elements@3.0.0:
|
||||
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
|
||||
|
||||
htmlparser2@10.0.0:
|
||||
resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==}
|
||||
|
||||
htmlparser2@9.1.0:
|
||||
resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
|
||||
|
||||
|
@ -2267,6 +2293,10 @@ packages:
|
|||
resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
|
||||
engines: {node: '>= 12'}
|
||||
|
||||
ip-regex@5.0.0:
|
||||
resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
ipaddr.js@1.9.1:
|
||||
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
|
||||
engines: {node: '>= 0.10'}
|
||||
|
@ -2311,6 +2341,10 @@ packages:
|
|||
resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
is-ip@5.0.1:
|
||||
resolution: {integrity: sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==}
|
||||
engines: {node: '>=14.16'}
|
||||
|
||||
is-lambda@1.0.1:
|
||||
resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==}
|
||||
|
||||
|
@ -2325,6 +2359,10 @@ packages:
|
|||
is-reference@3.0.3:
|
||||
resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
|
||||
|
||||
is-regexp@3.1.0:
|
||||
resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
is-subdir@1.2.0:
|
||||
resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
|
||||
engines: {node: '>=4'}
|
||||
|
@ -2945,6 +2983,10 @@ packages:
|
|||
param-case@3.0.4:
|
||||
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
|
||||
|
||||
parse-domain@8.2.2:
|
||||
resolution: {integrity: sha512-CoksenD3UDqphCHlXIcNh/TX0dsYLHo6dSAUC/QBcJRWJXcV5rc1mwsS4WbhYGu4LD4Uxc0v3ZzGo+OHCGsLcw==}
|
||||
hasBin: true
|
||||
|
||||
parse-latin@7.0.0:
|
||||
resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
|
||||
|
||||
|
@ -3599,6 +3641,10 @@ packages:
|
|||
engines: {node: '>=16 || 14 >=14.17'}
|
||||
hasBin: true
|
||||
|
||||
super-regex@0.2.0:
|
||||
resolution: {integrity: sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==}
|
||||
engines: {node: '>=14.16'}
|
||||
|
||||
supports-preserve-symlinks-flag@1.0.0:
|
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
@ -3666,11 +3712,15 @@ packages:
|
|||
through2@2.0.5:
|
||||
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
|
||||
|
||||
time-span@5.1.0:
|
||||
resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
tinycolor2@1.6.0:
|
||||
resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
|
||||
|
||||
tinyexec@0.3.1:
|
||||
resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
|
||||
tinyexec@0.3.2:
|
||||
resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
|
||||
|
||||
tinygradient@1.1.5:
|
||||
resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==}
|
||||
|
@ -4203,7 +4253,7 @@ snapshots:
|
|||
'@antfu/install-pkg@0.4.1':
|
||||
dependencies:
|
||||
package-manager-detector: 0.2.8
|
||||
tinyexec: 0.3.1
|
||||
tinyexec: 0.3.2
|
||||
|
||||
'@antfu/utils@0.7.10': {}
|
||||
|
||||
|
@ -5030,6 +5080,16 @@ snapshots:
|
|||
dependencies:
|
||||
libcurl.js: 0.6.21
|
||||
|
||||
'@mercuryworkshop/scramjet@https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz':
|
||||
dependencies:
|
||||
'@mercuryworkshop/bare-mux': 2.1.7
|
||||
dom-serializer: 2.0.0
|
||||
domhandler: 5.0.3
|
||||
domutils: 3.2.1
|
||||
htmlparser2: 10.0.0
|
||||
parse-domain: 8.2.2
|
||||
set-cookie-parser: 2.7.1
|
||||
|
||||
'@nodelib/fs.scandir@2.1.5':
|
||||
dependencies:
|
||||
'@nodelib/fs.stat': 2.0.5
|
||||
|
@ -5250,11 +5310,11 @@ snapshots:
|
|||
|
||||
'@types/cookie@0.6.0': {}
|
||||
|
||||
'@types/css-tree@2.3.9': {}
|
||||
'@types/css-tree@2.3.10': {}
|
||||
|
||||
'@types/csso@5.0.4':
|
||||
dependencies:
|
||||
'@types/css-tree': 2.3.9
|
||||
'@types/css-tree': 2.3.10
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
dependencies:
|
||||
|
@ -5393,7 +5453,7 @@ snapshots:
|
|||
- supports-color
|
||||
optional: true
|
||||
|
||||
agentkeepalive@4.5.0:
|
||||
agentkeepalive@4.6.0:
|
||||
dependencies:
|
||||
humanize-ms: 1.2.1
|
||||
optional: true
|
||||
|
@ -5526,7 +5586,7 @@ snapshots:
|
|||
rehype: 13.0.2
|
||||
semver: 7.6.3
|
||||
shiki: 1.24.4
|
||||
tinyexec: 0.3.1
|
||||
tinyexec: 0.3.2
|
||||
tsconfck: 3.1.4(typescript@5.7.2)
|
||||
ultrahtml: 1.5.3
|
||||
unist-util-visit: 5.0.0
|
||||
|
@ -5797,6 +5857,10 @@ snapshots:
|
|||
strip-ansi: 6.0.1
|
||||
wrap-ansi: 7.0.0
|
||||
|
||||
clone-regexp@3.0.0:
|
||||
dependencies:
|
||||
is-regexp: 3.1.0
|
||||
|
||||
clsx@2.1.1: {}
|
||||
|
||||
color-convert@2.0.1:
|
||||
|
@ -5850,6 +5914,8 @@ snapshots:
|
|||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
|
||||
convert-hrtime@5.0.0: {}
|
||||
|
||||
cookie-es@1.2.2: {}
|
||||
|
||||
cookie@0.7.2: {}
|
||||
|
@ -6040,6 +6106,8 @@ snapshots:
|
|||
|
||||
entities@4.5.0: {}
|
||||
|
||||
entities@6.0.0: {}
|
||||
|
||||
env-paths@2.2.1:
|
||||
optional: true
|
||||
|
||||
|
@ -6316,6 +6384,8 @@ snapshots:
|
|||
|
||||
function-bind@1.1.2: {}
|
||||
|
||||
function-timeout@0.1.1: {}
|
||||
|
||||
gauge@4.0.4:
|
||||
dependencies:
|
||||
aproba: 2.0.0
|
||||
|
@ -6521,6 +6591,13 @@ snapshots:
|
|||
|
||||
html-void-elements@3.0.0: {}
|
||||
|
||||
htmlparser2@10.0.0:
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
domhandler: 5.0.3
|
||||
domutils: 3.2.1
|
||||
entities: 6.0.0
|
||||
|
||||
htmlparser2@9.1.0:
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
|
@ -6605,6 +6682,8 @@ snapshots:
|
|||
sprintf-js: 1.1.3
|
||||
optional: true
|
||||
|
||||
ip-regex@5.0.0: {}
|
||||
|
||||
ipaddr.js@1.9.1: {}
|
||||
|
||||
iron-webcrypto@1.2.1: {}
|
||||
|
@ -6635,6 +6714,11 @@ snapshots:
|
|||
|
||||
is-interactive@2.0.0: {}
|
||||
|
||||
is-ip@5.0.1:
|
||||
dependencies:
|
||||
ip-regex: 5.0.0
|
||||
super-regex: 0.2.0
|
||||
|
||||
is-lambda@1.0.1:
|
||||
optional: true
|
||||
|
||||
|
@ -6646,6 +6730,8 @@ snapshots:
|
|||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
|
||||
is-regexp@3.1.0: {}
|
||||
|
||||
is-subdir@1.2.0:
|
||||
dependencies:
|
||||
better-path-resolve: 1.0.0
|
||||
|
@ -6825,7 +6911,7 @@ snapshots:
|
|||
|
||||
make-fetch-happen@9.1.0:
|
||||
dependencies:
|
||||
agentkeepalive: 4.5.0
|
||||
agentkeepalive: 4.6.0
|
||||
cacache: 15.3.0
|
||||
http-cache-semantics: 4.1.1
|
||||
http-proxy-agent: 4.0.1
|
||||
|
@ -7435,6 +7521,10 @@ snapshots:
|
|||
dot-case: 3.0.4
|
||||
tslib: 2.8.1
|
||||
|
||||
parse-domain@8.2.2:
|
||||
dependencies:
|
||||
is-ip: 5.0.1
|
||||
|
||||
parse-latin@7.0.0:
|
||||
dependencies:
|
||||
'@types/nlcst': 2.0.3
|
||||
|
@ -8190,6 +8280,12 @@ snapshots:
|
|||
pirates: 4.0.6
|
||||
ts-interface-checker: 0.1.13
|
||||
|
||||
super-regex@0.2.0:
|
||||
dependencies:
|
||||
clone-regexp: 3.0.0
|
||||
function-timeout: 0.1.1
|
||||
time-span: 5.1.0
|
||||
|
||||
supports-preserve-symlinks-flag@1.0.0: {}
|
||||
|
||||
svelte-french-toast@1.2.0(svelte@5.16.0):
|
||||
|
@ -8312,9 +8408,13 @@ snapshots:
|
|||
readable-stream: 2.3.8
|
||||
xtend: 4.0.2
|
||||
|
||||
time-span@5.1.0:
|
||||
dependencies:
|
||||
convert-hrtime: 5.0.0
|
||||
|
||||
tinycolor2@1.6.0: {}
|
||||
|
||||
tinyexec@0.3.1: {}
|
||||
tinyexec@0.3.2: {}
|
||||
|
||||
tinygradient@1.1.5:
|
||||
dependencies:
|
||||
|
|
14
public/sw.js
14
public/sw.js
|
@ -1,10 +1,16 @@
|
|||
importScripts("/uv/uv.bundle.js");
|
||||
importScripts("/uv/uv.config.js");
|
||||
importScripts('/scram/scramjet.wasm.js');
|
||||
importScripts('/scram/scramjet.shared.js');
|
||||
importScripts('/scram/scramjet.worker.js');
|
||||
importScripts("/workerware/workerware.js");
|
||||
importScripts(__uv$config.sw || "/uv/uv.sw.js");
|
||||
const uv = new UVServiceWorker();
|
||||
const ww = new WorkerWare({ debug: false });
|
||||
|
||||
const sj = new ScramjetServiceWorker();
|
||||
(async function () {
|
||||
await sj.loadConfig();
|
||||
})();
|
||||
//me when Firefox (thanks vk6)
|
||||
if (navigator.userAgent.includes("Firefox")) {
|
||||
Object.defineProperty(globalThis, "crossOriginIsolated", {
|
||||
|
@ -57,7 +63,11 @@ self.addEventListener("fetch", function (event) {
|
|||
}
|
||||
if (event.request.url.startsWith(location.origin + __uv$config.prefix)) {
|
||||
return await uv.fetch(event);
|
||||
} else {
|
||||
}
|
||||
else if (sj.route(event)) {
|
||||
return await sj.fetch(event);
|
||||
}
|
||||
else {
|
||||
return await fetch(event.request);
|
||||
}
|
||||
})()
|
||||
|
|
|
@ -20,6 +20,6 @@
|
|||
localStorage.getItem(Settings.ProxySettings.transport) as string
|
||||
);
|
||||
const sw = await initSw();
|
||||
await setSWStuff({sw, conn});
|
||||
await setSWStuff({sw: sw.sw, conn, sj: sw.sj });
|
||||
});
|
||||
</script>
|
||||
|
|
42
src/env.d.ts
vendored
42
src/env.d.ts
vendored
|
@ -1,3 +1,45 @@
|
|||
/// <reference path="../.astro/types.d.ts" />
|
||||
/// <reference types="astro/client" />
|
||||
/// <reference types="@titaniumnetwork-dev/ultraviolet/client" />
|
||||
interface SJOptions {
|
||||
prefix: string;
|
||||
globals?: {
|
||||
wrapfn: string;
|
||||
wrapthisfn: string;
|
||||
trysetfn: string;
|
||||
importfn: string;
|
||||
rewritefn: string;
|
||||
metafn: string;
|
||||
setrealmfn: string;
|
||||
pushsourcemapfn: string;
|
||||
};
|
||||
files: {
|
||||
wasm: string;
|
||||
shared: string;
|
||||
worker: string;
|
||||
client: string;
|
||||
sync: string;
|
||||
};
|
||||
flags?: {
|
||||
serviceworkers: boolean;
|
||||
syncxhr: boolean;
|
||||
naiiveRewriter: boolean;
|
||||
strictRewrites: boolean;
|
||||
rewriterLogs: boolean;
|
||||
captureErrors: boolean;
|
||||
cleanErrors: boolean;
|
||||
scramitize: boolean;
|
||||
sourcemaps: boolean;
|
||||
};
|
||||
siteFlags?: {};
|
||||
codec?: {
|
||||
encode: string;
|
||||
decode: string;
|
||||
};
|
||||
}
|
||||
|
||||
declare class ScramjetController {
|
||||
constructor(opts: SJOptions);
|
||||
async init(sw: string): any;
|
||||
encodeUrl(term: string): string;
|
||||
}
|
||||
|
|
|
@ -63,44 +63,33 @@ import { VERSION } from "astro:env/client";
|
|||
type Suggestion = {
|
||||
phrase: string;
|
||||
};
|
||||
async function proxy(term: string) {
|
||||
const searchEngine = localStorage.getItem(
|
||||
Settings.ProxySettings.searchEngine
|
||||
);
|
||||
const openIn = localStorage.getItem(Settings.ProxySettings.openIn);
|
||||
let proxyUrl: any =
|
||||
__uv$config!.prefix +
|
||||
__uv$config.encodeUrl!(
|
||||
search(
|
||||
term,
|
||||
searchEngine ? SearchEngines[searchEngine] : SearchEngines.ddg
|
||||
)
|
||||
);
|
||||
if (openIn === "a:b" || openIn === "blob") {
|
||||
return cloak(
|
||||
openIn as string,
|
||||
"https://google.com",
|
||||
`${window.location.origin}${proxyUrl}`
|
||||
);
|
||||
} else if (openIn === "direct") {
|
||||
return (window.location.href = proxyUrl as string);
|
||||
} else {
|
||||
return proxyUrl;
|
||||
}
|
||||
function proxy(term: string, scram: typeof ScramjetController, pr: "uv" | "sj"): string {
|
||||
const searchEngine = localStorage.getItem(Settings.ProxySettings.searchEngine);
|
||||
const openIn = localStorage.getItem(Settings.ProxySettings.openIn);
|
||||
return pr === "uv" ? `${__uv$config!.prefix}${__uv$config.encodeUrl!(search(term, searchEngine ? SearchEngines[searchEngine] : SearchEngines.ddg))}` : scram.encodeUrl(search(term, searchEngine ? SearchEngines[searchEngine] : SearchEngines.ddg ))
|
||||
}
|
||||
async function uv(iframe: HTMLIFrameElement, term: string) {
|
||||
const { sw, conn } = getSWStuff();
|
||||
const { sw, conn, sj } = getSWStuff();
|
||||
await setTransport(
|
||||
conn,
|
||||
localStorage.getItem(Settings.ProxySettings.transport) as string
|
||||
);
|
||||
await settings.marketPlaceSettings.handlePlugins(sw);
|
||||
iframe.classList.remove("hidden");
|
||||
const url = await proxy(term);
|
||||
const url = proxy(term, sj, "uv");
|
||||
if (url) {
|
||||
iframe.src = url;
|
||||
}
|
||||
}
|
||||
async function sj(iframe: HTMLIFrameElement, term: string) {
|
||||
const { sw, conn, sj } = getSWStuff();
|
||||
await setTransport(conn, localStorage.getItem(Settings.ProxySettings.transport) as string);
|
||||
iframe.classList.remove("hidden");
|
||||
const url = proxy(term, sj, "sj");
|
||||
if (url) {
|
||||
iframe.src = url;
|
||||
}
|
||||
}
|
||||
//we need to rerun this on every page load
|
||||
pageLoad(async () => {
|
||||
const input = document.getElementById("nebula-input") as HTMLInputElement;
|
||||
|
@ -111,9 +100,7 @@ import { VERSION } from "astro:env/client";
|
|||
input?.addEventListener("keypress", async function (event: any) {
|
||||
if (event.key === "Enter") {
|
||||
copyright.classList.add("hidden");
|
||||
if (
|
||||
localStorage.getItem(Settings.ProxySettings.proxy) === "automatic"
|
||||
) {
|
||||
if (localStorage.getItem(Settings.ProxySettings.proxy) === "automatic") {
|
||||
const key = SupportedSites[input?.value];
|
||||
switch (key) {
|
||||
case "uv":
|
||||
|
@ -123,11 +110,13 @@ import { VERSION } from "astro:env/client";
|
|||
uv(iframe, input?.value);
|
||||
break;
|
||||
}
|
||||
} else if (
|
||||
localStorage.getItem(Settings.ProxySettings.proxy) === "uv"
|
||||
) {
|
||||
}
|
||||
else if (localStorage.getItem(Settings.ProxySettings.proxy) === "uv") {
|
||||
uv(iframe, input?.value);
|
||||
}
|
||||
else if (localStorage.getItem(Settings.ProxySettings.proxy) === "sj") {
|
||||
sj(iframe, input?.value);
|
||||
}
|
||||
}
|
||||
});
|
||||
input?.addEventListener("input", async function () {
|
||||
|
@ -195,5 +184,5 @@ import { VERSION } from "astro:env/client";
|
|||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}, true);
|
||||
</script>
|
||||
|
|
|
@ -34,7 +34,7 @@ import { MARKETPLACE_ENABLED } from "astro:env/client";
|
|||
options: [
|
||||
{ name: "Automatic", value: "automatic", disabled: false },
|
||||
{ name: "Ultraviolet", value: "uv", disabled: false },
|
||||
{ name: "Scramjet (COMING SOON)", value: "sj", disabled: true },
|
||||
{ name: "Scramjet (BETA)", value: "sj", disabled: false },
|
||||
],
|
||||
}}
|
||||
both={{enabled: false}}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { BareMuxConnection } from "@mercuryworkshop/bare-mux";
|
||||
import { Settings, WispServerURLS } from "./settings/index";
|
||||
|
||||
let baremuxConn: BareMuxConnection;
|
||||
let swReg: ServiceWorkerRegistration;
|
||||
let sj: typeof ScramjetController;
|
||||
|
||||
function loadProxyScripts() {
|
||||
//wrap everything in a promise to avoid race conditions
|
||||
|
@ -19,8 +19,12 @@ function loadProxyScripts() {
|
|||
uvConfig.src = "/uv/uv.config.js";
|
||||
uvConfig.defer = true;
|
||||
document.body.appendChild(uvConfig);
|
||||
const sj = document.createElement('script');
|
||||
sj.src = "/scram/scramjet.controller.js";
|
||||
sj.defer = true;
|
||||
document.body.appendChild(sj);
|
||||
const checkScript = setInterval(() => {
|
||||
if (typeof __uv$config !== "undefined") {
|
||||
if (typeof __uv$config !== "undefined" && typeof ScramjetController !== "undefined") {
|
||||
clearInterval(checkScript);
|
||||
resolve(conn);
|
||||
}
|
||||
|
@ -50,14 +54,30 @@ function setTransport(conn: BareMuxConnection, transport?: string) {
|
|||
}
|
||||
|
||||
function initSw() {
|
||||
type SWPromise = {
|
||||
sw: ServiceWorkerRegistration,
|
||||
sj: ScramjetController
|
||||
}
|
||||
//this is wrapped in a promise to mostly solve the bare-mux v1 problems
|
||||
return new Promise<ServiceWorkerRegistration>((resolve) => {
|
||||
return new Promise<SWPromise>(async (resolve) => {
|
||||
if ("serviceWorker" in navigator) {
|
||||
const sjOpts = {
|
||||
prefix: "/~/scramjet/",
|
||||
files: {
|
||||
wasm: "/scram/scramjet.wasm.js",
|
||||
worker: "/scram/scramjet.worker.js",
|
||||
client: "/scram/scramjet.client.js",
|
||||
shared: "/scram/scramjet.shared.js",
|
||||
sync: "/scram/scramjet.sync.js"
|
||||
}
|
||||
}
|
||||
const sj = new ScramjetController(sjOpts);
|
||||
navigator.serviceWorker.ready.then(async (reg) => {
|
||||
console.debug("Service worker ready!");
|
||||
resolve(reg);
|
||||
resolve({ sw: reg, sj: sj });
|
||||
});
|
||||
navigator.serviceWorker.register("/sw.js", { scope: "/" });
|
||||
await sj.init('/sw.js');
|
||||
//navigator.serviceWorker.register("/sw.js", { scope: "/" });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -65,12 +85,14 @@ function initSw() {
|
|||
interface SWStuff {
|
||||
sw: ServiceWorkerRegistration;
|
||||
conn: BareMuxConnection;
|
||||
sj: typeof ScramjetController;
|
||||
}
|
||||
|
||||
function setSWStuff(stuff: SWStuff): Promise<void> {
|
||||
return new Promise<void>((resolve) => {
|
||||
swReg = stuff.sw;
|
||||
baremuxConn = stuff.conn;
|
||||
sj = stuff.sj;
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
@ -78,7 +100,8 @@ function setSWStuff(stuff: SWStuff): Promise<void> {
|
|||
function getSWStuff(): SWStuff {
|
||||
const stuff: SWStuff = {
|
||||
sw: swReg,
|
||||
conn: baremuxConn
|
||||
conn: baremuxConn,
|
||||
sj: sj
|
||||
};
|
||||
return stuff;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue