กำหนดเส้นทางแหล่ง rsync ของ MacPorts ผ่านพร็อกซี
จับคู่โพรโทคอลแหล่งของ ports tree กับการขนส่งผ่านพร็อกซี แทนที่จะถือว่าตัวอย่าง SSH แก้การเชื่อมต่อ rsync daemon ได้ด้วย
เบราว์เซอร์ทำงานผ่าน SOCKS เซสชัน SSH ปกติก็ทำงานได้เช่นกัน จากนั้น MacPorts ก็ค้างขณะซิงค์ ports tree ก่อนจะเพิ่มตัวเลือก SSH อีกตัว ให้ดู URI ของแหล่งก่อน
rsync://host/module หมายถึงบริการ rsync daemon ตัวอย่างที่ใช้ rsync -e ssh user@host:path ใช้เชลล์ระยะไกลและต้องเข้าถึงบัญชีที่เหมาะสมบนโฮสต์นั้น มิเรอร์ rsync สาธารณะไม่ได้ล็อกอิน SSH เพราะไคลเอนต์มี ProxyCommand
สามเส้นทางที่มีเงื่อนไขเบื้องต้นต่างกัน
| เส้นทาง | สิ่งที่ต้องมี |
|---|---|
| สแนปช็อต ports tree ผ่าน HTTP หรือ HTTPS | แหล่งสแนปช็อตที่รองรับและการกำหนดค่าพร็อกซี HTTP ที่ใช้งานได้ |
| rsync daemon ผ่านพร็อกซีเว็บ | ไคลเอนต์ rsync ที่ใช้ RSYNC_PROXY และพร็อกซีที่อนุญาต CONNECT ไปยังพอร์ตของ daemon |
| rsync ผ่าน SSH | ปลายทาง SSH บัญชี และการตั้งค่า rsync ระยะไกล |
MacPorts จดทะเบียนแหล่ง tarball แบบ HTTP และ HTTPS ใน sources.conf เป็นทางเลือกเมื่อการขนส่งซิงค์ปกติไม่พร้อมใช้งาน เลือกแหล่งที่โครงการรองรับสำหรับรุ่นที่ติดตั้งไว้ การเปลี่ยนสคีม URI ไม่ใช่การอนุญาตให้ชี้ไปยังคลังใด ๆ
RSYNC_PROXY ของ rsync เป็นกลไกพร็อกซีเว็บ ไม่ใช่การตั้งค่า URL ของ SOCKS ทั่วไป เส้นทางผ่าน daemon มักต้องใช้พอร์ต 873 ซึ่งพร็อกซีเว็บที่ทำงานปกตินี้อาจปฏิเสธโดยเจตนา กลไก RSYNC_CONNECT_PROG แยกต่างหากสามารถแทนซ็อกเก็ต daemon โดยตรงด้วยโปรแกรมช่วย แต่ตัวช่วยต้องให้สตรีมไบต์ตามที่คาดไว้
สุดท้าย ให้สังเกตว่าขั้นตอนใดของ MacPorts ล้มเหลว การอัปเดต ports tree การดึงคลัง และการดาวน์โหลดไฟล์แหล่งของ port ไม่จำเป็นต้องใช้การขนส่งเดียวกัน การแก้เส้นทางแรกไม่ได้พิสูจน์ว่าเส้นทางอื่นใช้พร็อกซีเดียวกัน