La version déployable d'Ultraviolet, un proxy très sophistiqué utilisé pour échapper à la censure Internet ou à l'accès à des sites Web dans un bac à sable contrôlé en utilisant la puissance des travailleurs de service et plus encore!
L'installation d'Ultraviolet est simple. Vous pouvez trouver un TL; DR du processus d'installation et de configuration juste en dessous. Si vous n'êtes pas familier avec le processus d'installation "standard", regardez un peu plus loin pour un guide d'installation et de configuration plus complet.
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive
$ cd Ultraviolet-Node
$ npm install
$ npm startPour configurer la repection, cliquez d'abord sur le bouton "Exécuter sur Replit". Après avoir chargé votre REP, cliquez sur le bouton vert "Exécuter". Alternativement, exécutez les commandes suivantes:
$ npm install
$ chmod +x main.sh
$ ./main.sh Vous n'aurez à exécuter la deuxième commande qu'une seule fois. Il permet simplement d'exécuter main.sh En exécutant main.sh , vous metterez à jour tous les sous-modules et démarrez l'application.
Remarque : Si vous choisissez de ne pas utiliser main.sh , mais que vous préférez exécuter toutes les commandes manuellement, veuillez noter que vous devrez installer manuellement les sous-modules en exécutant git update submodules --init . Sans cela, static ne sera pas installée, et c'est un répertoire requis.
Vous trouverez ci-dessous un guide complet pour installer Ultraviolet sur les machines Linux.
Pour cloner le référentiel, exécutez simplement la commande suivante:
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive L'indicateur --recursive clonera le référentiel et tous les sous-modules.
Pour commencer à travailler sur la configuration réelle, CD dans le référentiel. Vous pouvez le faire en exécutant la commande suivante:
$ cd Ultraviolet-NodeDe là, vous pouvez mettre à jour vos sous-modules et installer vos dépendances. Pour ce faire, exécutez la commande suivante:
$ npm installEnfin, pour démarrer Ultraviolet, exécutez la commande suivante:
$ npm start Vous pouvez ensuite trouver Ultraviolet sur http://127.0.0.1:8080 . Si vous souhaitez modifier le port UV fonctionner, modifiez la dernière ligne dans index.mjs .
Veuillez noter que UV ne fonctionnera pas sans HTTPS. Si vous hébergez Replit ou Heroku, ce ne sera pas un problème car ils vous fournissent par défaut SSL / TLS et l'appliqueront automatiquement à votre instance, mais si vous essayez d'héberger des UV sur une plate-forme différente, comme un serveur personnel, vous devrez utiliser HTTPS.
La configuration d'Ultraviolet est très simple. Des descriptions simples de chaque option configurable sont fournies comme un commentaire dans le bloc ci-dessous. Des documents plus détaillés peuvent être trouvés juste en dessous du bloc mentionné.
uv.config.js
self . __uv$config = {
prefix : '/sw/' , // Proxy url prefix
bare : '/bare/' , // Bare server location
encodeUrl : Ultraviolet . codec . xor . encode , // URL Encoding function
decodeUrl : Ultraviolet . codec . xor . decode , // Decode URL function
handler : '/uv.handler.js' , // Handler script
bundle : '/uv.bundle.js' , // Bundled script
config : '/uv.config.js' , // Configuration script
sw : '/uv.sw.js' , // Service Worker Script
} ;| Configuration | Options et explication |
|---|---|
| Préfixe | Le préfixe est le préfixe que vous souhaitez que les utilisateurs voient. Ex: https://example.com/service. Le préfixe par défaut est service . |
| Nu | Les serveurs nus peuvent fonctionner sur les répertoires. Par exemple, si le répertoire était / nu / alors l'origine nue ressemblerait à http://example.org/bare/ . L'origine nue est transmise aux clients. |
| encodéurre | Encodeurl est la façon dont vous voulez que l'URL un site de proxy soit encodé. Les options incluent Ultraviolet.codec.base64.encode , Ultraviolet.codec.plain.encode , ou Ultraviolet.codec.xor.encode . Il est recommandé d'utiliser xor ou base64 car il cache les requêtes que vos visiteurs recherchent et visitent. |
| se décocher | Le décodeurl est la façon dont vous voulez que l'URL soit décodée. Il est recommandé de le garder le même que encodeUrl . |
| Maître | Le gestionnaire est le chemin vers le gestionnaire UV. Le nom et le chemin par défaut de ce fichier sont static/uv/uv.handler.js . |
| Paquet | Bundle est le chemin d'accès au fichier de bundle UV. Le nom et le chemin par défaut de ce fichier sont static/uv/uv.bundle.js . |
| Configurer | Config est le chemin d'accès au fichier de configuration UV. Le nom et le chemin par défaut de ce fichier sont static/uv/uv.bundle.js . |
| Swin | SW est le chemin vers le script des travailleurs du service UV. Le nom et le chemin par défaut de ce fichier sont static/uv/uv.sw.js |
Static Files est le frontend de Ultraviolet. Un référentiel autonome pour cela peut être trouvé ici.
La configuration mentionne quelques scripts qui composent ultraviolet. Pour obtenir une documentation pour ce que font chacun des scripts, consultez la documentation pour eux dans leur référentiel autonome.
Les scripts des travailleurs de la clientèle et des services requis pour les UV sont situés dans des scripts ultraviolets
uv.sw.js SERVICE WEETRAYALuv.sw-handler.js - gestionnaire de travailleurs de serviceuv.bundle.js WEBPACK RECRIPATION ULLUBLAGE COMPLÉMENTAIREuv.handler.js Crochet côté clientuv.config.js