This commit is contained in:
QuiteAFancyEmerald 2024-07-18 12:19:24 -07:00
commit c723b9a56a
5 changed files with 62 additions and 41 deletions

View file

@ -124,7 +124,7 @@ This website is hosted locally with Ultraviolet and Rammerhead built-in.
## Future Additions ## Future Additions
This will be our nonexhaustive todo list for Holy Unblocker LTS v6.x.x and above. 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. - [ ] 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. - [ ] Optimize the stylesheets and the HTML layout. Add more proper commenting and redivide the code so that it's less hard on the eyes.
@ -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] Fix routes.mjs throwing with incorrect paths - done
- [x] Create test script - done - [x] Create test script - done
- [x] XSS and fingerprinting protection (may need updates) - 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 - [ ] 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] Ensure Ultraviolet is updated to support bare-mux and wisp - done
- [x] Add Rammerhead support - done - [x] Add Rammerhead support - done
- [x] Fix slow Ultraviolet speeds despite being local; something on the backend?? - 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) - [ ] 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 - [ ] 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 games page content
- [ ] Update csel.js (after Setting menu redesign) to support custom transports, icon swap, routing - [ ] 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) - [ ] Omnibox autoupdate script (for the Google/Bing style auto suggest feature)
- [ ] Games library will feature 10000 items; 5000 flash games and 5000 other game types
### Site Redesign ## Site Redesign
- [x] Add potato (lime reminded me to do this) - [x] Landing Cards - done
- [x] Landing Page - 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 - [ ] Web Proxies page
- [ ] Application page - [ ] Application page
- [ ] Hosting page
- [ ] Resources page
- [ ] Games Library page - [ ] Games Library page
- [x] Footer Design - done - [ ] Emulators Library page
- [x] Header Design - done - [ ] 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 ## Vague Explanation for Beginners With External Proxies and Hosting
You will first want to host your proxies locally or externally. OUTDATED You will first want to host your proxies locally or externally. OUTDATED

View file

@ -403,7 +403,6 @@ details[open] summary {
z-index: 5; /* Ensures it appears above other content */ z-index: 5; /* Ensures it appears above other content */
align-items: center; align-items: center;
justify-content: center; justify-content: center;
display: none; /* Flexbox to center content */
} }
.settings-content { .settings-content {
@ -417,7 +416,7 @@ details[open] summary {
text-align: center; 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 */ display: flex; /* Flexbox to center content */
} }

View file

@ -471,7 +471,7 @@ addEventListener("DOMContentLoaded", () => {
// Which function is used for the click event is determined by // Which function is used for the click event is determined by
// the corresponding location/index in the dirnames object. // the corresponding location/index in the dirnames object.
let functionsList = [ const functionsList = [
() => goFrame(item.path), () => goFrame(item.path),
() => goFrame("/?eg&core=" + item.core + "&rom=" + item.rom), () => goFrame("/?eg&core=" + item.core + "&rom=" + item.rom),
() => item.custom ? goProx[item.custom]("stealth") : goFrame("/archive/g/" + item.path) () => item.custom ? goProx[item.custom]("stealth") : goFrame("/archive/g/" + item.path)

View file

@ -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. // All code below is used by the Settings UI in the navigation bar.
if (document.getElementById("csel")) { 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. // Allow users to set a custom title with the UI.
let titleform = document.getElementById("titleform"); let titleform = document.getElementById("titleform");
titleform.addEventListener("submit", e => { titleform.addEventListener("submit", e => {

View file

@ -32,7 +32,7 @@
</ul> </ul>
</div> </div>
</li> </li>
<li class="dropdown-parent open-settings-menu"> <li class="dropdown-parent">
<div class="pulse white-text"> <div class="pulse white-text">
<a href="#">Settings <i class="fas fa-cog pulse"></i></a> <a href="#">Settings <i class="fas fa-cog pulse"></i></a>
</div> </div>
@ -41,29 +41,3 @@
</div> </div>
</li> </li>
</ul> </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>