7.7 KiB
7.7 KiB
This will be our nonexhaustive todo list for Holy Unblocker LTS v6.x.x and above. Release for production will be v8.x.x and above.
Proxy/Site Functionality
- Update to use scramjetFrame instead of our own window handling
- Implement wisp python to the project instead of the unreliable wisp-server-node
- Add booksmark menu (source wise already present pretty much)
- Add Chii + ensuring users can access devtools while browsing - partial
- Setting to open multiple stealth frames; basically about:blank but using our system. Pops out in another tab
- Omnibox should state what the current site the user is on like a proper URL bar
- Improve adblocking functions on site using Workerware + a pre-bundled uBlock Origin
- Add a "website self-destruct" button to the settings menu
- Transport Options Swapping on Frame (Settings Menu doesn't swap)
- Fix keyword/descriptor randomisation - done
- Adapt Wisp protocol replacing bare which is very unsecure - done
- Improved error handling for proxy errors - done
- Ensure Ultraviolet is updated to support bare-mux and wisp - done
- Ensure Scramjet is added and works together with UV's implementation - done
- Adapt Scramjet as main proxy for the project - done
- Refactor register-sw.js - done
- Add Rammerhead support - done
- Fix slow Ultraviolet speeds despite being local; something on the backend?? - done
- Fix Ultraviolet on Firefox - (partial/needs work)
- Adapt Applications page to use Scramjet (for Reddit, YouTube, Discord) - done
- Added libcurl transport and epoxy transport to meet standards of SJ + Wisp - done
- SOCKS5/Tor routing option that can be configured as a settings menu option - done
- SOCKS5 regional proxy implementation - done
- Update Applications page to reflect modern fast links (use examples from the modern web proxy base) - done. can be expanded later
- Update settings menu again to make more room for more features - done
- Update csel.js (after Setting menu redesign) to support custom transports, icon swap, routing - done
- Flesh out and rework the UV / Scramjet / bare client error page - done
- Update sw.js to support workerware (https://github.com/MercuryWorkshop/workerware)-- This is not done however we have our own middleware system implemented for adblocking, etc.
- Omnibox autoupdate script (for the Google/Bing style auto suggest feature) - done
- Omnibar functionality (back and forward navigation, settings menu and create new stealth page with URL) - done
- Games library will feature new games - done
- Servers now utilise NextDNS w/ ads and malware blocked; anycast + low latency - done
- Revamp the Stealth Frame with a slight animation (ease in and then the wheeling loading with a gradient fading away once its loaded or shows the error page LOL), a loading wheel/page and lastly a omnibox widget. It will have like nav buttons, some of the settings from the settings menu, a home button, a button that brings up the Setting menu and be in a designed position. Intent is to reduce the back/forth nature that users have to do currently making it more tedious to use the site. - partial. needs functionality.
Code Cleanup
- Optimize the JS. This time it won't be in one line and will be somewhat thoroughly commented.
- Ensure all the original submodules get added back to HU-Archive
- SEO overhaul adapted from the v3 SEO Guide format - partial
- Optimize the stylesheets and the HTML layout. Add more proper commenting and redivide the code so that it's less hard on the eyes.
- 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 Fastify 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.
- Restructure navigation scripts to ensure updated proxy functionality is sanitized and effective - done
- Particles.js automatically adjusting per display size - done
- Fix routes.mjs throwing with incorrect paths - done
- Create CI testing script - done
- XSS and fingerprinting protection (may need updates) - done
- Greatly improved native source rewrites and routing - done
- Update games navigation JS and page/change to JSON object system - done
- Mobile support - (partial)
- Fastify routes modified to ensure perfect SEO. This means absolute paths such as /example instead of ?z - done
- Randomize the __uv$config global, and optionally randomize the UV prefix and URL encoding via cookies
Site Redesign
- Documentation on-site + Getting Started information updated (Tor, etc.) - partial; good enough
- Update colors + add themes - done
- Landing Cards - done
- Change fonts to cleaner look
- Add more AOS interactions on scroll or hover
- Add subtle noise to background elements
- Toggle elements
- Other card options
- Radial blur elements
- Code standard examples - in source
- Horizontal/general movement on scroll with AOS
- Showcase dev dependencies
- Update branding and icons
- Landing Page
- Settings Menu - partial I want to fix some colours
- More Dropdown Menu
- Web Proxies page
- Application page
- Games Library page
- Emulators Library page
- Emu Library page
- Web Games page
- Flash Games page
- FAQ page
- Credits page
- TOS page
- Footer Design
- Header Design
Community Requests
- Add Quake WASM
- Celeste WASM
Changelog (Old; too lazy to type it all out now)
- 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, and generally reworked to no longer leave global variables
- 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
- CSS Has been partially restructured for mobile support, and is now properly arranged into clearly labeled sections (for the most part)
- Incorporated makeshift domain blacklisting functionality into Ultraviolet, currently used for blocking ads if ads are disabled in settings
- Fleshed out the SEO with more descriptions and better labeling
- Switched to Fastify for serving content from the backend; a separate Express backend file is kept in case it's still needed
- Rammerhead is now locally built into the HU LTS repository
- Simplified the HU LTS setup process and added more default npm commands