Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
QuiteAFancyEmerald committed Jul 18, 2024
2 parents c3a5b36 + 93f43a9 commit c723b9a
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 42 deletions.
67 changes: 56 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ This website is hosted locally with Ultraviolet and Rammerhead built-in.
## Future Additions
This will be our nonexhaustive todo list for Holy Unblocker LTS v6.x.x and above.

### Code Cleanup
## Code Cleanup

- [ ] Remove all current obfuscation in the source code. It needs to be dynamically obfuscated if anything, or not obfuscated at all. This option will be a config option on the server side before rendering with Express for a performance focus. Meta elements will have an additonal attribute indicating if they should be moved. This is to ensure a SEO source can be served by config or a source focused on pure censorship evasion.
- [ ] Optimize the stylesheets and the HTML layout. Add more proper commenting and redivide the code so that it's less hard on the eyes.
Expand All @@ -134,29 +134,74 @@ This will be our nonexhaustive todo list for Holy Unblocker LTS v6.x.x and above
- [x] Fix routes.mjs throwing with incorrect paths - done
- [x] Create test script - done
- [x] XSS and fingerprinting protection (may need updates) - done
- [ ] Update games navigation JS and page
- [x] Update games navigation JS and page/change to JSON object system - done
- [ ] Ensure all the original submodules get added back to HU-Archive
- [ ] Mobile support
- [ ] SEO overhaul adapted from the v2 SEO Guide format

### Proxy/Site Functionality
## Proxy/Site Functionality
- [x] Ensure Ultraviolet is updated to support bare-mux and wisp - done
- [x] Add Rammerhead support - done
- [x] Fix slow Ultraviolet speeds despite being local; something on the backend?? - done
- [ ] Fix Ultraviolet on Firefox
- [x] Fix Ultraviolet on Firefox - (partial/needs work)
- [ ] Adapt Applications page to use either Rammerhead or UV (for Reddit, YouTube, Discord)
- [ ] libcurl, epoxy and all that fun stuff
- [x] libcurl, epoxy and all that fun stuff - done
- [ ] socks5/tor routing option that can be configured (enabled) via either a cookie or pathname as a settings meny option
- [ ] Update games page content
- [ ] Update csel.js (after Setting menu redesign) to support custom transports, icon swap, routing
- [ ] Omnibox autoupdate script (for the Google/Bing style auto suggest feature)

### Site Redesign
- [x] Add potato (lime reminded me to do this)
- [x] Landing Page - done
- [ ] Games library will feature 10000 items; 5000 flash games and 5000 other game types

## Site Redesign
- [x] Landing Cards - done
- [ ] Change fonts to cleaner look
- [ ] Add more AOS interactions on scroll or hover
- [ ] Add subtle noise to background elements
- [ ] Update colors + add themes
- [ ] Toggle elements
- [ ] Other card options
- [ ] Radial blur elements
- [ ] Code standard examples
- [ ] Horizontal/general movement on scroll with AOS
- [ ] Showcase dev dependencies
- [ ] Update icons
- [x] Landing Page - (partial/needs work)
- [x] Settings Menu - (partial/needs work)
- [ ] More Dropdown Menu
- [ ] Web Proxies page
- [ ] Application page
- [ ] Hosting page
- [ ] Resources page
- [ ] Games Library page
- [x] Footer Design - done
- [x] Header Design - done
- [ ] Emulators Library page
- [ ] Emu Library page
- [ ] Web Games page
- [ ] Flash Games page
- [ ] Documentation page
- [ ] FAQ page
- [ ] Credits page
- [ ] TOS page
- [x] Footer Design - (partial/needs work)
- [x] Header Design - (partial/needs work)

## Changelog

