cgijs
CGIJS เป็นไลบรารีที่โดดเด่นทั้งหมดเพื่อเรียกใช้ไฟล์สคริปต์โหมด CGI / Interpreted language script ใด ๆ หรือเชื่อมต่อกับพร็อกซีเซิร์ฟเวอร์เว็บแอปพลิเคชันใด ๆ หรือจัดการกระบวนการในระบบ
ห้องสมุด CGIJS :
- รองรับการรันสคริปต์ภาษา
CGI / Interpreted Language scripts ใด ๆ โดยใช้โมดูลกระบวนการ NODEJS ใน any OS ที่เรียกใช้ node.js ต้องการการติดตั้งล่ามภาษาในระบบ - [TODO] รองรับการรันสคริปต์ภาษา
CGI / Interpreted Language scripts ใด ๆ โดยใช้โมดูลล่ามไลบรารีใน any OS ที่เรียกใช้ node.js ไม่จำเป็นต้องติดตั้งล่ามภาษาในระบบ - รองรับทั้ง
CGI Executables รวมถึง proxy ไปยัง embedded servers localhost / remote / Embedded โดยใช้พร็อกซ์ของโปรโตคอลหลายโปรโตคอล ( http , websockets , tcp , udp , socks , ssh , ftp ) - รองรับกระบวนการจัดการเช่น
embedded server Executables, Executables database แบบฝังตัวหรือปฏิบัติการแบบฝังตัว/ ที่ไม่ได้ฝังตัว any other - สนับสนุนการทำงานกับ
shell , json , ini , csv , yaml และ xml ภายใน
[Funding Invited]
หมายเหตุทั่วไป: ห้องสมุดพร้อมการผลิต อย่างไรก็ตามโปรดระมัดระวังกระบวนการ/การอนุญาตให้ใช้งาน/ความปลอดภัยในโครงการของคุณโดยใช้ CGIJS
ประวัติศาสตร์
CGIJs ถูกสร้างขึ้นด้วยแรงจูงใจในการสร้างการสร้าง Desktop executable/ application โดยใช้ Electron ที่สามารถเรียกใช้ไฟล์/ แอปพลิเคชันภาษา CGI / Interpreted language scripted files/ applications ภายใต้ประทุน

