Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eac586d946 | |||
| ae0e416cdd | |||
| a64ac6b2cb | |||
| 1881247bf2 | |||
| 0337d7530a | |||
| 9b9240c35b |
2
.env
2
.env
@@ -29,7 +29,7 @@ APP_SECRET=
|
|||||||
# DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8"
|
# DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8"
|
||||||
|
|
||||||
###< doctrine/doctrine-bundle ###
|
###< doctrine/doctrine-bundle ###
|
||||||
|
MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!"
|
||||||
###> symfony/messenger ###
|
###> symfony/messenger ###
|
||||||
# Choose one of the transports below
|
# Choose one of the transports below
|
||||||
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
|
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# or pass your certificates into the 'app' container.
|
# or pass your certificates into the 'app' container.
|
||||||
# Please omit any trailing slashes. The APP_URL is
|
# Please omit any trailing slashes. The APP_URL is
|
||||||
# used to generate the Mercure URL behind the scenes.
|
# used to generate the Mercure URL behind the scenes.
|
||||||
APP_URL="https://torsearch-test.caldwell.digital"
|
APP_URL="https://torsearch.idocode.io"
|
||||||
APP_SECRET="70169beadfbc8101c393cbfbba27a313"
|
APP_SECRET="70169beadfbc8101c393cbfbba27a313"
|
||||||
|
|
||||||
# Use the DATABASE_URL below to use the MariaDB container
|
# Use the DATABASE_URL below to use the MariaDB container
|
||||||
@@ -24,7 +24,7 @@ REAL_DEBRID_KEY=""
|
|||||||
# This is used to provide rich search results
|
# This is used to provide rich search results
|
||||||
# when searching for media and rendering the
|
# when searching for media and rendering the
|
||||||
# Popular Movies and TV Shows section.
|
# Popular Movies and TV Shows section.
|
||||||
TMDB_API=""
|
TMDB_API=
|
||||||
|
|
||||||
MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!"
|
MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!"
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ services:
|
|||||||
# base container. If not running behind a reverse proxy,
|
# base container. If not running behind a reverse proxy,
|
||||||
# inject your SSL certificates into this container
|
# inject your SSL certificates into this container
|
||||||
app:
|
app:
|
||||||
image: registry.caldwell.digital/home/torsearch:test-app
|
image: code.caldwell.digital/home/torsearch:0.14.5-app
|
||||||
ports:
|
ports:
|
||||||
- "8006:80"
|
- "8006:80"
|
||||||
env_file:
|
env_file:
|
||||||
@@ -20,7 +20,7 @@ services:
|
|||||||
# This container runs a Symfony worker process.
|
# This container runs a Symfony worker process.
|
||||||
# See: https://symfony.com/doc/current/messenger.html
|
# See: https://symfony.com/doc/current/messenger.html
|
||||||
worker:
|
worker:
|
||||||
image: registry.caldwell.digital/home/torsearch:test-worker
|
image: code.caldwell.digital/home/torsearch:0.14.5-worker
|
||||||
volumes:
|
volumes:
|
||||||
- ./downloads/movies:/var/download/movies
|
- ./downloads/movies:/var/download/movies
|
||||||
- ./downloads/tvshows:/var/download/tvshows
|
- ./downloads/tvshows:/var/download/tvshows
|
||||||
@@ -37,7 +37,7 @@ services:
|
|||||||
# This container runs a Symfony worker process.
|
# This container runs a Symfony worker process.
|
||||||
# See: https://symfony.com/doc/current/messenger.html
|
# See: https://symfony.com/doc/current/messenger.html
|
||||||
scheduler:
|
scheduler:
|
||||||
image: registry.caldwell.digital/home/torsearch:test-worker
|
image: code.caldwell.digital/home/torsearch:0.14.5-worker
|
||||||
volumes:
|
volumes:
|
||||||
- ./downloads:/var/download
|
- ./downloads:/var/download
|
||||||
command: php ./bin/console messenger:consume scheduler_monitor -vv --time-limit=3600
|
command: php ./bin/console messenger:consume scheduler_monitor -vv --time-limit=3600
|
||||||
|
|||||||
@@ -4,20 +4,15 @@ namespace App\Torrentio\Client;
|
|||||||
|
|
||||||
use App\Torrentio\Client\Rule\DownloadOptionFilter\Resolution;
|
use App\Torrentio\Client\Rule\DownloadOptionFilter\Resolution;
|
||||||
use App\Torrentio\Client\Rule\RuleEngine;
|
use App\Torrentio\Client\Rule\RuleEngine;
|
||||||
use App\Torrentio\MediaResult;
|
|
||||||
use App\Torrentio\Result\ResultFactory;
|
use App\Torrentio\Result\ResultFactory;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Symfony\Component\DependencyInjection\Attribute\Autowire;
|
use Symfony\Component\DependencyInjection\Attribute\Autowire;
|
||||||
use Symfony\Contracts\Cache\CacheInterface;
|
use Symfony\Contracts\Cache\CacheInterface;
|
||||||
use Symfony\Contracts\Cache\ItemInterface;
|
use Symfony\Contracts\Cache\ItemInterface;
|
||||||
|
|
||||||
/**
|
|
||||||
* ToDo: Fix
|
|
||||||
*/
|
|
||||||
class Torrentio
|
class Torrentio
|
||||||
{
|
{
|
||||||
private string $baseUrl = 'https://torrentio.strem.fun/providers%253Dyts%252Ceztv%252Crarbg%252C1337x%252Cthepiratebay%252Ckickasstorrents%252Ctorrentgalaxy%252Cmagnetdl%252Chorriblesubs%252Cnyaasi%7Csort%253Dqualitysize%7Cqualityfilter%253D480p%252Cscr%252Ccam%7Crealdebrid={realDebridKey}/stream/movie/{imdbCode}.json';
|
private string $baseUrl = 'https://torrentio.strem.fun/providers%253Dyts%252Ceztv%252Crarbg%252C1337x%252Cthepiratebay%252Ckickasstorrents%252Ctorrentgalaxy%252Cmagnetdl%252Chorriblesubs%252Cnyaasi%7Csort%253Dqualitysize%7Cqualityfilter%253D480p%252Cscr%252Ccam%7Crealdebrid={realDebridKey}/stream/movie/{imdbCode}.json';
|
||||||
// private string $baseUrl = 'https://torrentio.strem.fun/providers=yts,eztv,rarbg,1337x,thepiratebay,kickasstorrents,torrentgalaxy,magnetdl,horriblesubs|sort=qualitysize|qualityfilter=480p,cam,unknown|debridoptions=nodownloadlinks|realdebrid=QYYBR7OSQ4VEFKWASDEZ2B4VO67KHUJY6IWOT7HHA7ATXO7QCYDQ/stream/{imdbCode}.json';
|
|
||||||
|
|
||||||
private string $searchUrl;
|
private string $searchUrl;
|
||||||
|
|
||||||
@@ -44,26 +39,6 @@ class Torrentio
|
|||||||
return $this->parse($results, $filter);
|
return $this->parse($results, $filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function searchBySeriesSeason(MediaResult $series): MediaResult
|
|
||||||
{
|
|
||||||
$imdbCode = $series->imdbId;
|
|
||||||
// foreach ($series->episodes as $season => $episodes) {
|
|
||||||
// foreach ($episodes as $key => $episode) {
|
|
||||||
// $cacheKey = "torrentio.$series->imdbId.$season.{$episode['episode_number']}";
|
|
||||||
// $downloadOptions = $this->cache->get($cacheKey, function (ItemInterface $item) use ($imdbCode, $season, $episode) {
|
|
||||||
// $item->expiresAt(new \DateTimeImmutable("today 11:59 pm"));
|
|
||||||
// $response = file_get_contents(str_replace('{imdbCode}', "$imdbCode:$season:{$episode['episode_number']}", $this->searchUrl));
|
|
||||||
// return json_decode(
|
|
||||||
// $response,
|
|
||||||
// true
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
// $series->episodes[$season][$key]['download_options'] = $this->parse($downloadOptions, []);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
return $series;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function fetchEpisodeResults(string $imdbId, int $season, int $episode): array
|
public function fetchEpisodeResults(string $imdbId, int $season, int $episode): array
|
||||||
{
|
{
|
||||||
$cacheKey = "torrentio.$imdbId.$season.$episode";
|
$cacheKey = "torrentio.$imdbId.$season.$episode";
|
||||||
|
|||||||
Reference in New Issue
Block a user