Skip to content

Commit c66f356

Browse files
committed
Zenithub --> DotGUI Update (12/19/25)
1 parent 3f7cc86 commit c66f356

File tree

302 files changed

+108537
-13182
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

302 files changed

+108537
-13182
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules/
2+
.codesandbox/

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,4 +199,4 @@
199199
distributed under the License is distributed on an "AS IS" BASIS,
200200
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201201
See the License for the specific language governing permissions and
202-
limitations under the License.
202+
limitations under the License.

README.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,49 @@
1-
> **Important Note:** ZENITHUB IS BEING COMPLETELY REBRANDED and REWORKED! The site is not being DEPRECATED!
1+
<p align="center">
2+
<img src="favicon.ico" alt="DotGUI Logo"/>
3+
</p>
4+
5+
# DotGUI (Formerly Zenithub, and before that, BlackoutGames.)
6+
7+
DotGUI is an advanced game-site that features over 80+ games, a (half-baked atm) proxy, tools, clean UI and UX, and high-quality updates that bring much needed changes. It is also insanely easy to deploy the site as well, because it is also static! We also have the fastest fan-service of ANY site out there!
8+
- Join the discord server [here](https://discord.gg/U8tT8AazXb) to get access to insights into future updates, important information, report bugs into more detail, recieve more detailed help with problems, get links, and more.
9+
- (Please note there isn't any general channel in the server, and you can only talk in the bug report channel, being off topic = 1 week mute, and repeated offenses give you an unappealable ban from the server.)
10+
11+
# Regarding any possibly copywrited games/tools :
12+
13+
We do not own the rights to any of the games featured, we just host them for anyone who wants to play them. Most games are just requested by different people, and we just add them. Please do not take down our site for any games we have hosted, and instead, just open an issue to get us to remove it.
14+
# Use Instructions:
15+
16+
### To use in the browser (No work needed):
17+
18+
Go to one of our OFFICIAL Links listed in the Discord Server.
19+
20+
### For Static Hosts:
21+
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FDotLYHiyou%2FDotGUI)
22+
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/DotLYHiyou/DotGUI)
23+
[![Deploy to Cloudflare](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/DotLYHiyou/DotGUI)
24+
- It also works with any other static host you can think of.
25+
### For Github Pages Deployment
26+
1. Fork the repo.
27+
2. Follow [these](https://docs.github.com/en/pages/quickstart) instructions.
28+
29+
### Data URL method
30+
```
31+
data:text/html;charset=utf-8,<html><head><title>BERKSHIRE HATHAWAY INC.</title><style>body,html,iframe{margin:0;padding:0;height:100%;width:100%;overflow:hidden;border:none;}</style></head><body><iframe src="https://jbsfgkfbguofasboufbv.wasmer.app/"></iframe></body></html>
32+
```
33+
for added security, navigate to settings and click the 2nd button.
34+
### For Github Codespaces use (or for anything like it, for example Codesandbox: fork the repo and open it in the app.)
35+
1. On the github repo, click the blue "Code" button.
36+
2. Then, click "Create Codespace on main"
37+
3. It will take a while to make. Once you are done, open a new terminal.
38+
4. Type `npm install` in the terminal to install dependencies.
39+
5. Then, type `npx servor`
40+
6. This will start a new static site page.
41+
42+
# Credits
43+
- Credits to all of the people who own the rights to the games, just open an issue to get a game taken down, just provide proof you own the game.
44+
- Credits to Mercury Workshop for Scramjet that my proxies going forward will depend on to work.
45+
- Credits to soap-phia for Tinyjet, a static Scramjet implementation.
46+
- Credits to the following sources for the games:
47+
- UGS for the main games.
48+
- GN-Math for the Exotic games.
49+
- Other sources for the non-embedded ones.

disclaimer.html

Lines changed: 53 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,53 @@
1-
<h1>Disclaimer to students using Zenithub!</h1>
2-
<p>DotLYHiyou and T9 are not responsible for any trouble using our services can get you into.</p>
3-
<p>The choice you made to play games in the middle of class (or any other situation where using our services is inappropriate) is simply a self-concious decision. Dot might even clown you if he finds out lol.</p>
4-
<h1>Disclaimer to Teachers who caught their students using Zenithub</h1>
5-
<p>Your best approach is to punish the student by confiscating their device for a while, talking to their parents, and preferably blocking this site.</p>
6-
<p>Do i not want the site getting blocked in your area because of loss of users? Maybe. Do I make revenue from Zenithub? No. This is a passion project, so it won't make much of a difference anyway.</p>
7-
<button class="button" onclick="window.location.href='start.html'">Alright, Take Me Back</button>
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<title>Disclaimer</title>
5+
<meta charset="UTF-8" />
6+
<meta name="viewport" content="width=device-width" />
7+
<link rel="stylesheet" href="styles.css" />
8+
</head>
9+
<body>
10+
<nav>
11+
<button type="button" class="nav-btn" onclick="location.href='/start.html'">Home</button>
12+
<button type="button" class="nav-btn" onclick="location.href='/select.html'">Games</button>
13+
<button type="button" class="nav-btn" onclick="location.href='/tools.html'">Tools</button>
14+
<button type="button" class="nav-btn" onclick="location.href='/settings.html'">Settings</button>
15+
<button type="button" class="nav-btn" aria-current="page" onclick="location.href='/disclaimer.html'">Disclaimer</button>
16+
</nav>
17+
<div id="games">
18+
<main>
19+
<h1>Disclaimer</h1>
20+
<p>I, DotLYHiyou, owner and sole maintainer of Zenithub, am not responsible for any trouble you have gotten yourself into using my site.</p>
21+
<p>Your choice to use my site in whatever situation it was inappropriate is merely self-conscious.</p>
22+
<h2>As for teachers who caught their students,</h2>
23+
<p>I am not in the wrong for giving this site and all related materials for easy access to people like your student.</p>
24+
<p>I, despite what it seems most of the time, dispise kiddos who decide to play games while not doing work. </p>
25+
<p>Its best you give them a moderate punishment, such as taking away their device, and maybe talking to their parents.</p>
26+
<p>I wouldn't go too far in the punishment, unless they are doing repeat offenses. Then I suggest just doing what you see fit.</p>
27+
<h1>USERS. YOU HAVE BEEN WARNED.</h1>
28+
</main>
29+
</div>
30+
</body>
31+
<script>
32+
// Tab cloaker script for all pages except search
33+
(function() {
34+
const value = localStorage.getItem('tabCloaker') || 'default';
35+
const favicon = document.querySelector("link[rel~='icon']") || (() => {
36+
const link = document.createElement('link');
37+
link.rel = 'icon';
38+
document.head.appendChild(link);
39+
return link;
40+
})();
41+
if (value === 'google') {
42+
document.title = 'Google';
43+
favicon.href = 'https://www.google.com/favicon.ico';
44+
} else if (value === 'vocab') {
45+
document.title = 'My Learning | Vocabulary.com';
46+
favicon.href = 'https://www.vocabulary.com/favicon.ico';
47+
} else {
48+
document.title = 'Disclaimer';
49+
favicon.href = '/favicon.ico';
50+
}
51+
})();
52+
</script>
53+
</html>

favicon.ico

8 KB
Binary file not shown.
File renamed without changes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@
3030

3131
</head>
3232
<body>
33-
<canvas></canvas>
33+
<canvas></canvas>

game-embeds/amongus.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<!-- Ultimate Game Stash file-->
2+
<!-- For the regularly updating doc go to https://docs.google.com/document/d/1_FmH3BlSBQI7FGgAQL59-ZPe8eCxs35wel6JUyVaG8Q/ -->
3+
4+
5+
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/mamayaya1/game@f3a882424a8f28d07bdf456b251d889725c4c1e4/projects/among-us/style.css" /> </head> <body> <script> window.addEventListener("keydown", function(e) { if(["Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.code) > -1) { e.preventDefault(); } }, false); </script> <noscript> <div id="notSupportedWrap"> <h2 id="notSupportedTitle">This content requires JavaScript</h2> <p class="notSupportedMessage">JavaScript appears to be disabled. Please enable it to view this content. Thanks! :)</p> </div> </noscript> <script src="https://cdn.jsdelivr.net/gh/mamayaya1/game@f3a882424a8f28d07bdf456b251d889725c4c1e4/projects/among-us/scripts/supportcheck.js"></script> <script src="https://cdn.jsdelivr.net/gh/mamayaya1/game@f3a882424a8f28d07bdf456b251d889725c4c1e4/projects/among-us/scripts/offlineclient.js" type="module"></script> <script src="https://cdn.jsdelivr.net/gh/gahaden/ags@4f1a2b8755bcbf67ba043a7eca6c2e05d0b5bfe5/main.js" type="module"></script> <script src="https://cdn.jsdelivr.net/gh/mamayaya1/game@f3a882424a8f28d07bdf456b251d889725c4c1e4/projects/among-us/scripts/register-sw.js" type="module"></script>

