Ultraviolet

Advanced web proxy used for evading internet censorship or accessing websites in a controlled sandbox. Ultraviolet works by intercepting HTTP requests with a service worker script that follows the [TompHTTP specifications](https://github.com/tomphttp). See the [changelog](./CHANGELOG.md) if you're using v1.0.1 or above! Documentation can be found in the [wiki](https://github.com/titaniumnetwork-development/Ultraviolet/wiki). ## How do I deploy/run this? This repository is the bare-bones of Ultraviolet. This only contains the source code required to compile `uv.` scripts. See [Ultraviolet-Node](https://github.com/titaniumnetwork-development/Ultraviolet-Node) for easy instructions to deploy an Ultraviolet website. An example of REALLY using this (API, copying files, etc) is in [Ultraviolet-Static](https://github.com/titaniumnetwork-development/Ultraviolet-Static). See [scripts/build.js](https://github.com/titaniumnetwork-development/Ultraviolet-Static/blob/main/scripts/build.js). ## I don't care about building, where are the scripts for my website?! You can extract the scripts from the NPM package in the [releases section](https://github.com/titaniumnetwork-development/Ultraviolet/releases). All the scripts you would typically look for (`uv.bundle.js`, `uv.handler.js`, `uv.sw.js`, and `uv.config.js`) are found within the `dist` directory. If you cannot open the tar.gz (Chrome OS?), use a [converter](https://cloudconvert.com/tar.gz-to-zip). We can only do so much to make the scripts accessible. ## How do I install this? > This will provide built files and the JS API to access the path of dist files. Currently, we don't have an NPM package. As a current solution, you can install from a [GitHub release](https://github.com/titaniumnetwork-development/Ultraviolet/releases). Copy the link to the `.tgz` and install using NPM. ```sh $ npm install https://github.com/titaniumnetwork-development/Ultraviolet/releases/download/v1.0.1/ultraviolet-1.0.1.tgz ``` ## How do I build this? 1. Clone the repository ```sh $ git clone https://github.com/titaniumnetwork-development/Ultraviolet.git > Cloning into Ultraviolet... $ cd Ultraviolet ``` 2. Install dependencies ```sh $ npm install ``` 3. Produce the `dist/` directory and compile scripts ```sh $ npm run build ``` ## Packaging This is intended for releasing on hosting the package as a file, not on NPM. ```sh $ npm pack ``` Package will be named `ultraviolet-X.X.X.tgz`