Skip to content

Getting started with Ultraviolet

Ultraviolet is a highly advanced web proxy used for evading internet censorship or accessing websites in a controlled sandbox. It is designed with security and performance in mind. Ultraviolet intercepts HTTP requests with a service worker, while adhering to the while using libcurl.js or epoxy-tls with Wisp and is a leader in innovative web proxy technologies.

Features

Ultraviolet offers several features that set it apart from its predecessors, including CAPTCHA and hCAPTCHA support, URL encoding settings for added security, full end to send encryption, client-side configuration via service-workers, high speed compared to other web proxies, blacklist settings and more for easy hosting, leak prevention, regular updates, and improved resource usage and speed for better setups with a dedicated server instance.

Supported Sites

Some of the popular websites that Ultraviolet supports include:

Used by

Upgrading

A guide for updating from v2 to v3 can be found here.

Older Bare servers

Starting from v2, Ultraviolet only supports Bare servers v3+.

If you operate an outdated Bare server, we encourage you to update. If you’re using an outdated Bare server, we encourage you to find an updated Bare server or host your own.

If you’re too lazy to do either of the above, you can install an outdated and unsupported version of Ultraviolet.

Terminal window
npm install @titaniumnetwork-dev/ultraviolet@1

Deployment

This repository can be built, but it can’t be deployed to any services. See Ultraviolet-App for a complete and customizable Ultraviolet setup that you can deploy.

Documentation

Documentation can be found in the wiki.

Building

  1. Clone the repository

    Terminal window
    $ git clone https://github.com/titaniumnetwork-dev/Ultraviolet.git
    > Cloning into Ultraviolet...
    $ cd Ultraviolet
  2. Install dependencies

    Terminal window
    $ npm install
  3. Produce the dist/ directory and compile scripts

    Terminal window
    $ npm run build

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. 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.

Installation

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. Copy the link to the .tgz and install using NPM.

Terminal window
$ npm install https://github.com/titaniumnetwork-dev/Ultraviolet/releases/download/v1.0.1/ultraviolet-1.0.1.tgz
## 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

Deployment

Ultraviolet-Node

The deployable all-in-one bundle for Ultraviolet, a highly sophisticated proxy used for evading internet censorship or accessing websites in a controlled sandbox using the power of service-workers and more!

Deployment

Deploy to Heroku


Run on Replit


Deploy on Railway


Remix on Glitch


Deploy to Koyeb

If you are deploying to an alternative service or to a server, refer to Deploy via terminal.

Additional information such as customizing your frontend can be found on the wiki.