- Added wisp support
- Fixed AD config setting being opt-out; ads are not implemented in the project however
- Added Rammerhead support (locally)
- Drastically updated visuals across the service and refactored stylesheets
- Bumped games page functionality
- Updated randomization scripts to ES6 syntax and implemented the alternative to RegEx string replacement
- Helmet for express implemented into backend
- Improved component handling via templates.mjs along with deletion of obsolete files that previously handled this standard in a poor format
- Fixed oddly slow speeds with Ultraviolet (as well as a general version bump to support epoxy-tls and bare-mux)
- Implemented testing scripts for an improved GitHub actions workflow by doing a quick test on proxy + site functionality
- Greatly optimized client-side scripts across the site with a new standard
- Changes to server.mjs with path logic and error handling
- Updated standards for common scripts
- libcurl and bare-as-module support added
- Deleted 5 JS scripts and moved lots of data into JSON files. Big reorganization. Games menu core scripts now nested inside of common.js utilizing a JSON system
- Massive updates to the Settings menu visually and functionality wise; added Bare-Mux support for swapping transports to work with Ultraviolet, default icons and selective adblocking + Tor on any proxy instances

## Vague Explanation for Beginners With External Proxies and Hosting
You will first want to host your proxies locally or externally. OUTDATED
Expand Down
3 changes: 1 addition & 2 deletions views/assets/css/styles-1644738239.css
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,6 @@ details[open] summary {
z-index: 5; /* Ensures it appears above other content */
align-items: center;
justify-content: center;
display: none; /* Flexbox to center content */
}

.settings-content {
Expand All @@ -417,7 +416,7 @@ details[open] summary {
text-align: center;
}

.dropdown-parent:focus-within .dropdown-settings {
.dropdown-parent:focus-within .dropdown-settings:not(:is(:has(.close-settings-btn:active))) {
display: flex; /* Flexbox to center content */
}

Expand Down
2 changes: 1 addition & 1 deletion views/assets/js/common-16451543478.js
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ addEventListener("DOMContentLoaded", () => {

// Which function is used for the click event is determined by
// the corresponding location/index in the dirnames object.
let functionsList = [
const functionsList = [
() => goFrame(item.path),
() => goFrame("/?eg&core=" + item.core + "&rom=" + item.rom),
() => item.custom ? goProx[item.custom]("stealth") : goFrame("/archive/g/" + item.path)
Expand Down
3 changes: 3 additions & 0 deletions views/assets/js/csel.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ readCookie("HBHideAds").then(s => (s != "false") ? pageHideAds() : pageShowAds((
// All code below is used by the Settings UI in the navigation bar.
if (document.getElementById("csel")) {

let closeBtn = document.querySelector(".dropdown-settings .close-settings-btn");
closeBtn.addEventListener("click", () => {document.activeElement.blur()});

// Allow users to set a custom title with the UI.
let titleform = document.getElementById("titleform");
titleform.addEventListener("submit", e => {
Expand Down
30 changes: 2 additions & 28 deletions views/pages/misc/deobf/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,38 +32,12 @@
</ul>
</div>
</li>
<li class="dropdown-parent open-settings-menu">
<li class="dropdown-parent">
<div class="pulse white-text">
<a href="#">Settings <i class="fas fa-cog pulse"></i></a>
</div>
<div class="dropdown-settings" tabindex="0">
<div id="csel"><!--SETTINGS--></div>
</div>
</li>
</ul>
<script>
function setupSettingsDropdown() {
const openSettingsBtn = document.querySelector('.open-settings-menu');
const settingsContent = document.querySelector('.dropdown-settings');

if (!openSettingsBtn || !settingsContent) {
console.error('Open settings button or settings content not found.');
return;
}

openSettingsBtn.addEventListener('click', () => {
settingsContent.style.display = 'flex'; // Display the settings dropdown
});

document.addEventListener('click', (event) => {
const isCloseBtn = event.target.closest('.close-settings-btn');
if (isCloseBtn) {
settingsContent.style.display = 'none'; // Hide the settings dropdown
}
});
}

document.addEventListener('DOMContentLoaded', () => {
setupSettingsDropdown();
});
</script>
</ul>

0 comments on commit c723b9a

Please sign in to comment.