Alex Scott commited on
Commit
46c7a16
·
1 Parent(s): 5868073

rebrand space to incognito

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .changeset/config.json +12 -0
  2. .dockerignore +16 -0
  3. .github/ISSUE_TEMPLATE/ISSUE-TEMPLATE.md +32 -0
  4. .github/ISSUE_TEMPLATE/config.yml +5 -0
  5. .github/ISSUE_TEMPLATE/package-lock.json +50 -0
  6. .github/PULL_REQUEST_TEMPLATE/pull_request_template.md +14 -0
  7. .github/workflows/docker-build.yml +48 -0
  8. .github/workflows/release.yml +44 -0
  9. .gitignore +26 -2
  10. .gitmodules +0 -3
  11. .gitpod.yml +10 -0
  12. CHANGELOG.md +54 -0
  13. Dockerfile +16 -14
  14. README.md +241 -46
  15. astro.config.ts +98 -0
  16. config.example.toml +11 -0
  17. deno.jsonc +67 -0
  18. deno.lock +0 -0
  19. docker-builds.yml +19 -0
  20. docker-compose.build.yml +27 -0
  21. docker-compose.yml +24 -0
  22. package.json +9 -45
  23. public/favicon.svg +0 -37
  24. public/flash/instantiateFlash.js +0 -33
  25. public/game.css +0 -73
  26. public/icons/canvas.png +0 -0
  27. public/icons/classlink.png +0 -0
  28. public/icons/classroom.png +0 -0
  29. public/icons/clever.jpg +0 -0
  30. public/icons/drive.png +0 -0
  31. public/icons/edgenuity.png +0 -0
  32. public/icons/google.png +0 -0
  33. public/icons/schoology.webp +0 -0
  34. public/icons/youtube.png +0 -0
  35. public/iframe.css +0 -11
  36. public/img/checkmark.svg +0 -3
  37. public/img/games/fullscreen.svg +0 -4
  38. public/img/games/pin-outline.svg +0 -3
  39. public/img/games/pin.svg +0 -3
  40. public/img/nav/backwards.svg +0 -5
  41. public/img/nav/close.svg +0 -3
  42. public/img/nav/forwards.svg +0 -5
  43. public/img/nav/reload.svg +0 -3
  44. public/img/nav/share.svg +0 -15
  45. public/img/search.svg +0 -3
  46. public/logo.svg +16 -0
  47. public/marketplace/adblock/banner.png +0 -0
  48. public/marketplace/adblock/icon.png +0 -0
  49. public/marketplace/adblock/index.js +0 -0
  50. public/marketplace/atom-one-dark/logo.png +0 -0
