Ultravioletの展開可能なバージョン。インターネット検閲の回避や、サービスワーカーの力などを使用して、制御されたサンドボックス内のWebサイトへのアクセスに使用される非常に洗練されたプロキシ!
紫外線の設置は簡単です。インストールおよびセットアッププロセスのTL; DRをすぐに見つけることができます。 「標準」インストールプロセスに慣れていない場合は、より包括的なインストールおよびセットアップガイドを少し見てください。
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive
$ cd Ultraviolet-Node
$ npm install
$ npm startREPLITをセットアップするには、最初に[REPLITで実行]ボタンをクリックします。 REPLにロードしたら、緑色の「実行」ボタンをクリックします。または、次のコマンドを実行します。
$ npm install
$ chmod +x main.sh
$ ./main.sh 2番目のコマンドを1回だけ実行する必要があります。 main.shを実行するだけです。 main.shを実行することにより、サブモジュールを更新し、アプリを起動します。
注: main.sh使用しないことを選択しますが、すべてのコマンドを手動で実行するだけで、 git update submodules --initを実行してサブモジュールを手動でインストールする必要があることに注意してください。それがなければ、 staticインストールされません。これは必須ディレクトリです。
以下に、Linuxマシンに紫外線を設置するための包括的なガイドについて説明します。
リポジトリをクローンするには、次のコマンドを実行するだけです。
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive --recursiveフラグは、リポジトリとすべてのサブモジュールをクローンします。
実際のセットアップの作業を開始するには、リポジトリにCDを使用します。次のコマンドを実行することで、次のことを行うことができます。
$ cd Ultraviolet-Nodeここから、サブモジュールを更新して依存関係をインストールできます。これを行うには、次のコマンドを実行します。
$ npm install最後に、紫外線を開始するには、次のコマンドを実行します。
$ npm startその後、 http://127.0.0.1:8080 8080で紫外線を見つけることができます。ポートUVを変更したい場合は、 index.mjsの最後の行を編集します。
UVはHTTPSなしでは機能しないことに注意してください。 ReplitまたはHerokuをホストしている場合、デフォルトでSSL/TLSを提供し、インスタンスに自動的に適用するため、これは問題になりませんが、個人サーバーなどの別のプラットフォームでUVをホストしようとしている場合は、HTTPSを使用する必要があります。
紫外線の構成は非常に簡単です。各構成可能なオプションの簡単な説明は、以下のブロックにコメントとして提供されます。より詳細なドキュメントは、前述のブロックのすぐ下にあります。
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
} ;| 構成 | オプションと説明 |
|---|---|
| プレフィックス | 接頭辞は、ユーザーに表示するプレフィックスです。例: https://example.com/service.デフォルトのプレフィックスはserviceです。 |
| 裸 | ベアサーバーはディレクトリで実行できます。たとえば、ディレクトリが/bare//bare/bare ostiringがhttp://example.org/bare/のように見えます。裸の起源はクライアントに渡されます。 |
| encodeurl | encodeurlは、プロキシサイトの訪問者をエンコードする必要があるURLをどのようにしたいかです。オプションには、 Ultraviolet.codec.base64.encode 、 Ultraviolet.codec.plain.encode 、またはUltraviolet.codec.xor.encodeが含まれます。訪問者が検索して訪問しているクエリを隠すため、 xorまたはbase64を使用することをお勧めします。 |
| decodeurl | Decodeurlは、URLをデコードする方法です。 encodeUrlと同じに保つことをお勧めします。 |
| ハンドラ | ハンドラーはUVハンドラーへのパスです。このファイルへのデフォルト名とパスはstatic/uv/uv.handler.jsです。 |
| バンドル | バンドルは、UVバンドルファイルへのパスです。このファイルへのデフォルト名とパスはstatic/uv/uv.bundle.jsです。 |
| config | 構成は、UV構成ファイルへのパスです。このファイルへのデフォルト名とパスはstatic/uv/uv.bundle.jsです。 |
| SW | SWは、UVサービスワーカースクリプトへのパスです。このファイルへのデフォルト名とパスはstatic/uv/uv.sw.jsです。 |
静的ファイルは、紫外線のフロントエンドです。スタンドアロンリポジトリはここにあります。
構成には、紫外線を構成するいくつかのスクリプトが言及されています。各スクリプトが何をするかについてのドキュメントを取得するには、スタンドアロンリポジトリでドキュメントをチェックしてください。
UVに必要なクライアントホーキングおよびサービスワーカーのスクリプトは、紫外線にあります
uv.sw.jsサービスワーカーゲートウェイuv.sw-handler.jsサービスワーカーハンドラーuv.bundle.js webpack compiled ultraviolet rewriteruv.handler.jsクライアント側のフックuv.config.js構成