ภูตโปรโตคอล BitTorrent
btpd
เป็นยูทิลิตี้สำหรับการแชร์ไฟล์ผ่านโปรโตคอลเครือข่าย BitTorrent มันทำงานในโหมด daemon ดังนั้นจึงไม่จำเป็นต้องมีเทอร์มินัลควบคุมหรือ gui แต่ daemon จะถูกควบคุมโดย btcli ยูทิลิตีบรรทัดคำสั่ง หรือโปรแกรมอื่นๆ ที่สามารถส่งคำสั่งและการสืบค้นบนซ็อกเก็ตควบคุมได้
btpd
ประกอบด้วยโปรแกรมดังต่อไปนี้:
btpd
- ไคลเอนต์ BitTorrentbtcli
- อินเตอร์เฟสบรรทัดคำสั่งไปยัง btpdbtinfo
- แสดงข้อมูลจากไฟล์ทอร์เรนต์ ทุกโปรแกรมยอมรับตัวเลือก --help
ยูทิลิตี้ btcli
มีโหมดการทำงานที่แตกต่างกันหลายโหมด ต้องระบุหนึ่งในคำสั่งต่อไปนี้เมื่อรัน btcli
:
add
- เพิ่มเพลงลงใน btpddel
- ลบ torrents ออกจาก btpdkill
- ปิดระบบ btpdlist
- รายการเพลงrate
- ตั้งค่าอัตราการอัพโหลดและดาวน์โหลดทั่วโลกในหน่วย KB/sstart
- เปิดใช้งาน torrentsstat
- แสดงสถิติสำหรับเพลงที่ใช้งานอยู่stop
- ปิดการใช้งานทอร์เรนต์ หากต้องการเริ่มแชร์ทอร์เรนต์กับ btpd จะต้องเพิ่มทอร์เรนต์นั้นใน btpd นี้จะเสร็จสิ้นด้วย btcli add
เมื่อคุณเพิ่มทอร์เรนต์ btpd โดยอัตโนมัติ (หากคุณไม่ได้ระบุเป็นอย่างอื่น) จะเริ่มแชร์ทอร์เรนต์และดาวน์โหลดข้อมูลที่ขาดหายไป ไดเรกทอรีเนื้อหาที่คุณระบุเมื่อเพิ่มทอร์เรนต์ไม่จำเป็นต้องมีอยู่ มันจะถูกสร้างขึ้นโดย btpd
คุณสามารถดูว่ามีการเพิ่ม torrents ใดบ้างใน btpd ด้วย btcli list
คำสั่ง list ยังแสดงตัวเลขสำหรับทอร์เรนต์ที่เพิ่มแต่ละรายการด้วย หมายเลขนี้สามารถใช้เพื่อระบุฝนตกหนักเป้าหมายสำหรับคำสั่ง btcli ดังนั้นคุณไม่จำเป็นต้องเก็บไฟล์ฝนตกหนักเมื่อคุณเพิ่มแล้ว
ความคืบหน้าในการอัปโหลดและดาวน์โหลดสามารถติดตามได้โดยใช้คำสั่ง btcli stat
ทั้งคำสั่ง list และ stat ใช้ตัวบ่งชี้ต่อไปนี้เพื่อแสดงสถานะของทอร์เรนต์:
+
- ทอร์เรนต์กำลังเริ่มต้น การดำเนินการนี้อาจต้องใช้เวลาหาก btpd จำเป็นต้องทดสอบเนื้อหาของทอร์เรนต์นี้หรือที่เริ่มต้นก่อนหน้านั้น-
- ทอร์เรนต์กำลังถูกหยุดI
- ทอร์เรนต์ไม่ทำงานS
- btpd กำลังสร้างฝนตกหนักL
- btpd กำลังดูดทอร์เรนต์ คุณสามารถหยุดทอร์เรนต์ที่ใช้งานอยู่ได้โดยใช้ btcli stop
และแน่นอนว่าสามารถเริ่มทอร์เรนต์ที่ไม่ได้ใช้งานได้โดยใช้ btcli start
ควรใช้คำสั่ง btcli del
เมื่อคุณแชร์ทอร์เรนต์เสร็จแล้วเท่านั้น คำสั่งจะลบทอร์เรนต์และข้อมูลที่เกี่ยวข้องออกจาก btpd เป็นความคิดที่ไม่ดีอย่างยิ่งที่จะลบทอร์เรนต์ที่ดาวน์โหลดไม่เสร็จสมบูรณ์แล้วเพิ่มใหม่อีกครั้ง เนื่องจาก btpd สูญเสียข้อมูลเกี่ยวกับส่วนที่ดาวน์โหลดไม่ครบถ้วน และจะต้องดาวน์โหลดข้อมูลอีกครั้ง
หากต้องการปิด btpd ให้ใช้ btcli kill
อย่าลืมอ่านวิธีใช้สำหรับแต่ละคำสั่งของ btcli
หมายเหตุ: คุณควรต้องการ btpd เพียงอินสแตนซ์เดียวเท่านั้น ไม่ว่าคุณจะต้องการแชร์ torrent กี่รายการก็ตาม
หากต้องการเริ่ม btpd ด้วยการตั้งค่าเริ่มต้น คุณเพียงแค่ต้องเรียกใช้เท่านั้น อย่างไรก็ตาม มีตัวเลือกที่เป็นประโยชน์มากมายที่คุณอาจต้องการใช้ หากต้องการดูรายการทั้งหมดให้รัน btpd --help
หากคุณไม่ได้ระบุเป็นอย่างอื่น btpd จะเริ่มต้นด้วยชุดของ torrents ที่ใช้งานอยู่ชุดเดียวกันกับครั้งสุดท้ายที่ถูกปิด
btdp จะเก็บข้อมูลและเขียนบันทึกใน $HOME/.btpd
ดังนั้นจึงจำเป็นต้องสามารถเขียนที่นั่นได้ระหว่างการดำเนินการ คุณสามารถระบุไดเร็กทอรีอื่นผ่านอ็อพชัน -d
หรือตัวแปร $BTPD_HOME
ฉันแนะนำให้ระบุจำนวนการอัปโหลดสูงสุด Bittorrent ใช้อัลกอริธึม tit for tat ดังนั้นการอัพโหลดในอัตราที่ดีจะช่วยให้สามารถดาวน์โหลดได้ พยายามหาจุดสมดุลระหว่างแบนด์วิธที่อัปโหลด/ส่งออก และจำนวนทอร์เรนต์ที่ใช้งานอยู่
เริ่ม btpd โดยตั้งค่าตัวเลือกทั้งหมดเป็นค่าเริ่มต้น
# btpd
เริ่ม btpd และทำให้ฟังบนพอร์ต 12345 จำกัดแบนด์วิดท์ขาออกไว้ที่ 200kB/s จำกัดจำนวนเพียร์ไว้ที่ 40 และไม่เริ่มทอร์เรนต์ใด ๆ ที่ใช้งานในครั้งสุดท้ายที่ btpd ถูกปิด
# btpd -p 12345 --bw-out 200 --max-peers 40 --empty-start
แสดงรายการทอร์เรนต์ของ btpd และหมายเลข ขนาด สถานะ ฯลฯ
# btcli list
เช่นเดียวกับข้างต้น แต่สำหรับ torrent 12 และ my.little.torrent เท่านั้น
# btcli list 12 my.little.torrent
เช่นเดียวกับข้างต้น แต่สำหรับทอร์เรนต์ที่ใช้งานอยู่เท่านั้น
# btcli list -a
เช่นเดียวกับข้างต้น แต่พิมพ์โดยใช้รูปแบบที่กำหนดเอง
# btcli list -a -f "btcli list -f "%nt%#t%p%st%rn"
เพิ่ม foo.torrent โดยมีเนื้อหา dir foo.torrent.d และเริ่มต้น
# btcli add -d foo.torrent.d foo.torrent
เหมือนข้างบนโดยไม่ต้องสตาร์ทเลย
# btcli add --no-start -d foo.torrent.d foo.torrent
เริ่ม bar.torrent และ torrent หมายเลข 7
# btcli start bar.torrent 7
หยุดฝนตกหนักหมายเลข 7
# btcli stop 7
หยุดทอร์เรนต์ที่ใช้งานอยู่ทั้งหมด
# btcli stop -a
ลบ bar.torrent และข้อมูลที่เกี่ยวข้องออกจาก btpd
# btcli del bar.torrent
แสดงข้อมูลสรุปสถิติการอัพโหลด/ดาวน์โหลดสำหรับทอร์เรนต์ที่ใช้งานอยู่
# btcli stat
แสดงข้อมูลสรุปทุกๆ ห้าวินาที
# btcli stat -w 5
เช่นเดียวกับข้างต้น แต่ยังแสดงสถิติแต่ละรายการสำหรับทอร์เรนต์ที่ใช้งานอยู่แต่ละรายการด้วย
# btcli stat -w 5 -i
ตั้งค่าอัตราการอัพโหลดทั่วโลกเป็น 20KB/s และอัตราการดาวน์โหลดเป็น 1MB/s
# btcli rate 20K 1M
ปิดระบบ btpd
# btcli kill
หาก btpd ปิดตัวลงโดยไม่ทราบสาเหตุ ให้ตรวจสอบไฟล์บันทึกเพื่อดูเบาะแสที่เป็นไปได้
คุณควรมี BSD, Linux หรือระบบที่คล้ายกันเพียงพอ
ตรวจสอบให้แน่ใจว่าคุณมีซอฟต์แวร์เวอร์ชันล่าสุดต่อไปนี้:
คุณต้องมีคอมไพเลอร์ c99 ด้วย GCC ที่ไม่ใช่ของเก่าควรทำ
เพื่อให้สามารถเปิดคู่มือที่อยู่ใน doc
คุณจะต้องติดตั้ง man-pages
# ./configure
# make
# make install
ดู ./configure --help
สำหรับตัวเลือกบิลด์ที่มีอยู่ หากการดำเนินการข้างต้นล้มเหลว
เค้าโครงของไดเร็กทอรี torrents ในไดเร็กทอรี btpd มีการเปลี่ยนแปลงตั้งแต่ btpd 0.11 โปรดลบไดเร็กทอรี torrents ก่อนที่จะเรียกใช้เวอร์ชันที่ใหม่กว่า
หาก btpd จำเป็นต้องส่งข้อความหยุดไปยังเครื่องมือติดตามก่อนที่จะปิดเครื่อง btpd จะเข้าสู่โหมดก่อนออก กระบวนการ btpd ในโหมดนี้สามารถละเว้นได้อย่างปลอดภัย และจะไม่รบกวนการทำงานของ btpd ใหม่ที่เริ่มต้นในไดเร็กทอรีเดียวกัน
น่าเสียดายที่การเปิดใช้งานทั้ง IPv6 และ IPv4 ใน btpd นั้นมีประโยชน์น้อยกว่าที่ควรจะเป็น ปัญหาคือบางไซต์มีตัวติดตามสำหรับทั้งสองเวอร์ชัน และมีแนวโน้มว่า IPv6 ซึ่งอาจมีเพียร์น้อยกว่า จะถูกใช้เพื่อสนับสนุน IPv4
เพื่อแก้ไขปัญหานี้ ควรเปลี่ยนตัวเลือกเวอร์ชัน IP ให้เป็นต่อทอร์เรนต์ใน btpd เวอร์ชันอนาคตบางเวอร์ชัน
หากคุณต้องการติดต่อเพื่อขอความช่วยเหลือ มีส่วนร่วม หรือเพียงแค่ทักทาย อย่าลังเลที่จะมาที่ช่อง IRC ของเรา #btpd บน freenode