.changeset/config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
3
+ "changelog": ["@changesets/changelog-github", { "repo": "titaniumnetwork-dev/incognito" }],
4
+ "commit": false,
5
+ "fixed": [],
6
+ "linked": [],
7
+ "access": "public",
8
+ "baseBranch": "main",
9
+ "updateInternalDependencies": "patch",
10
+ "ignore": [],
11
+ "privatePackages": { "version": true, "tag": true }
12
+ }
.dockerignore ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ node_modules/
2
+ .vscode
3
+ npm-debug.log
4
+ yarn-error.log
5
+ .github/
6
+ .env.example
7
+ .env
8
+ dist/
9
+ .git/
10
+ .astro/
11
+ ~/
12
+ .gitignore
13
+ biome.json
14
+ docker-compose.yml
15
+ Dockerfile
16
+ README.md
.github/ISSUE_TEMPLATE/ISSUE-TEMPLATE.md ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: Bug report Or Feature request
3
+ about: Report a Bug or submit a Feature that you would like to see
4
+ title: "[BUG/Feature Request]"
5
+ labels: ''
6
+ assignees: ''
7
+ ---
8
+
9
+ **Note: for support questions, please use our [Discord](https://discord.gg/unblock)**. This repository's issues are reserved for feature requests and bug reports.
10
+
11
+ - **I'm submitting a ...**
12
+ - [ ] bug report
13
+ - [ ] feature request
14
+ - [ ] support request => Please do not submit support request here, see note at the top of this template.
15
+
16
+ - **Do you want to request a _feature_ or report a _bug_?**
17
+
18
+ - **What is the current behavior?**
19
+
20
+ - **If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem**
21
+
22
+ - **What is the expected behavior?**
23
+
24
+ - **What is the motivation / use case for changing the behavior?**
25
+
26
+ - **Please tell us about your environment:**
27
+
28
+ - Version: 2.0.0-beta.X
29
+ - Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
30
+ - Language: [all | TypeScript X.X | ES6/7 | ES5 | Dart]
31
+
32
+ - **Other information** (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
.github/ISSUE_TEMPLATE/config.yml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Communtiy Support
4
+ url: https://discord.gg/unblock
5
+ about: Please ask and answer questions here.
.github/ISSUE_TEMPLATE/package-lock.json ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "incognito",
3
+ "version": "1.1.5",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "incognito",
9
+ "version": "1.1.5",
10
+ "dependencies": {
11
+ "@iconify-json/fa-solid": "^1.1.8",
12
+ "@iconify-json/fa6-solid": "^1.1.21",
13
+ "@iconify-json/mdi": "^1.2.1"
14
+ }
15
+ },
16
+ "node_modules/@iconify-json/fa-solid": {
17
+ "version": "1.2.1",
18
+ "resolved": "https://registry.npmjs.org/@iconify-json/fa-solid/-/fa-solid-1.2.1.tgz",
19
+ "integrity": "sha512-eEcnCb6yjRJ0bZrQQZOvO9P5PYCGujz2V8PpiIxBSlm6xqoVLNtOfUyPr6xZD4zWeW7H3cmWi2ZXSzqxQ5e4lw==",
20
+ "license": "CC-BY-4.0",
21
+ "dependencies": {
22
+ "@iconify/types": "*"
23
+ }
24
+ },
25
+ "node_modules/@iconify-json/fa6-solid": {
26
+ "version": "1.2.3",
27
+ "resolved": "https://registry.npmjs.org/@iconify-json/fa6-solid/-/fa6-solid-1.2.3.tgz",
28
+ "integrity": "sha512-C5o8YJF+ekrS4wRb/6/0SE2KjRyJlCg++IOVC/fineiRinITivsmzFRNW1MQX2xfDZ1T7bxeKxLN6lcaTG3jGA==",
29
+ "license": "CC-BY-4.0",
30
+ "dependencies": {
31
+ "@iconify/types": "*"
32
+ }
33
+ },
34
+ "node_modules/@iconify-json/mdi": {
35
+ "version": "1.2.3",
36
+ "resolved": "https://registry.npmjs.org/@iconify-json/mdi/-/mdi-1.2.3.tgz",
37
+ "integrity": "sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==",
38
+ "license": "Apache-2.0",
39
+ "dependencies": {
40
+ "@iconify/types": "*"
41
+ }
42
+ },
43
+ "node_modules/@iconify/types": {
44
+ "version": "2.0.0",
45
+ "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
46
+ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
47
+ "license": "MIT"
48
+ }
49
+ }
50
+ }
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ - **Please check if the PR fulfills these requirements**
2
+
3
+ * [ ] Tests for the changes have been added (for bug fixes / features)
4
+ * [ ] Docs have been added / updated (for bug fixes / features)
5
+
6
+ - **What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...)
7
+
8
+ - **What is the current behavior?** (You can also link to an open issue here)
9
+
10
+ - **What is the new behavior (if this is a feature change)?**
11
+
12
+ - **Does this PR introduce a breaking change?** (What changes might users need to make in their application due to this PR?)
13
+
14
+ - **Other information**:
.github/workflows/docker-build.yml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Build Docker image
2
+ on:
3
+ push:
4
+ tags:
5
+ - v*
6
+ workflow_dispatch:
7
+
8
+ env:
9
+ REGISTRY: ghcr.io
10
+ IMAGE_NAME: ${{ github.repository }}
11
+
12
+ jobs:
13
+ build-and-push:
14
+ name: Build and push Docker image to registry
15
+ runs-on: ubuntu-latest
16
+ if: github.repository_owner == 'titaniumnetwork-dev'
17
+ permissions:
18
+ contents: write
19
+ packages: write
20
+ steps:
21
+ - name: Checkout repo
22
+ uses: actions/checkout@v3
23
+ - name: Setup docker buildx
24
+ uses: docker/setup-buildx-action@v3
25
+ - name: Login To registry ${{ env.REGISTRY }}
26
+ uses: docker/login-action@v3
27
+ with:
28
+ registry: ${{ env.REGISTRY }}
29
+ username: ${{ github.actor }}
30
+ password: ${{ github.token }}
31
+ - name: Extract Docker metadata
32
+ id: meta
33
+ uses: docker/metadata-action@v3
34
+ with:
35
+ images: ${{ env.REGISTRY }}/titaniumnetwork-dev/incognito
36
+ - name: Build and push
37
+ id: build-and-push
38
+ uses: docker/build-push-action@v4
39
+ with:
40
+ context: .
41
+ platforms: linux/amd64,linux/arm64
42
+ file: ./Dockerfile
43
+ name: incognito
44
+ push: ${{ github.event_name != 'pull_request' }}
45
+ tags: ${{ steps.meta.outputs.tags }}
46
+ labels: ${{ steps.meta.outputs.labels }}
47
+ cache-from: type=gha
48
+ cache-to: type=gha,mode=max
.github/workflows/release.yml ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch:
8
+
9
+ defaults:
10
+ run:
11
+ shell: bash
12
+
13
+ env:
14
+ FORCE_COLOR: true
15
+
16
+ jobs:
17
+ changelog:
18
+ name: Release TAG
19
+ if: ${{ github.repository_owner == 'titaniumnetwork-dev' }}
20
+ runs-on: ubuntu-latest
21
+ permissions:
22
+ contents: write
23
+ id-token: write
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+
27
+ - name: Setup Deno
28
+ uses: denoland/setup-deno@v2
29
+ with:
30
+ deno-version: 2.1.4
31
+
32
+ - name: Install dependencies
33
+ run: deno install --allow-scripts
34
+
35
+ - name: Create Release Pull Request or Publish
36
+ id: changesets
37
+ uses: changesets/action@v1
38
+ with:
39
+ version: deno task changeset:version
40
+ publish: deno task changeset:publish
41
+ commit: "[ci] release"
42
+ title: "[ci] release"
43
+ env:
44
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
.gitignore CHANGED
@@ -1,8 +1,32 @@
1
  # build output
2
  dist/
 
 
 
3
  .astro/
 
 
4
  node_modules/
 
 
5
  npm-debug.log*
 
 
 
 
 
6
  .env
