titaniumnetwork-dev / Ultraviolet-App

Example application of Ultraviolet which can be deployed in production.
https://docs.titaniumnetwork.org/proxies/ultraviolet
MIT License
264 stars 4.14k forks source link

Base64 encoding/decoding very buggy unlike Xor encoding/decoding #29

Closed SkyTheNerd closed 11 months ago

SkyTheNerd commented 1 year ago

Base64 encoding/decoding is very buggy, which I currently rely on to achieve some tasks on the project I'm working on.

Expected Behavior

Everything is stable like it is when the encode/decode is Xor.

Current Behavior

Errors like these below happen frequently and search engines like google don't work. image image image

Steps to Reproduce

Live Example: https://bb-base-node-v2.skyatschool.repl.co/

Change the uv.config.js file in frontend to encode/decode URLs as base64

Context (Environment)

I have been working on a small project for bypassing GoGuardian called Bunker Browser (Live demo here) and there is a feature where you can search using the Ultraviolet proxy. Recently, it hasn't been working because iframes stopped working because the way I did it was using repl.it, and I was using the temporary link that is iframed for the workspace. I wanted to use the actual link for it but it wasn't working in iframes so I updated my Ultraviolet to the latest version. The way I made the search work for Bunker Browser is by taking what is searched in the search bar and encoding it with base64 because I don't know how to work with xor.

Detailed Description

The change I would like is to make base64 more stable, but an alternative way is to figure out a solution to do my encoding for my proxy search function so it works with xor encoding. (Base64 also kind of sucks because the lightspeed filter still blocks everything on school windows devices)

SkyTheNerd commented 1 year ago

Ok, I found out why search engines don't work, it's because the search variable is not encoded when searching, causing invalid results. Screenshot_20230214_064422

ProgrammerIn-wonderland commented 1 year ago

Complete sidenote but should be noted that using base64 increases bandwidth usage and is likely slower in everything other than encode/decode steps, your network throughput will likely be 2/3rds of Xor, just a fair warning