Ultraviolet รุ่นที่ปรับใช้ได้ซึ่งเป็นพร็อกซีที่มีความซับซ้อนสูงที่ใช้ในการหลบเลี่ยงการเซ็นเซอร์อินเทอร์เน็ตหรือการเข้าถึงเว็บไซต์ในกล่องทรายที่ควบคุมโดยใช้พลังของคนงานที่ให้บริการและอีกมากมาย!
การติดตั้งอัลตราไวโอเลตเป็นเรื่องง่าย คุณสามารถค้นหา TL; DR ของกระบวนการติดตั้งและการตั้งค่าด้านล่าง หากคุณไม่คุ้นเคยกับกระบวนการติดตั้ง "มาตรฐาน" ให้ดูที่ไกลออกไปเล็กน้อยสำหรับคู่มือการติดตั้งและการตั้งค่าที่ครอบคลุมมากขึ้น
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive
$ cd Ultraviolet-Node
$ npm install
$ npm startในการตั้งค่าการแก้ไขให้คลิกที่ปุ่ม "Run on Replit" ก่อนอื่น หลังจากโหลดลงใน REPL ของคุณแล้วให้คลิกที่ปุ่ม "เรียกใช้" สีเขียว หรือเรียกใช้คำสั่งต่อไปนี้:
$ npm install
$ chmod +x main.sh
$ ./main.sh คุณจะต้องเรียกใช้คำสั่งที่สองเพียงครั้งเดียว มันอนุญาตให้ main.sh ถูกดำเนินการ โดยใช้ main.sh คุณจะอัปเดต submodules ใด ๆ และจะเริ่มแอพ
หมายเหตุ : หากคุณเลือกที่จะไม่ใช้ main.sh แต่จะเรียกใช้คำสั่งทั้งหมดด้วยตนเองโปรดทราบว่าคุณจะต้องติดตั้ง submodules ด้วยตนเองโดยเรียกใช้ git update submodules --init หากไม่มีมัน static จะไม่ถูกติดตั้งและนั่นคือไดเรกทอรีที่จำเป็น
ด้านล่างจะอธิบายคู่มือที่ครอบคลุมเพื่อติดตั้งอัลตราไวโอเลตบนเครื่อง Linux
ในการโคลนที่เก็บเพียงเรียกใช้คำสั่งต่อไปนี้:
$ git clone https://github.com/titaniumnetwork-dev/Ultraviolet-Node --recursive -ธง --recursive จะโคลนพื้นที่เก็บข้อมูลและ submodules ทั้งหมด
ในการเริ่มต้นทำงานกับการตั้งค่าจริงซีดีลงในที่เก็บ คุณสามารถทำได้โดยเรียกใช้คำสั่งต่อไปนี้:
$ cd Ultraviolet-Nodeจากที่นี่คุณสามารถอัปเดต submodules ของคุณและติดตั้งการอ้างอิงของคุณ ในการทำเช่นนั้นเรียกใช้คำสั่งต่อไปนี้:
$ npm installในที่สุดเพื่อเริ่มอัลตราไวโอเลตให้เรียกใช้คำสั่งต่อไปนี้:
$ npm start จากนั้นคุณสามารถค้นหาอัลตราไวโอเลตได้ที่ http://127.0.0.1:8080 หากคุณต้องการเปลี่ยนพอร์ต UV จะทำงานอยู่ให้แก้ไขบรรทัดสุดท้ายใน index.mjs
โปรดทราบว่า UV จะไม่ทำงานหากไม่มี HTTPS หากคุณกำลังโฮสต์ในการแก้ไขหรือ 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 |
| เปลือย | เซิร์ฟเวอร์เปลือยสามารถทำงานบนไดเรกทอรี ตัวอย่างเช่นหากไดเรกทอรีเป็น/เปลือย/จากนั้นต้นกำเนิดเปล่าจะดูเหมือน http://example.org/bare/ ต้นกำเนิดเปล่าถูกส่งผ่านไปยังลูกค้า |
| encodeurl | ENCODEURL เป็นวิธีที่คุณต้องการ URL ที่ผู้เข้าชมไซต์พร็อกซีจะต้องเข้ารหัส ตัวเลือกรวมถึง Ultraviolet.codec.base64.encode , Ultraviolet.codec.plain.encode หรือ Ultraviolet.codec.xor.encode ขอแนะนำให้คุณใช้ xor หรือ base64 เนื่องจากซ่อนการสอบถามที่ผู้เยี่ยมชมกำลังค้นหาและเยี่ยมชม |
| เครื่องถอดรหัส | Decodeurl เป็นวิธีที่คุณต้องการให้ URL ได้รับการถอดรหัส ขอแนะนำให้คุณเก็บไว้เช่นเดียวกับ encodeUrl |
| ผู้ดูแล | Handler เป็นเส้นทางไปยังตัวจัดการ UV ชื่อเริ่มต้นและเส้นทางไปยังไฟล์นี้คือ static/uv/uv.handler.js |
| มัด | Bundle เป็นเส้นทางไปยังไฟล์ Bundle UV ชื่อและเส้นทางเริ่มต้นไปยังไฟล์นี้คือ static/uv/uv.bundle.js |
| การกำหนดค่า | config เป็นพา ธ ไปยังไฟล์ config UV ชื่อและเส้นทางเริ่มต้นไปยังไฟล์นี้คือ static/uv/uv.bundle.js |
| SW | SW เป็นเส้นทางไปยังสคริปต์ผู้ปฏิบัติงานบริการ UV ชื่อเริ่มต้นและเส้นทางไปยังไฟล์นี้คือ static/uv/uv.sw.js |
ไฟล์คงที่เป็นส่วนหน้าสำหรับอุลตร้าไวโอเลต ที่เก็บแบบสแตนด์อโลนสามารถพบได้ที่นี่
การกำหนดค่ากล่าวถึงสคริปต์สองสามตัวที่ทำขึ้นอัลตราไวโอเลต หากต้องการรับเอกสารสำหรับสิ่งที่สคริปต์แต่ละสคริปต์ทำให้ตรวจสอบเอกสารสำหรับพวกเขาในที่เก็บสแตนด์อโลน
สคริปต์ผู้ปฏิบัติงานและบริการลูกค้าที่จำเป็นสำหรับ UV ตั้งอยู่ในอัลตราไวโอเลตสคริปต์
uv.sw.js Service Worker Gatewayuv.sw-handler.js - Handler Worker Workeruv.bundle.js webpack รวบรวม ultraviolet rewriteruv.handler.js การเชื่อมต่อฝั่งไคลเอ็นต์uv.config.js