A versão implantável do Ultraviolet, um proxy altamente sofisticado usado para evitar a censura da Internet ou acessar sites em uma caixa de areia controlada usando o poder dos trabalhadores de serviços e muito mais!
A instalação do ultravioleta é simples. Você pode encontrar um TL; DR do processo de instalação e configuração logo abaixo. Se você não estiver familiarizado com o processo de instalação "padrão", procure um pouco mais adiante para um guia de instalação e instalação mais abrangente.
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive
$ cd Ultraviolet-Node
$ npm install
$ npm startPara configurar na replicação, clique primeiro no botão "Executar na REPLIT". Depois de carregar seu REPL, clique no botão verde "Executar". Como alternativa, execute os seguintes comandos:
$ npm install
$ chmod +x main.sh
$ ./main.sh Você só precisará executar o segundo comando uma vez. Apenas permite que main.sh seja executado. Ao executar main.sh , você atualizará quaisquer submódulos e iniciará o aplicativo.
NOTA : Se você optar por não usar main.sh , mas preferir apenas executar todos os comandos manualmente, observe que você precisará instalar manualmente os submódulos executando git update submodules --init . Sem ele, static não será instalado e esse é um diretório necessário.
Abaixo descreverá um guia abrangente para instalar o ultravioleta em máquinas Linux.
Para clonar o repositório, basta executar o seguinte comando:
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive A bandeira --recursive clonará o repositório e todos os submódulos.
Para começar a trabalhar na configuração real, CD no repositório. Você pode fazer isso executando o seguinte comando:
$ cd Ultraviolet-NodeA partir daqui, você pode atualizar seus submódulos e instalar suas dependências. Para fazer isso, execute o seguinte comando:
$ npm installFinalmente, para iniciar o ultravioleta, execute o seguinte comando:
$ npm start Você pode encontrar o ultravioleta em http://127.0.0.1:8080 . Se você deseja alterar a porta UV em execução, edite a última linha no index.mjs .
Observe que o UV não funcionará sem https. Se você estiver hospedando no Replit ou no Heroku, isso não será um problema, pois eles fornecem SSL/TLS por padrão e o aplicam automaticamente à sua instância; no entanto, se você estiver tentando hospedar UV em uma plataforma diferente, como um servidor pessoal, precisará usar o HTTPS.
Configurar o ultravioleta é muito simples. Descrições simples de cada opção configurável são fornecidas como um comentário no bloco abaixo. A documentação mais detalhada pode ser encontrada logo abaixo do bloco mencionado.
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
} ;| Configuração | Opções e explicação |
|---|---|
| Prefixo | O prefixo é o prefixo que você deseja que os usuários vejam. Ex: https://example.com/service. O prefixo padrão é service . |
| Nu | Servidores nus podem ser executados em diretórios. Por exemplo, se o diretório estivesse/nu/, a origem nua se pareceria http://example.org/bare/ . A origem nua é passada para os clientes. |
| Encodeurl | Encodeurl é como você deseja que o URL os visitantes de um site de proxy precise ser codificado. As opções incluem Ultraviolet.codec.base64.encode , Ultraviolet.codec.plain.encode , ou Ultraviolet.codec.xor.encode . Recomenda -se que você use xor ou base64 pois oculta as consultas que seus visitantes estão pesquisando e visitando. |
| decodurl | Decodeurl é como você deseja que o URL seja decodificado. Recomenda -se que você o mantenha o mesmo que encodeUrl . |
| Manipulador | O manipulador é o caminho para o manipulador de UV. O nome e o caminho padrão para este arquivo são static/uv/uv.handler.js . |
| Pacote | O pacote é o caminho para o arquivo de pacote UV. O nome e o caminho padrão deste arquivo são static/uv/uv.bundle.js . |
| Config | Config é o caminho para o arquivo de configuração UV. O nome e o caminho padrão deste arquivo são static/uv/uv.bundle.js . |
| SW | O SW é o caminho para o script de trabalhador de serviço UV. O nome padrão e o caminho para este arquivo são static/uv/uv.sw.js . |
Arquivos estáticos é o front -end para o ultravioleta. Um repositório independente para ele pode ser encontrado aqui.
A configuração menciona alguns scripts que compõem o ultravioleta. Para obter documentação para o que cada um dos scripts faz, consulte a documentação para eles em seu repositório independente.
Os scripts do cliente e trabalhador de serviço necessários para UV estão localizados em scripts ultravioleta
uv.sw.js Service Worker Gatewayuv.sw-handler.js - manipulador de trabalhadores de serviçouv.bundle.js webpack compilado reescrita ultravioletauv.handler.js Liga do lado do clienteuv.config.js Configuração