การติดตั้ง
หากคุณต้องการเรียกใช้ภาษาที่ตีความเช่น php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl กับ wasm files
npm install bridge-wasm --save
คุณสมบัติ
น้ำหนักเบาการใช้งานทั่วไปยืดหยุ่น CGIJS เป็น Framework Independent / agnostic สำหรับการพัฒนาแอปพลิเคชัน
มีสามโมดูลหลักภายใน CGIJS - file สำหรับการดำเนินการไฟล์ CGI, proxy สำหรับการเรียกใช้พร็อกซีและ process สำหรับการจัดการกระบวนการ
หมายเหตุความปลอดภัย :
- โมดูล Shell Process เป็นผู้ไม่เชื่อเรื่องความปลอดภัยและขึ้นอยู่กับรหัสของคุณ
- แพ็คเกจเข้าถึงเชลล์เพื่อเรียกใช้การทำงานของสคริปต์โดยใช้โมดูลกระบวนการ node.js โปรดพิจารณา
security risks based on your executable's/ script's security risks
- โมดูลพร็อกซีเป็นผู้ไม่เชื่อเรื่องพระเจ้าและขึ้นอยู่กับรหัสของคุณและความปลอดภัยของพร็อกซี
-
package has a LAN or WAN network proxy module AND does not create any proxies ด้วยตัวเอง - เว้นแต่คุณจะระบุไว้ โปรดพิจารณาความเสี่ยงด้านความปลอดภัยของพร็อกซีที่สร้างขึ้นเอง
-
package does not use Telemetry, nor Collect data Remotely, nor has Telemetry/Remote based Error collection ด้วยตนเอง- แพคเกจข้อผิดพลาดข้อผิดพลาดเพื่อให้คุณจัดการหรือรวบรวมข้อผิดพลาด/ ข้อมูล
คุณสมบัติของห้องสมุด
Node CGI Embedded - เรียกใช้สคริปต์ตีความที่รองรับ CGI โดยใช้ nodejs
Node Web Proxy - เรียกใช้พร็อกซีเว็บ
กระบวนการโหนด - จัดการเว็บเซิร์ฟเวอร์กระบวนการฐานข้อมูลหรือกระบวนการระบบหรือบริการอื่น ๆ
รายละเอียดการทำงาน
สคริปต์ควรรองรับการส่งไฟล์ทั้งหมดของภาษาที่ตีความด้านล่าง:
สคริปต์ควรรองรับการส่งพร็อกซีทั้งหมดของภาษาข้างต้นและต่อไปนี้:
ขณะนี้สคริปต์อนุญาตให้ทำงานกับ (เริ่ม, หยุด, รีสตาร์ทโดยใช้ bash, bat scripts) ต่อไปนี้เว็บเซิร์ฟเวอร์:
ขณะนี้สคริปต์อนุญาตให้ทำงานกับ (เริ่มต้นหยุดการรีสตาร์ทพร็อกซี) ต่อไปนี้เว็บเซิร์ฟเวอร์:
ขณะนี้สคริปต์อนุญาตให้ทำงานกับ (เริ่ม, หยุด, รีสตาร์ท) ต่อไปนี้เว็บเซิร์ฟเวอร์:
ขณะนี้สคริปต์อนุญาตให้ทำงานกับ (เริ่ม, หยุด, รีสตาร์ท) ตามฐานข้อมูลและกระบวนการ:
บันทึก:
ห้องสมุดนี้อยู่ระหว่างการพัฒนาที่ใช้งานอยู่ ปัญหาและคำติชมเป็นตั๋ว GitHub ยินดีต้อนรับ
การพึ่งพาแพ็คเกจ:
การพึ่งพาสภาพแวดล้อมและห้องสมุด:
- nodejs: (> 8.x)
- http-proxy สำหรับการสนับสนุน http-proxy
- ถุงเท้าเพื่อการสนับสนุนถุงเท้า
- UDP-Proxy สำหรับการสนับสนุน UDP
- SSH2 สำหรับ SSH2, SSH, FTP, การสนับสนุน SFTP,
- ซ็อกเก็ตพร็อกซีสำหรับพร็อกซีซ็อกเก็ต
- http-proxy-to-socks สำหรับ http to sock proxy
- CSV สำหรับตัวแยกวิเคราะห์ไฟล์
- XML-JS สำหรับตัวแยกวิเคราะห์ไฟล์ XML
- Yaml สำหรับตัวแยกวิเคราะห์ไฟล์ yaml
- INI สำหรับตัวแยกวิเคราะห์ไฟล์ Ini
- dotenv สำหรับตัวแยกวิเคราะห์ไฟล์ dotenv
- Shelljs สำหรับการสนับสนุนด้วยเชลล์
- Concurrency.js สำหรับการสนับสนุนพร้อมกันและการสนับสนุนแบบขนานสำหรับเธรดและกระบวนการ
การพึ่งพาที่จำเป็นเป็นพิเศษในการใช้ล่ามภาษาและไลบรารีสำหรับ php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl กับ wasm files โดยไม่ต้องติดตั้ง
- บริดจ์-เวลส์สำหรับการใช้ภาษาที่ตีความด้วย WASM โดยไม่ต้องมีไบนารีในระบบของคุณ (ติดตั้ง/ ปัจจุบัน)
การพึ่งพาแอปพลิเคชัน:
- แอพของคุณคุณตัดสินใจ
- ตัวอย่าง/ตัวอย่างมี "ด่วน": "^4.17.1"
- หรือใช้เฟรมเวิร์ก NodeJS อื่น ๆ ที่คุณต้องการใช้สำหรับแอปของคุณ
ตัวอย่างการใช้งาน:
โครงการนี้มีตัวอย่างที่แสดงให้เห็นถึงการทำงานกับ ExpressJs
- การสาธิตสำหรับรันสคริปต์ CGI/ตีความที่มี Node.js และแอปพลิเคชันด่วนสามารถพบได้ในแอพสาธิตโฟลเดอร์
- การสาธิตสำหรับการใช้งานแต่ละรายการของไฟล์กระบวนการพร็อกซีและโมดูล UTILS สามารถพบได้ในการใช้โฟลเดอร์สาธิต [TODO]
ใช้กรณี:
ไลบรารี CGIJS ถูกสร้างขึ้นเพื่อระบุกรณีการใช้งานต่อไปนี้:
- การทำงานกับภาษา CGI / ตีความจากกรอบแอป Node.js
any - การใช้แอพภาษา CGI / ตีความใด ๆ ที่มีอิเล็กตรอนดังแสดงในแอพ Desktop-CGI ที่ทำงานได้
ข้อกำหนดทางเทคนิค
... * จะเพิ่มลิงค์ wiki
วิกิ
- เริ่มต้น
- การสาธิตอย่างรวดเร็ว - ไฟล์ปฏิบัติการโหมด CGI
- การสาธิตอย่างรวดเร็ว - พร็อกซิงกับพร็อกซี/เซิร์ฟเวอร์
- การสาธิตอย่างรวดเร็ว - พร็อกซิงไปยัง WebSocket ของพร็อกซี
- การสาธิตอย่างรวดเร็ว - พร็อกซ์ไปยัง UDP, ถุงเท้า, http ไปยัง Sock Proxy's Websocket
- เรียกใช้ไฟล์ CGI โดยใช้โมดูลกระบวนการและไบนารีในระบบ
- php (.php)
- perl (perl เวอร์ชันใด ๆ - .plc, .pld, .pl)
- Python (Python2, Python3 - .py)
- ทับทิม (.rb)
- node.js (.js)
- เรียกใช้ไฟล์ CGI โดยใช้ CGI-JS
โมดูล wasm`- php (.php)
- perl (perl เวอร์ชันใด ๆ - .plc, .pld, .pl)
- Python (Python2, Python3 - .py)
- ทับทิม (.rb)
- Lua (.)
- สนิม (.)
- Golang (.go)
- cpython (.py)
- จูเลีย (.)
- r-lang (.)
- เรียกใช้เซิร์ฟเวอร์พร็อกซีเพื่อเชื่อมต่อกับ:
- เซิร์ฟเวอร์ http/https/websocket ในเครื่องใด ๆ
- เซิร์ฟเวอร์ HTTP/HTTPS/WebSocket ระยะไกลใด ๆ
- Apache ฝังตัว Httpd, Apache Tomcat, Nginx (http/https/websocket)
- Embedded Mongoose Http Server (HTTP/HTTPS)
- จัดการเซิร์ฟเวอร์ฝังตัว (สำหรับกรณีการใช้งาน Desktop-CGI):
- Apache ฝังตัว httpd (http/https/websocket)
- Apache Tomcat ฝังตัว (http/https/websocket)
- Embedded Mongoose Http Server (HTTP/HTTPS)
- Embedded Nginx (http/https/websocket)
- PHP Inbuilt Web Development Servers
- เซิร์ฟเวอร์การพัฒนาเว็บ Ruby Inbuilt
- เซิร์ฟเวอร์การพัฒนาเว็บของ Python Inbuilt
- จัดการเซิร์ฟเวอร์ฐานข้อมูลแบบฝังตัว (สำหรับกรณีการใช้งาน Desktop-CGI):
- ฝัง mysql
- MongoDB ฝังตัว
- PGSQL ฝังตัว
- ทำงานกับ sqlite
- จัดการกระบวนการ (สำหรับกรณีการใช้งาน Desktop-CGI):
- กระบวนการอื่น ๆ หรือการทำงานที่สามารถใช้งานได้
- เรียกใช้และจัดการการทำงาน / กระบวนการ / ที่ไม่ได้ฝังอยู่ในการใช้งานที่จำเป็นสำหรับแอปพลิเคชัน
- การทำงานกับไฟล์ config.json สำหรับการใช้งานที่ง่ายกว่าในแอพ
สถานะปัจจุบัน
- ในการพัฒนา [การทดสอบกรณีการใช้งาน Desktop-CGI]
- ในการพัฒนา [การทดสอบเซิร์ฟเวอร์การพัฒนาตามภาษา]
สิ่งที่ต้องทำ
ตรวจสอบไฟล์. todo สำหรับรายการสิ่งที่ต้องทำล่าสุด
ใบอนุญาต
ใบอนุญาต MIT (MIT) - ดูใบอนุญาตสำหรับรายละเอียดเพิ่มเติม
ลิขสิทธิ์© 2019 - Till Library Works: Ganesh B [email protected]
โปรดสนับสนุนการพัฒนาในพื้นที่เก็บข้อมูล GitHub ผ่าน
- feature needs reporting,
- testing,
- issue reporting,
- contribution
โปรดใช้สไตล์เหล่านี้สำหรับการมีส่วนร่วม