demorfi / synox-web-api
API SynoX Web
v1.3.0
2024-03-11 20:18 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.8
- textalk/websocket: ^1.6
README
Implementation of the API interface for SynoX Web
Composer Installation
composer require demorfi/synox-web-api
Basic Usage
$api = new \SynoxWebApi\Api('https://synox-web.domain/api/');
Search Usage
$search = $api->search(); $search->makeFilters()->addCategory('video')->addPackage('tpb'); // optional make filters $profile = null; // optional profile name foreach ($search->create('Silent Hill', $profile)->run() as $item) { printf("Title: %s; Size: %s\n", $item->getTitle(), $item->getWeight()); // download only this torrent file if (stripos($item->getTitle(), 'Silent Hill 2') !== false) { // $item->getFetchId(); fetched id for download file_put_contents('file.torrent', $item->fetch()->download()); return; } }
Download Usage
$fetched = $api->content()->fetch('tpb', 'fetch id'); //$fetched->downloadUrn(); only URN path to torrent file file_put_contents('file.torrent', $fetched->download());
Change Package State
$api->packages()->changeState('tpb', true); // enable this package
Reporting issues
If you have any issues with the application please open an issue on GitHub.
License
SynoX Web is licensed under the MIT License.