game-embeds/awesome.html

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
<Module>
2+
3+
4+
<!-- Ultimate Game Stash file-->
5+
<!-- For the regularly updating doc go to https://docs.google.com/document/d/1_FmH3BlSBQI7FGgAQL59-ZPe8eCxs35wel6JUyVaG8Q/ -->
6+
7+
8+
9+
<html lang="en">
10+
<head>
11+
<meta charset="utf-8">
12+
<meta http-equiv="x-ua-compatible" content="ie=edge">
13+
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
14+
<title>really cool flash game</title>
15+
<style>
16+
html, body {
17+
margin: 0;
18+
padding: 0;
19+
background: black;
20+
overflow: hidden;
21+
height: 100%;
22+
width: 100%;
23+
}
24+
#flash-container {
25+
position: absolute;
26+
top: 50%;
27+
left: 50%;
28+
transform: translate(-50%, -50%);
29+
background: black;
30+
overflow: hidden;
31+
}
32+
.black-box {
33+
position: fixed;
34+
background: black;
35+
z-index: 10;
36+
}
37+
#box-top {
38+
top: 0;
39+
left: 0;
40+
width: 100%;
41+
height: 0;
42+
}
43+
#box-bottom {
44+
bottom: 0;
45+
left: 0;
46+
width: 100%;
47+
height: 0;
48+
}
49+
#box-left {
50+
top: 0;
51+
left: 0;
52+
width: 0;
53+
height: 100%;
54+
}
55+
#box-right {
56+
top: 0;
57+
right: 0;
58+
width: 0;
59+
height: 100%;
60+
}
61+
ruffle-player {
62+
width: 100%;
63+
height: 100%;
64+
background: black;
65+
display: block;
66+
}
67+
</style>
68+
<script src="https://cdn.jsdelivr.net/npm/@ruffle-rs/ruffle@0.2.0-nightly.2025.10.2/ruffle.min.js"></script>
69+
</head>
70+
<body>
71+
<div id="flash-container"></div>
72+
<div class="black-box" id="box-top"></div>
73+
<div class="black-box" id="box-bottom"></div>
74+
<div class="black-box" id="box-left"></div>
75+
<div class="black-box" id="box-right"></div>
76+
<script>
77+
const container = document.getElementById("flash-container");
78+
const boxTop = document.getElementById("box-top");
79+
const boxBottom = document.getElementById("box-bottom");
80+
const boxLeft = document.getElementById("box-left");
81+
const boxRight = document.getElementById("box-right");
82+
83+
function resizeGame() {
84+
const windowWidth = window.innerWidth;
85+
const windowHeight = window.innerHeight;
86+
const aspectRatio = 5.5 / 3;
87+
88+
// Use 95% of available space instead of 100%
89+
let width = Math.floor(windowWidth * 1);
90+
let height = Math.floor(width / aspectRatio);
91+
92+
if (height > windowHeight * 1) {
93+
height = Math.floor(windowHeight * 1);
94+
width = Math.floor(height * aspectRatio);
95+
}
96+
97+
container.style.width = `${width}px`;
98+
container.style.height = `${height}px`;
99+
100+
// Calculate margins
101+
const topMargin = (windowHeight - height) / 2;
102+
const leftMargin = (windowWidth - width) / 2;
103+
104+
// Set black box sizes
105+
boxTop.style.height = `${topMargin}px`;
106+
boxBottom.style.height = `${topMargin}px`;
107+
boxLeft.style.width = `${leftMargin}px`;
108+
boxRight.style.width = `${leftMargin}px`;
109+
}
110+
111+
window.addEventListener("resize", resizeGame);
112+
window.addEventListener("DOMContentLoaded", () => {
113+
resizeGame();
114+
const ruffle = window.RufflePlayer?.newest() || window.RufflePlayer?.createPlayer();
115+
if (ruffle && container) {
116+
const player = ruffle.createPlayer();
117+
player.style.width = "100%";
118+
player.style.height = "100%";
119+
player.style.background = "black";
120+
container.appendChild(player);
121+
player.load("$1");
122+
} else {
123+
container.textContent = "Ruffle failed to load.";
124+
}
125+
});
126+
</script>
127+
<param name="movie" value="https://cdn.jsdelivr.net/gh/bubbls/UGS-file-encryption@754a57837e92bb4552e8247c6a401bd4ce8e4ee7/587840_awesomeTanks.swf">
128+
<embed src="https://cdn.jsdelivr.net/gh/bubbls/UGS-file-encryption@754a57837e92bb4552e8247c6a401bd4ce8e4ee7/587840_awesomeTanks.swf" width="100%" height="100%">
129+
</body>
130+
</html>
131+
]]></Content>
132+
</Module>

0 commit comments

Comments
 (0)