เว็บเซิร์ฟเวอร์ไฟล์ HTTP แบบคงที่และพร็อกซีสำหรับการให้บริการไฟล์จากไดเรกทอรีบน MacOS, Windows หรือ Linux
มีวัตถุประสงค์เพื่อเป็นเครื่องมือการพัฒนาที่มีน้ำหนักเบาสำหรับการดูไซต์คงที่เช่นเอกสารประกอบบล็อกรายงานการวินิจฉัยการจำลอง HTML และต้นแบบ
ดาวน์โหลดไบนารีแบบไม่มีการติดตั้งไปยังไดเรกทอรีบน PATH
ของคุณ
Usage: sfs [-l=<ip:port>] [-s] [-a [USER] PASS] [-d=<dir>] [-b] [-f=<format>] [-q] [-c] [-x=<url>]
Static File Server - https://github.com/schmich/sfs
Arguments:
USER Username for digest authentication
PASS Password for digest authentication
Options:
-l, --listen IP and port to listen on (default "127.0.0.1:8080")
-s, --secure Enable HTTPS with self-signed TLS certificate
-a, --auth Enable digest authentication
-d, --dir Directory to serve
-b, --browser Open web browser after server starts
-f, --format Log format: %i %t %m %u %s %b %a (default "%i - %m %u %s")
-q, --quiet Disable request logging
-c, --cache Allow cached responses
-x, --proxy Proxy requests to upstream server (implies -c)
-v, --version Show the version and exit
เริ่มต้นเว็บเซิร์ฟเวอร์สำหรับไฟล์ในไดเรกทอรีปัจจุบันและเปิดเบราว์เซอร์เริ่มต้น:
sfs -b
ระบุพอร์ต:
sfs -p 777
อนุญาตการเชื่อมต่อภายนอก:
sfs -l 0.0.0.0
เสิร์ฟไฟล์จากไดเรกทอรีอื่น:
sfs -d ../bloop
ให้บริการเนื้อหาผ่าน HTTPS ด้วยใบรับรอง TLS ที่ลงชื่อด้วยตนเอง:
sfs -s
ใบรับรอง TLS ถูกสร้างขึ้นแบบสุ่มเมื่อเริ่มต้น เบราว์เซอร์จะเตือนคุณเกี่ยวกับการเชื่อมต่อที่ไม่ปลอดภัยเนื่องจากใบรับรองได้ลงนามด้วยตนเอง
เปิดใช้งานการพิสูจน์ตัวตนของ HTTP Digest ด้วยชื่อผู้ใช้และรหัสผ่าน:
sfs -a gordon p4ssw0rd
ชื่อผู้ใช้เป็นทางเลือก ต้องใช้รหัสผ่าน หากไม่ได้ระบุชื่อผู้ใช้ชื่อผู้ใช้ที่ไม่ว่างเปล่าจะใช้งานได้ รหัสผ่านของ -
จะแจ้งให้คุณทราบผ่านรหัสผ่าน stdin:
sfs -a -
sfs
สามารถทำหน้าที่เป็นพร็อกซี HTTP นี่เป็นโหมดการทำงานที่แยกจากกันโดยสิ้นเชิงจากการให้บริการไฟล์คงที่ สิ่งนี้ช่วยให้คุณสามารถใช้ sfs
เป็น TLS ที่มีความปลอดภัย, ตรวจสอบส่วนหน้า, การบันทึกส่วนหน้าสำหรับเซิร์ฟเวอร์การพัฒนาอื่น
sfs -x localhost:4567
เปลี่ยนรูปแบบการบันทึกคำขอด้วย -f
:
sfs -f " %i - [%t] %m %u %s %b - %a "
# 127.0.0.1 - [21/Jul/2016:21:07:51 -0500] GET / 200 273 - Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
รูปแบบบันทึก:
%i
อยู่ระยะไกลที่อยู่ IP%t
ร้องขอการประทับเวลา%m
การขอ http%u
ขอ url%s
%b
(ไบต์)%a
Request Agent ผู้ใช้ (ส่วนหัว HTTP User-Agent
) โดยค่าเริ่มต้น sfs
จะปรับเปลี่ยนส่วนหัวแคชขาเข้าและขาออก ( Cache-Control
, If-None-Match
, If-Modified-Since
Last-Modified
, ETag
) เพื่อให้แน่ใจว่าไม่มีการแคชเกิดขึ้น เพื่ออนุญาตให้แคชสามารถปิดใช้งานได้ด้วย:
sfs -c
ลิขสิทธิ์© 2016 Chris Schmich
ใบอนุญาต MIT ดูใบอนุญาตสำหรับรายละเอียด