ดังนั้นน้ำท่วมจึงไม่สนับสนุนการเพิ่มฝนตกหนักที่มีป้ายกำกับหรือไดเรกทอรีดาวน์โหลดที่แตกต่างจากชุดรวมทั่วโลก ดังนั้นเบราว์เซอร์ addons ใช้ได้ไม่เช่นกัน ดังนั้นฉันจึงหาวิธีแก้ไขสิ่งนี้เพื่อเพิ่ม torrents ให้กับ webui โดยไม่ต้องเขียนปลั๊กอินที่กำหนดเอง
ดังนั้นน้ำท่วมจึงไม่สนับสนุนการเพิ่มฝนตกหนักที่มีป้ายกำกับหรือไดเรกทอรีดาวน์โหลดที่แตกต่างจากชุดรวมทั่วโลก ดังนั้นเบราว์เซอร์ addons ใช้ได้ไม่เช่นกัน ดังนั้นฉันจึงหาวิธีแก้ไขสิ่งนี้เพื่อเพิ่ม torrents ให้กับ webui โดยไม่ต้องเขียนปลั๊กอินที่กำหนดเอง
คำตอบ:
วิธีการทำงานคือการสั่งให้เอาท์พุตของเบราว์เซอร์แอดออนไปยังสคริปต์ php ด้านล่างแทนการหลบเลี่ยงตัวเอง จากนั้น scrip จะบันทึก torrent หรือแม่เหล็กไปยังไดเรกทอรีเฝ้าดูเฉพาะที่ระบุโดยพารามิเตอร์ใน addon url จากที่นี่ปลั๊กอิน "เพิ่มอัตโนมัติ" สำหรับน้ำท่วมจะถูกตั้งค่าเพื่อตรวจสอบไดเรกทอรีเฝ้าดูต่างๆที่คุณต้องการและโหลด torrents จากแต่ละรายการด้วยเลเบลที่เลือกและไดเรกทอรีดาวน์โหลด (หรือการตั้งค่าอื่น ๆ ที่มีให้โดย addon) เฉพาะ
<?php
//specify hostname in addon as server.com/thisScript.php?label=labelName
//tested with these addons:
//https://addons.mozilla.org/en-US/firefox/addon/bittorrent-webui-120685/
//https://chrome.google.com/webstore/detail/remote-torrent-adder/oabphaconndgibllomdcjbfdghcmenci?hl=en
//in deluge mode, others may work.
//specify server address as server.com/path/storeTorrent.php?label=labelname
//label folder must first be created
//use with AutoAdd plugin, to watch directories, and add with individual labels and locations
//http://dev.deluge-torrent.org/wiki/Plugins/AutoAdd (configure with pc client)
//edit $watchDir to your base watch dir yours
$watchDir = '/media/sdf1/home/private/deluge/watch/';
$label = str_replace(array("json",":"),"",$_REQUEST['label']);
//file_put_contents('debug.txt', json_encode($_REQUEST).'--'.file_get_contents('php://input'));//debug full
//file_put_contents('debug.txt', $label;//debug just label param
if($label && is_dir($watchDir.$label)){
$json = file_get_contents('php://input');
$array = json_decode($json,true);
if($array['method'] == 'core.add_torrent_magnet'){
preg_match('#magnet:\?xt=urn:btih:(?<hash>.*?)&dn=(?<filename>.*?)&tr=(?<trackers>.*?)$#', $array['params'][0], $magnet_link);
file_put_contents($watchDir.$label.$magnet_link['hash'].'.magnet', $array['params'][0]);
}else if($array['method'] == 'core.add_torrent_file'){
file_put_contents( $watchDir.$label.md5($array['params'][1]).'.torrent' , base64_decode($array['params'][1]));
}
}
else header(':', true, 401);
header('Content-Type: application/json');
echo '{"id": 0, "result": true, "error": null}';
?>