7
- public/games/**
8
- exempt_masqr.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  # build output
2
  dist/
3
+ !vendor/scramjet/dist/
4
+
5
+ # generated types
6
  .astro/
7
+
8
+ # dependencies
9
  node_modules/
10
+
11
+ # logs
12
  npm-debug.log*
13
+ yarn-debug.log*
14
+ yarn-error.log*
15
+ pnpm-debug.log*
16
+
17
+ # environment variables
18
  .env
19
+ .env.production
20
+
21
+ #Config stuff
22
+ config.toml
23
+
24
+ # macOS-specific files
25
+ .DS_Store
26
+
27
+ # jetbrains setting folder
28
+ .idea/
29
+
30
+ # Stupidness
31
+ ~/
32
+
.gitmodules CHANGED
@@ -1,3 +0,0 @@
1
- [submodule "public/games"]
2
- path = public/games
3
- url = https://github.com/wearrrrr/alu-games
 
 
 
 
.gitpod.yml ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ # This configuration file was automatically generated by Gitpod.
2
+ # Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml)
3
+ # and commit this file to your remote git repository to share the goodness with others.
4
+
5
+ # Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart
6
+
7
+ tasks:
8
+ - init: npm install
9
+
10
+
CHANGELOG.md ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 1.0.0
2
+ - The initial rewrite to Astro. Includes:
3
+ - Fully static
4
+ - Easier to build
5
+ - Feels/is faster to use
6
+ - Fixes some bugs
7
+ - Among tons of other stuff
8
+
9
+ # 1.0.1
10
+ - Fixes the games and apps page looking weird
11
+
12
+ # 1.0.2
13
+ - Fixes Dockerfile issues
14
+
15
+ # 1.0.3
16
+ - Turns off Rammerhead by default for now
17
+ - Docker env fixes again
18
+ - SEO
19
+
20
+ # 1.0.4
21
+ - Bumps RH
22
+ - Fixes issues with bare-server-node
23
+
24
+ # 1.1.0
25
+ - Switches to Deno (mostly)
26
+ - General bug fixes
27
+ - Removes Rammerhead as an option and replaces it with Scramjet (coming soon)
28
+ - Removes bare server and adds libcurl as an option
29
+ - Adds a different Deno native server (Hono) - Command: `deno task start:standalone`
30
+ - Removes Masqr
31
+ - No more SSR, it's purely statically generated
32
+ - CI fixes and other general improvements
33
+ - Configuration is done via TOML over a bunch of environment vars
34
+ - Removes Biome in place of Deno's native formatter
35
+ - A better roadmap of what should be done in the future.
36
+
37
+ # 1.1.1
38
+ - Fixes a bug where if games aren't enabled it redirects to localhost:8080 over just /
39
+ - Fixes a bug where if games aren't enabled, it still loads and compresses images over just ignoring them.
40
+
41
+ # 1.1.2
42
+ - Fixes bugs with apps opening as the full url instead of just the correct link
43
+ - Fixes a bug with the iFrame panel where it copies & pastes the full link instead of just the normal link.
44
+ - Add Scramjet
45
+
46
+ # 1.1.3
47
+ - Add the notice that ScramJet is in beta and may break
48
+
49
+ # 1.1.4
50
+ - Add the ability to disable/enable SEO or selectively render/show it
51
+ - Adds the docker-builds.yml file to show the builds I am doing for the docker images.
52
+
53
+ # 1.1.5
54
+ - Fixes the games (mostly)
Dockerfile CHANGED
@@ -1,18 +1,20 @@
1
- FROM node:lts
2
 
3
- WORKDIR /usr/src/app
4
-
5
- # Copying package.json and pnpm-lock helps with caching
6
- COPY package.json pnpm-lock.yaml ./
7
-
8
- RUN npm i -g pnpm
9
-
10
- RUN pnpm install
11
 
 
 
12
  COPY . .
13
 
14
- RUN pnpm run build
15
-
16
- EXPOSE 3000
17
-
18
- CMD ["pnpm", "start"]
 
 
 
 
 
 
 
 
1
+ FROM denoland/deno:debian-2.1.4
2
 
3
+ WORKDIR /app
 
 
 
 
 
 
 
4
 
5
+ COPY package*.json .
6
+ COPY deno.jsonc .
7
  COPY . .
8
 
9
+ ARG SEO
10
+ RUN apt update
11
+ RUN apt install -y python3 python3-pip libssl-dev build-essential python3-dev nodejs
12
+ RUN cp -n config.example.toml config.toml
13
+ RUN deno install --allow-scripts
14
+ RUN deno task build
15
+ RUN export TERM=xterm-256color
16
+ ENV PORT="8000"
17
+ VOLUME /app
18
+ EXPOSE 8000
19
+ ENTRYPOINT ["deno", "task"]
20
+ CMD ["start", "--color"]
README.md CHANGED
@@ -1,67 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
- license: mit
3
- title: Proxy Alu
4
- sdk: docker
5
- emoji: 💻
6
- colorFrom: gray
7
- colorTo: red
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ---
9
- <p align="center">
10
- <img src="https://github.com/titaniumnetwork-dev/Alu/assets/99224452/d740378b-3fba-4470-8f06-3eefdae8a313" alt="AluLogo" width="250"/>
11
- </p>
12
 
13
- # Alu
 
 
 
 
 
 
14
 
15
- Alu is a beautiful, functional, and sleek web proxy that prioritizes customization and ease of use.
 
 
16
 
17
- ![Code size](https://shields.io/github/languages/code-size/titaniumnetwork-dev/Alu?style=flat-square&logo=github)
18
- ![Star count](https://shields.io/github/stars/titaniumnetwork-dev/Alu?style=flat-square&logo=github)
19
- ![Made with coffee](https://img.shields.io/badge/made%20with-coffee-452515?style=flat-square&logo=coffeescript)
20
 
21
- # Features
22
 
23
- - 🌐 UV and Rammerhead support
24
- - 🎨 Multiple Themes to choose from
25
- - 🏬 Marketplace for Themes and Extensions
26
- - 🕶 Multiple site cloaking options
27
- - 🎮 50+ Games to choose from
28
- - 🌎 Support for **6** Languages
29
- - 🚀 High performance
30
- - 🔍 Multiple Search Engines to pick from
31
 
32
- # Deploying Alu
33
 
34
- Deploying Alu is about as simple as it gets.
 
 
35
 
36
- 1. Open your terminal and type `git clone https://github.com/titaniumnetwork-dev/Alu --recurse-submodules`
37
 
38
- 2. Install pnpm with `npm i -g pnpm`.
 
 
39
 
40
- 3. Then simply run `pnpm i` to install all node_modules, and build the frontend with `pnpm run build`; this shouldn't take more than a couple seconds.
41
 
42
- 4. Finally, run `pnpm start` to actually serve Alu! It defaults to port 3000 for everything, but this can be specified in an env file.
 
 
43
 
44
- Congrats! You should now be running your very own instance of Alu! 🎉
45
 
46
- > [!WARNING]
47
- > Recursing all submodules will install [alu-games](https://github.com/wearrrrr/alu-games) as well. This repo contains _all_ games for Alu and is quite large! If you wish to skip it, simply remove `--recurse-submodules` from your clone command.
 
48
 
49
- ## What about Docker?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
- Alu can be easily dockerized with the `Dockerfile` provided in the repository. Simply run `docker build -t alu .` to build the image, and then `docker run -p 3000:3000 alu` to run the container, and you're good to go!
52
 
53
- # Technologies
 
 
 
54
 
55
- - Ultraviolet by Titanium Network
56
- - Bare Server from TompHTTP
57
- - Wisp Server Node by Mercury Workshop
58
- - Rammerhead by binary-person
59
- - Astro from astro.build
60
- - Typescript
61
- - ExpressJS
62
- - Prettier
63
- - ESLint
64
 
65
- # License
 
 
 
 
66
 
67
- Alu is licensed under the GNU GPL v3.0 License as of 2/9/2024.
 
 
 
 
 
 
1
+ <div align="center">
2
+
3
+ <img src="https://socialify.git.ci/titaniumnetwork-dev/incognito/image?description=1&font=Inter&forks=1&issues=1&language=1&name=1&owner=1&pattern=Circuit%20Board&pulls=1&stargazers=1&theme=Dark" alt="ruby" width="640" height="320" />
4
+
5
+ <img alt="repo size" src="https://img.shields.io/github/repo-size/titaniumnetwork-dev/incognito?style=for-the-badge"></img>
6
+ <img alt="website status" src="https://img.shields.io/website?url=https%3A%2F%2Fincog.nebula.christmas&style=for-the-badge"></img>
7
+ <img alt="commit a week" src="https://img.shields.io/github/commit-activity/w/titaniumnetwork-dev/incognito?style=for-the-badge"></img>
8
+ <a href="https://github.com/caracal-js/incognito" target="_blank" rel="noopener noreferer"><img alt="original repo" src="https://img.shields.io/badge/Original-Repo-gray?style=for-the-badge&link=https%3A%2F%2Fgithub.com%2Fcaracal-js%2Fincognito"></img></a>
9
+
10
+ </div>
11
+
12
+ <div align="center">
13
+ <h2>Get Started</h2>
14
+ <a>To get started, press one of the buttons below to deploy Incog</a>
15
+ <br />
16
+ <br />
17
+ <a href="#terminal">
18
+ <img src="https://img.shields.io/badge/terminal-%23121011.svg?style=for-the-badge&logo=gnu-bash&logoColor=white" alt="Terminal">
19
+ </img>
20
+ </a>
21
+ <a href="#docker">
22
+ <img src="https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white" alt="Docker">
23
+ </img>
24
+ </a>
25
+ </div>
26
+
27
+ ## NOTE:
28
+
29
+ - For Cyclic users this will unfortunatley _not_ work due to Cyclic supporting very little languages
30
+ - This will **NOT** deploy on Github Pages, Netlify, Vercel, Gitlab Pages or any other _static_ host
31
+ - This will **NOT** work on Render
32
+
33
+ ---
34
+
35
+ ## How to get links
36
+
37
+ [![Titanium Network Discord](https://invidget.switchblade.xyz/unblock?theme=dark)](https://discord.gg/unblock)
38
+
39
+ ---
40
+
41
+ ## Features
42
+
43
+ - Lots and lots of games
44
+
45
+ - Multiple Proxy "Backends":
46
+ - [Ultraviolet](https://github.com/titaniumnetwork-dev/ultraviolet)
47
+ - [Scramjet (coming soon)](https://github.com/mercuryworkshop/scramjet)
48
+
49
  ---
50
+
51
+ ## Contributors
52
+
53
+ - [MotorTruck1221](https://motortruck1221.com) - Maintainer
54
+ - [Rifting](https://github.com/rifting) - Maintainer
55
+ - [caracal-js](https://github.com/caracal-js) - Original Creator
56
+
57
+ ---
58
+
59
+ ## Tech Stack
60
+
61
+ - [Astro](https://astro.build)
62
+ - [Fastify](https://fastify.dev)
63
+ - [Ultraviolet](https://github.com/titaniumnetwork-dev/ultraviolet)
64
+ - [Epoxy](https://github.com/mercuryworkshop/epoxy-tls)
65
+ - [Libcurl.js](https://github.com/ading2210/libcurl.js)
66
+ - [Hono](https://github.com/honojs) as a Deno native alternative to fastify. Run with commadn: `deno task start:standalone`
67
+ - [Deno 2.0](https://github.com/denoland/deno)
68
+ - HTML, CSS, and JavaScript (DUH)
69
+
70
+ ---
71
+
72
+ ## Roadmap
73
+
74
+ - [ ] - [Implement Scramjet](https://github.com/mercuryworkshop/scramjet)
75
+ - [ ] - Remove dependency on Fastify & switch completely to Hono
76
+ - [ ] - General codebase cleanup & remove all of the functions exisiting on `window`
77
+ - [ ] - Games page needs to be reworked due to more games
78
+ - [ ] - [i18n](https://github.com/alexandre-fernandez/astro-i18n)
79
+ - [ ] - More themes
80
+ - [ ] - Detatch from the [Original repo](https://github.com/caracal-js/incognito)
81
+
82
+ ---
83
+
84
+ ## Deployment
85
+
86
+ ### Terminal
87
+
88
+ Prerequisites:
89
+
90
+ - Node & npm
91
+ - Deno 2.0
92
+ - Git
93
+
94
+ 1. Clone the repo:
95
+
96
+ ```bash
97
+ git clone https://github.com/titaniumnetwork-dev/incognito && cd incognito
98
+ ```
99
+
100
+ 2. Install all of the dependencies:
101
+
102
+ ```bash
103
+ deno install --allow-scripts # This is here for sharp and other dependencies like bufferutil
104
+ ```
105
+
106
+ 3. Create a config.toml file
107
+
108
+ ```bash
109
+ cp config.example.toml config.toml
110
+ ```
111
+
112
+ 4. Modify the config.toml file to you liking (docs [here](#config))
113
+
114
+ ```
115
+ nano config.toml
116
+ ```
117
+
118
+ 5. Build the frontend:
119
+
120
+ ```bash
121
+ deno task build
122
+ ```
123
+
124
+ 6. Start the server
125
+
126
+ ```bash
127
+ deno task start
128
+ ```
129
+
130
+ > [!NOTE]
131
+ > You can run `deno task start:standalone` to use Hono over Fastify, *recommended if you're using an external Wisp server like [Epoxy Server](https://github.com/mercuryworkshop/epoxy-tls)*
132
+ >
133
+ > You can run `deno task bstart` to build and start the server at the same time
134
+ >
135
+ > You can run `deno task bstart:standalone` to do the same as above but use the Hono server instead
136
+ >
137
+ > The Hono server has no built-in Wisp server so you'll have to provide one.
138
+
139
  ---
 
 
 
140
 
141
+ ### Games
142
+
143
+ - By default, games are reverse proxied by the server
144
+ - Game assets are located [here](https://github.com/ruby-network/ruby-assets)
145
+ - To turn off Games, and access to them see [#config](#config)
146
+
147
+ ### Docker
148
 
149
+ - There are two ways to deploy with docker:
150
+ - [Normal docker](#normal-docker)
151
+ - [Docker Compose](#docker-compose)
152
 
153
+ #### Normal Docker
 
 
154
 
155
+ Prerequisites:
156
 
157
+ - Git
158
+ - Docker
 
 
 
 
 
 
159
 
160
+ 1. Clone the repo (skip if using prebuilt image):
161
 
162
+ ```bash
163
+ git clone https://github.com/titaniumnetwork/incognito && cd incognito
164
+ ```
165
 
166
+ 2. Create an config.toml file (if using prebuilt image, copy the example from the repo):
167
 
168
+ ```bash
169
+ cp config.example.toml config.toml
170
+ ```
171
 
172
+ 3. Modify the .env file to your liking (docs [here](#config))
173
 
174
+ ```bash
175
+ nano config.toml
176
+ ```
177
 
178
+ 4. Build the docker image (skip if using prebuilt):
179
 
180
+ ```bash
181
+ docker build -t incog:latest
182
+ ```
183
 
184
+ 5. Run the docker images:
185
+
186
+ - Prebuilt:
187
+ ```bash
188
+ docker run --volume ./config.toml:/app/config.toml motortruck1221/incognito:latest
189
+ ```
190
+ - Image you built yourself:
191
+ ```bash
192
+ docker run --volume ./config.toml:/app/config.toml incog:latest
193
+ ```
194
+
195
+ #### Docker Compose
196
+
197
+ Prerequisites:
198
+
199
+ - Git
200
+ - Docker w/compose
201
+
202
+ 1. Clone the repo (skip if using prebuilt image):
203
+
204
+ ```bash
205
+ git clone https://github.com/titaniumnetwork-dev/incognito
206
+ ```
207
+
208
+ 2. Create an config.toml file (if using prebuilt image, copy the example from the repo):
209
+
210
+ ```bash
211
+ cp config.example.toml config.toml
212
+ ```
213
+
214
+ 3. Modify the config.toml file to your liking (docs on that [here](#config)]
215
+
216
+ ```bash
217
+ nano config.toml
218
+ ```
219
+
220
+ 4. Build the docker image (skip if using prebuilt):
221
+
222
+ ```bash
223
+ docker compose -f ./docker-compose.build.yml build
224
+ ```
225
+
226
+ 5. Run the docker image:
227
+
228
+ - Prebuilt:
229
+ ```bash
230
+ docker compose up
231
+ ```
232
+ - Image you built yourself:
233
+ ```bash
234
+ docker compose -f ./docker-compose.build.yml up
235
+ ```
236
+
237
+ ---
238
 
239
+ ## Config
240
 
241
+ - The config is rather simple and quick, it's done in TOML and there are only two object:
242
+ - `buildOpts` & `server` below there will be 2 tables showcasing the possible values.
243
+ > [!NOTE]
244
+ > As it says, `buildOpts` will only apply when *building* the website. This can be changed in the docker-compose files.
245
 
246
+ ##### Build Opts
247
+ | Type | Default | Description | Can be overwritten by ENV var |
248
+ |------|---------|------------------------------------|-------------------------------|
249
+ | games | `true` | Disables or enables the games page | - [ ] - No |
 
 
 
 
 
250
 
251
+ ##### Server
252
+ | Type | Default | Description | Can be overwritten by ENV var |
253
+ |------|---------|-----------------------------------------------------------------------------------------------------------------|------------------------------|
254
+ | port | `8000` | Change the default port. *Note: the environment var `PORT` takes precedence* | - [x] - Yes |
255
+ | wisp | `true` | Disable or enables the in built wisp server. *Note: when using the Hono server there is no built-in wisp server | - [ ] - No |
256
 
257
+ ##### SEO
258
+ | Type | Default | Description | Can be overwritten by ENV var | Is used at build time |
259
+ ---------|-------------------------|--------------------------------------------------------------------------|-------------------------------|-----------------------|
260
+ | SEO | `false` | Change whether or not to enabled SEO | - [x] - Yes - `SEO` | - [x] - Yes |
261
+ | DOMAIN | `http://localhost:8000` | When the `both` option is enable, only show the SEO stuff on this domain | - [x] - Yes - `DOMAIN` | - [ ] - No |
262
+ | BOTH | `false` | Works in tandem with option `DOMAIN` | - [x] - Yes - `BOTH` | - [ ] - No |
astro.config.ts ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sitemap from '@astrojs/sitemap';
2
+ import tailwind from '@astrojs/tailwind';
3
+ import { baremuxPath } from '@mercuryworkshop/bare-mux/node';
4
+ //@ts-expect-error No types
5
+ import { epoxyPath } from '@mercuryworkshop/epoxy-transport';
6
+ import { libcurlPath } from '@mercuryworkshop/libcurl-transport';
7
+ import playformCompress from '@playform/compress';
8
+ import { uvPath } from '@titaniumnetwork-dev/ultraviolet';
9
+ import icon from 'astro-icon';
10
+ import robotsTxt from 'astro-robots-txt';
11
+ import { defineConfig, envField } from 'astro/config';
12
+ import { viteStaticCopy } from 'vite-plugin-static-copy';
13
+ //we need the buildOpts from here : D
14
+ import { parsedDoc } from './server/config/config.ts';
15
+ const scramjetPath = `${import.meta.dirname}/vendor/scramjet/dist/`
16
+
17
+ // https://astro.build/config
18
+ export default defineConfig({
19
+ site: Deno.env.get('SITE') || 'https://localhost:8080',
20
+ integrations: [
21
+ tailwind(),
22
+ robotsTxt(),
23
+ sitemap(),
24
+ icon(),
25
+ playformCompress({
26
+ CSS: false,
27
+ HTML: true,
28
+ Image: true,
29
+ JavaScript: true,
30
+ SVG: true,
31
+ }),
32
+ ],
33
+ output: 'static',
34
+ env: {
35
+ schema: {
36
+ GAMES_LINK: envField.boolean({
37
+ context: 'client',
38
+ access: 'public',
39
+ default: parsedDoc.buildOpts.games,
40
+ }),
41
+ SEO: envField.boolean({
42
+ context: 'client',
43
+ access: 'public',
44
+ default: Boolean(Deno.env.get('SEO')) || parsedDoc.seo.enabled
45
+ })
46
+ },
47
+ },
48
+ vite: {
49
+ plugins: [
50
+ viteStaticCopy({
51
+ targets: [
52
+ {
53
+ src: `${uvPath}/**/*`.replace(/\\/g, '/'),
54
+ dest: 'uv',
55
+ overwrite: false,
56
+ },
57
+ {
58
+ src: `${epoxyPath}/**/*`.replace(/\\/g, '/'),
59
+ dest: 'epoxy',
60
+ overwrite: false,
61
+ },
62
+ {
63
+ src: `${libcurlPath}/**/*`.replace(/\\/g, '/'),
64
+ dest: 'libcurl',
65
+ overwrite: false,
66
+ },
67
+ {
68
+ src: `${baremuxPath}/**/*`.replace(/\\/g, '/'),
69
+ dest: 'baremux',
70
+ overwrite: false,
71
+ },
72
+ {
73
+ src: `${scramjetPath}/**/*`.replace(/\\/g, '/'),
74
+ dest: 'scram',
75
+ overwrite: false
76
+ }
77
+ ],
78
+ }),
79
+ ],
80
+ server: {
81
+ proxy: {
82
+ '/wisp/': {
83
+ target: 'wss://ruby.rubynetwork.co/wisp/',
84
+ changeOrigin: true,
85
+ ws: true,
86
+ rewrite: (path) => path.replace(/^\/wisp\//, ''),
87
+ },
88
+ '/gms/': {
89
+ target: 'https://rawcdn.githack.com/ruby-network/ruby-assets/main/',
90
+ changeOrigin: true,
91
+ ws: true,
92
+ secure: false,
93
+ rewrite: (path) => path.replace(/^\/gms\//, ''),
94
+ },
95
+ },
96
+ },
97
+ },
98
+ });
config.example.toml ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [buildOpts]
2
+ games = true
3
+
4
+ [server]
5
+ wisp = true
6
+ port = 8000
7
+
8
+ [seo]
9
+ enabled = false
10
+ both = false
11
+ domain = "http://localhost:8000"
deno.jsonc ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://deno.land/x/[email protected]/cli/schemas/config-file.v1.json",
3
+ "nodeModulesDir": "auto",
4
+ "tasks": {
5
+ "dev:server": "deno run -A --watch server/server.ts",
6
+ "dev:client": "astro dev",
7
+ "dev": "deno task dev:server & deno task dev:client",
8
+ "build:seo": "deno task check:frontend && SEO=true astro build --outDir dist/seo/ && SEO=false astro build --outDir dist/noseo/",
9
+ "build": "deno task check:frontend && astro build",
10
+ "start": "deno run --allow-net --allow-read --allow-env --allow-ffi --allow-sys server/server.ts",
11
+ "bstart": "deno task build && deno task start",
12
+ "bstart:seo": "deno task build:seo && deno task start",
13
+ "bstart:standalone": "deno task build && deno task start:standalone",
14
+ "bstart:standalone:seo": "deno task build:seo && deno task start:standalone",
15
+ "start:standalone": "deno run --allow-net --allow-read --allow-env server/standalone/standalone.ts",
16
+ "check:frontend": "astro check",
17
+ "check:server": "deno check server/**/*.ts",
18
+ "check": "deno task check:frontend && deno task check:server",
19
+ "changeset:version": "changeset version",
20
+ "changeset:publish": "changeset publish"
21
+ },
22
+ "fmt": {
23
+ "indentWidth": 4,
24
+ "lineWidth": 100,
25
+ "semiColons": true,
26
+ "proseWrap": "preserve",
27
+ "singleQuote": true
28
+ },
29
+ "imports": {
30
+ // Astro deps
31
+ "@astrojs/check": "npm:@astrojs/check@^0.9.4",
32
+ "@astrojs/sitemap": "npm:@astrojs/sitemap@^3.2.1",
33
+ "@astrojs/tailwind": "npm:@astrojs/tailwind@^5.1.3",
34
+ "astro": "npm:astro@^5.0.5",
35
+ "astro-seo": "npm:astro-seo@^0.8.4",
36
+ "astro-icon": "npm:astro-icon@^1.1.4",
37
+ "astro-robots-txt": "npm:astro-robots-txt@^1.0.0",
38
+ "tailwindcss": "npm:tailwindcss@^3.4.16",
39
+ "vite-plugin-static-copy": "npm:vite-plugin-static-copy@^2.2.0",
40
+ "@iconify-json/fa-solid": "npm:@iconify-json/fa-solid@^1.2.0",
41
+ "@iconify-json/fa6-solid": "npm:@iconify-json/fa6-solid@^1.2.2",
42
+ "@iconify-json/mdi": "npm:@iconify-json/[email protected]",
43
+ "@playform/compress": "npm:@playform/compress@^0.1.6",
44
+ "sharp": "npm:sharp@^0.33.5",
45
+ //Server stuff
46
+ "@fastify/compress": "npm:@fastify/compress@^8.0.1",
47
+ "@fastify/cookie": "npm:@fastify/cookie@^11.0.1",
48
+ "@fastify/http-proxy": "npm:@fastify/http-proxy@^10.0.1",
49
+ "@fastify/middie": "npm:@fastify/middie@^9.0.2",
50
+ "@fastify/static": "npm:@fastify/static@^8.0.2",
51
+ "fastify": "npm:fastify@^5.1.0",
52
+ //UV, bare-mux, RH, corlink & wisp
53
+ "@mercuryworkshop/bare-mux": "npm:@mercuryworkshop/bare-mux@^2.1.7",
54
+ "@mercuryworkshop/epoxy-transport": "npm:@mercuryworkshop/epoxy-transport@^2.1.27",
55
+ "@mercuryworkshop/libcurl-transport": "npm:@mercuryworkshop/libcurl-transport@^1.3.14",
56
+ "@titaniumnetwork-dev/ultraviolet": "npm:@titaniumnetwork-dev/ultraviolet@^3.2.10",
57
+ "wisp-server-node": "npm:wisp-server-node@^1.1.7",
58
+ //random other deps
59
+ "chalk": "npm:chalk@^5.3.0",
60
+ "@changesets/cli": "npm:@changesets/cli@^2.27.10",
61
+ "smol-toml": "npm:smol-toml@^1.3.1",
62
+ "@types/node": "npm:@types/node@^22.9.0",
63
+ "gradient-string": "npm:gradient-string@^3.0.0",
64
+ "@types/deno": "npm:@types/deno@^2.0.0",
65
+ "typescript": "npm:typescript@^5.7.2" //I need this for astro typechecking for some damn reason
66
+ }
67
+ }
deno.lock ADDED
The diff for this file is too large to render. See raw diff
 
docker-builds.yml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3'
2
+
3
+ # This file is for building the docker images and pushing them to the registry. You can safely ignore this
4
+
5
+ services:
6
+ incognito:
7
+ image: motortruck1221/incognito:latest
8
+ build:
9
+ context: .
10
+ dockerfile: Dockerfile
11
+ container_name: incognito
12
+ restart: unless-stopped
13
+ incognito-versioned:
14
+ image: motortruck1221/incognito:1.1.5
15
+ build:
16
+ context: .
17
+ dockerfile: Dockerfile
18
+ container_name: incognito
19
+ restart: unless-stopped
docker-compose.build.yml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3'
2
+
3
+ services:
4
+ incognito:
5
+ image: motortruck1221/incognito:latest
6
+ build:
7
+ context: .
8
+ dockerfile: Dockerfile
9
+ container_name: incognito
10
+ restart: unless-stopped
11
+ ports:
12
+ # The ports work like this: Host:Container (DO NOT MODIFY THE CONTAINER PORT)
13
+ - '8081:8000'
14
+ volumes:
15
+ - ./config.toml:/app/config.toml # this can be removed if you need the image to be stateless
16
+ #environment:
17
+ # - SEO=false - Enabled to turn on SEO in the build
18
+ # - BOTH=false - Use if you want both the SEO and non-seo versions
19
+ # - DOMAIN=https://incog.works - Use if you want SEO (when using the both option) to work properly
20
+
21
+ # The below allows you to change any of the `buildOpts` config options and use them.
22
+ #command:
23
+ # - bstart - Use if using Fastify
24
+ # - bstart:standalone - Use if using Hono
25
+ # See docs for differences
26
+ # - start:standalone - Command to use Hono over fastify
27
+ # See docs for differences between the servers
docker-compose.yml ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3'
2
+
3
+ services:
4
+ incognito:
5
+ image: motortruck1221/incognito:latest
6
+ container_name: incognito
7
+ restart: unless-stopped
8
+ ports:
9
+ # The ports work like this: Host:Container (DO NOT MODIFY THE CONTAINER PORT)
10
+ - '8081:8000'
11
+ volumes:
12
+ - ./config.toml:/app/config.toml # This can be removed if you need the image to be stateless
13
+ #environment:
14
+ # - SEO=false - Enabled to turn on SEO in the build
15
+ # - BOTH=false - Use if you want both the SEO and non-seo versions
16
+ # - DOMAIN=https://incog.works - Use if you want SEO (when using the both option) to work properly
17
+
18
+ # The below allows you to change any of the `buildOpts` config options and use them.
19
+ #command:
20
+ # - bstart - Use if using Fastify
21
+ # - bstart:standalone - Use if using Hono
22
+ # See docs for differences
23
+ # - start:standalone - Command to use Hono over fastify
24
+ # See docs for differences between the servers
package.json CHANGED
@@ -1,47 +1,11 @@
1
  {
2
- "name": "alu",
3
- "type": "module",
4
- "version": "0.0.1",
5
- "scripts": {
6
- "build:all": "npm run format && npm run lint && npm run build",
7
- "start": "node .",
8
- "build": "astro build",
9
- "dev": "npm run build && npm run start",
10
- "format": "prettier --write .",
11
- "format:check": "prettier --check .",
12
- "lint": "eslint .",
13
- "lint:fix": "eslint --fix ."
14
- },
15
- "dependencies": {
16
- "@astrojs/node": "^9.0.0",
17
- "@astrojs/sitemap": "^3.2.1",
18
- "@mercuryworkshop/bare-as-module3": "^2.2.5",
19
- "@mercuryworkshop/bare-mux": "^2.1.5",
20
- "@mercuryworkshop/epoxy-transport": "^2.1.26",
21
- "@mercuryworkshop/libcurl-transport": "^1.3.14",
22
- "@mercuryworkshop/wisp-js": "^0.3.3",
23
- "@rubynetwork/rammerhead": "^1.3.5",
24
- "@titaniumnetwork-dev/ultraviolet": "^3.2.10",
25
- "@tomphttp/bare-server-node": "^2.0.5",
26
- "@types/node": "^22.10.1",
27
- "astro": "^5.0.1",
28
- "chalk": "^5.3.0",
29
- "cookie-parser": "^1.4.7",
30
- "dotenv-flow": "^4.1.0",
31
- "express": "^4.21.1",
32
- "notyf": "^3.10.0",
33
- "sequelize": "^6.37.5",
34
- "sqlite3": "^5.1.7"
35
- },
36
- "devDependencies": {
37
- "@typescript-eslint/eslint-plugin": "^8.17.0",
38
- "@typescript-eslint/parser": "^8.17.0",
39
- "eslint": "^9.16.0",
40
- "eslint-plugin-astro": "^1.3.1",
41
- "prettier": "3.4.1",
42
- "prettier-plugin-astro": "^0.14.1"
43
- },
44
- "optionalDependencies": {
45
- "bufferutil": "^4.0.8"
46
- }
47
  }
 
1
  {
2
+ "name": "incognito",
3
+ "version": "1.1.5",
4
+ "private": true,
5
+ "type": "module",
6
+ "dependencies": {
7
+ "@iconify-json/fa-solid": "^1.1.8",
8
+ "@iconify-json/fa6-solid": "^1.1.21",
9
+ "@iconify-json/mdi": "^1.2.1"
10
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  }
public/favicon.svg DELETED
public/flash/instantiateFlash.js DELETED
@@ -1,33 +0,0 @@
1
- const id = window.location.pathname.split("/").pop();
2
- if (id && RufflePlayer) {
3
- document.title = `Flash Game - ${id}`;
4
- window.addEventListener("load", loadRuffle);
5
- } else {
6
- document.querySelector("#loader").classList.add("hidden");
7
- document.querySelector("#error").classList.remove("hidden");
8
- }
9
-
10
- function loadRuffle() {
11
- const ruffle = RufflePlayer.newest().createPlayer();
12
- ruffle.config = {
13
- splashScreen: false,
14
- unmuteOverlay: "hidden",
15
- autoplay: "on",
16
- contextMenu: "on",
17
- showSwfDownload: false
18
- };
19
- ruffle.style.width = "100%";
20
- ruffle.style.height = "100%";
21
- const gameContainer = document.querySelector("#gameContainer");
22
- if (gameContainer != null) {
23
- gameContainer.appendChild(ruffle);
24
- }
25
- ruffle.load(`/games/flash/${id}.swf`).then(() => {
26
- let loader = document.querySelector("#loader");
27
- loader.classList.remove("loading");
28
- loader.classList.add("hidden");
29
- document.querySelector("#gameContainer").classList.remove("hidden");
30
- });
31
- // Stop the event listener, saves miniscule amount of memory
32
- window.removeEventListener("load", loadRuffle);
33
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/game.css DELETED
@@ -1,73 +0,0 @@
1
- .vertical {
2
- height: 70vh !important;
3
- width: 30% !important;
4
- aspect-ratio: auto !important;
5
- }
6
- #main-content {
7
- margin-top: 2rem;
8
- }
9
- .game-container {
10
- display: flex;
11
- align-items: center;
12
- flex-direction: column;
13
- overflow: hidden;
14
- background: var(--dropdown-background-color);
15
- width: 80%;
16
- margin: 0 auto;
17
- margin-bottom: 4rem;
18
- border-radius: 15px;
19
- }
20
- #game-frame {
21
- aspect-ratio: 16 / 8;
22
- height: 80vh;
23
- width: 1350px;
24
- border: 0;
25
- }
26
-
27
- .flash-frame {
28
- width: 1024px !important;
29
- height: 576px !important;
30
- }
31
-
32
- .game-info {
33
- display: flex;
34
- flex-direction: column;
35
- gap: 1rem;
36
- background-color: var(--background-highlight);
37
- width: 100%;
38
- padding: 1rem;
39
- padding-top: 0;
40
- }
41
- .game-info-top {
42
- display: flex;
43
- justify-content: space-between;
44
- margin-top: 0.5rem;
45
- }
46
- .icn {
47
- width: 32px;
48
- height: 32px;
49
- cursor: pointer;
50
- }
51
- .game-info-left {
52
- display: flex;
53
- gap: 10px;
54
- justify-content: center;
55
- align-items: center;
56
- height: 48px;
57
- }
58
- .game-title {
59
- font-weight: bold;
60
- font-size: 20px;
61
- }
62
-
63
- .game-img {
64
- width: 48px;
65
- height: 48px;
66
- border-radius: 50%;
67
- border: 3px solid var(--accent-color-brighter);
68
- box-shadow: 0px 0px 20px 5px var(--accent-color-brighter);
69
- }
70
-
71
- .game-desc {
72
- margin: 0;
73
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/icons/canvas.png DELETED
Binary file (25.6 kB)
 
public/icons/classlink.png DELETED
Binary file (14.7 kB)
 
public/icons/classroom.png DELETED
Binary file (3.65 kB)
 
public/icons/clever.jpg DELETED
Binary file (2.37 kB)
 
public/icons/drive.png DELETED
Binary file (1.59 kB)
 
public/icons/edgenuity.png DELETED
Binary file (5.55 kB)
 
public/icons/google.png DELETED
Binary file (2.22 kB)
 
public/icons/schoology.webp DELETED
Binary file (4.69 kB)
 
public/icons/youtube.png DELETED
Binary file (2.78 kB)
 
public/iframe.css DELETED
@@ -1,11 +0,0 @@
1
- /* CSS for about:blank iframes */
2
-
3
- body {
4
- margin: 0;
5
- }
6
-
7
- iframe {
8
- width: 100%;
9
- height: 100%;
10
- border: none;
11
- }
 
 
 
 
 
 
 
 
 
 
 
 
public/img/checkmark.svg DELETED
public/img/games/fullscreen.svg DELETED
public/img/games/pin-outline.svg DELETED
public/img/games/pin.svg DELETED
public/img/nav/backwards.svg DELETED
public/img/nav/close.svg DELETED
public/img/nav/forwards.svg DELETED
public/img/nav/reload.svg DELETED
public/img/nav/share.svg DELETED
public/img/search.svg DELETED
public/logo.svg ADDED
public/marketplace/adblock/banner.png DELETED
Binary file (62.8 kB)
 
public/marketplace/adblock/icon.png DELETED
Binary file (72.9 kB)
 
public/marketplace/adblock/index.js DELETED
The diff for this file is too large to render. See raw diff
 
public/marketplace/atom-one-dark/logo.png DELETED
Binary file (16.5 kB)