KCGI เป็นไลบรารี CGI และ FastCGI โอเพ่นซอร์สสำหรับเว็บแอปพลิเคชัน C/C ++ มันน้อยที่สุดปลอดภัยตรวจสอบได้และพอดีภายในสแต็กซอฟต์แวร์ BCHS ของคุณ
เพื่อให้ทันสมัยอยู่เสมอด้วยการเปิดตัว KCGI ที่มีเสถียรภาพในปัจจุบันโปรดไปที่ https://kristaps.bsd.lv/kcgi เว็บไซต์ยังมีการติดตั้งแบบบัญญัติการปรับใช้ตัวอย่างและเอกสารการใช้งาน
คุณจะต้องมีคอมไพเลอร์ C (GCC หรือ Clang), Zlib ( Zlib หรือ Zlib-Dev สำหรับผู้จัดการแพ็คเกจบางคน) และ BSD Make ( bmake สำหรับผู้จัดการบางคน) สำหรับการสร้าง
ในบางระบบ Linux คุณอาจต้องใช้ส่วนหัวเคอร์เนล Linux ที่ติดตั้งโดยใช้แพ็คเกจ Linux-Headers หรือคล้ายกัน
เริ่มต้นด้วยการโคลนนิ่งหรือดาวน์โหลด จากนั้นกำหนดค่าด้วย ./configure configure, รวบรวมด้วย make (bsd make, ดังนั้นจึงอาจเป็น bmake ในระบบของคุณ) จากนั้น make install (หรือใช้ sudo หรือ doas ถ้ามี) ในการติดตั้งในไดเรกทอรีทางเลือกเป็น /usr/local ตั้งค่าตัวแปร PREFIX เมื่อคุณเรียกใช้ configure
./configure PREFIX= ~ /.local
make
make installสำนวนทั่วไปสำหรับการปรับใช้บน Linux คือการใช้ LIBBSD ตามที่ระบุไว้ในเอกสาร Oconfigure:
CFLAGS=$(pkg-config --cflags libbsd-overlay)
./configure LDFLAGS=$(pkg-config --libs libbsd-overlay)
make
make install
มันมีประโยชน์ในการเรียกใช้การทดสอบการถดถอยที่ติดตั้งบนแหล่งกำเนิดเลือดออก (อีกครั้งสิ่งนี้ใช้ BSD Make ดังนั้นจึงอาจเป็น bmake ในระบบของคุณ) คุณจะต้องติดตั้ง libcurl ( Curl-Dev , libcurl-dev หรือ libcurl4-openssl-dev พร้อมผู้จัดการแพ็คเกจ)
make regress ระบบมีชุดถดถอยเต็มรูปแบบและถูกสร้างขึ้นเพื่อทำงานกับ AFL ในการเรียกใช้การทดสอบแบบรวมบางอย่างให้ใช้ไบนารีที่รวบรวมไว้ในไดเรกทอรี afl (อีกครั้งสิ่งนี้ใช้ BSD Make ดังนั้นจึงอาจเป็น bmake ในระบบของคุณ)
make afl
cd afl
afl-fuzz -i in/urlencoded -o out -- ./afl-urlencodedพื้นที่เก็บข้อมูลสาธารณะ GitHub สำหรับ KCGI ใช้การทดสอบอัตโนมัติในการเช็คอินแต่ละครั้งเพื่อเรียกใช้การทดสอบการถดถอย การทดสอบอัตโนมัติเหล่านี้มีจุดประสงค์หลักที่ Linux ซึ่งกลไกความปลอดภัยต้องการการบำรุงรักษาอย่างต่อเนื่อง มีการตรวจสอบระบบต่อไปนี้:
การพัฒนาเป็นหลักใน OpenBSD
สิ่งเหล่านี้ยังดำเนินการทุกสัปดาห์เพื่อรับการเปลี่ยนแปลงใด ๆ เมื่อคุณลักษณะของระบบปฏิบัติการใหม่เข้ามาเล่น
แหล่งข้อมูลทั้งหมดใช้ใบอนุญาต ISC (เช่น OpenBSD) ดูไฟล์ License.md สำหรับรายละเอียด