summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Console/Commands/ScrapeFile.php2
-rw-r--r--app/Console/Commands/ScrapeUrlFile.php71
-rw-r--r--app/Console/Commands/ScrapeYoutube.php13
-rw-r--r--app/Console/Commands/SyncVideos.php98
-rw-r--r--app/Console/Commands/TestTor.php65
-rw-r--r--app/Rugby/Concerns/Matchable.php93
-rw-r--r--app/Rugby/Model/Match.php25
-rw-r--r--app/Rugby/Model/Team.php16
-rw-r--r--app/Rugby/Model/Tournament.php20
-rw-r--r--app/Rugby/Model/Video.php34
-rw-r--r--app/Youtube/Service.php21
-rw-r--r--database/migrations/2020_06_20_162435_create_videos_table.php36
-rw-r--r--database/seeds/DatabaseSeeder.php9
-rw-r--r--database/seeds/VideoSeeder.php24
-rw-r--r--possible-torrents.txt37
-rw-r--r--resources/views/index.blade.php6
16 files changed, 549 insertions, 21 deletions
diff --git a/app/Console/Commands/ScrapeFile.php b/app/Console/Commands/ScrapeFile.php
index 4cfef90..45beda9 100644
--- a/app/Console/Commands/ScrapeFile.php
+++ b/app/Console/Commands/ScrapeFile.php
@@ -49,7 +49,7 @@ class ScrapeFile extends Command
$raw_data = Storage::disk('local')->get($filename);
- $service = new Service(new SixnationsrugbyAdapter($raw_data, 'Six Nations'));
+ $service = new Service(new SixnationsrugbyAdapter($raw_data, 'Six Nations ' . explode('-', explode('.txt', $filename)[0])[1]));
$service->save();
diff --git a/app/Console/Commands/ScrapeUrlFile.php b/app/Console/Commands/ScrapeUrlFile.php
new file mode 100644
index 0000000..f4f114b
--- /dev/null
+++ b/app/Console/Commands/ScrapeUrlFile.php
@@ -0,0 +1,71 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\Rugby\Model\Video;
+use App\Youtube\Service;
+use Illuminate\Console\Command;
+use Illuminate\Support\Facades\Storage;
+
+class ScrapeUrlFile extends Command
+{
+ /**
+ * The name and signature of the console command.
+ *
+ * @var string
+ */
+ protected $signature = 'scrape:urls { filename } { format }';
+
+ /**
+ * The console command description.
+ *
+ * @var string
+ */
+ protected $description = 'Scrape a youtube for videos';
+
+ /**
+ * Create a new command instance.
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ /**
+ * Execute the console command.
+ *
+ * @return mixed
+ */
+ public function handle()
+ {
+ $filename = $this->argument('filename');
+ $format = $this->argument('format');
+
+ $urls = include Storage::disk('local')->path($filename);
+
+ foreach ($urls as $url) {
+ $service = new Service($url, $this->output);
+
+ if ($format == 'video') {
+ $service->downloadVideo('video');
+ } elseif ($format == 'audio') {
+ $service->downloadAudio('audio');
+ }
+
+ $video_model = Video::create(
+ [
+ 'path' => $service->getFullPath()
+ ]
+ );
+
+ $this->info('Download of ' . $service->getTitle() . ' complete!');
+ }
+
+
+
+ return Command::SUCCESS;
+ }
+
+}
diff --git a/app/Console/Commands/ScrapeYoutube.php b/app/Console/Commands/ScrapeYoutube.php
index ce64d3f..de620d4 100644
--- a/app/Console/Commands/ScrapeYoutube.php
+++ b/app/Console/Commands/ScrapeYoutube.php
@@ -2,6 +2,7 @@
namespace App\Console\Commands;
+use App\Rugby\Model\Video;
use App\Youtube\Service;
use Illuminate\Console\Command;
@@ -44,12 +45,18 @@ class ScrapeYoutube extends Command
$service = new Service($url, $this->output);
if ($format == 'video') {
- $video = $service->downloadVideo('video');
+ $service->downloadVideo('video');
} elseif ($format == 'audio') {
- $video = $service->downloadAudio('audio');
+ $service->downloadAudio('audio');
}
- $this->info('Download of ' . $video->getTitle() . ' complete!');
+ $video_model = Video::create(
+ [
+ 'path' => $service->getFullPath()
+ ]
+ );
+
+ $this->info('Download of ' . $service->getTitle() . ' complete!');
return Command::SUCCESS;
}
diff --git a/app/Console/Commands/SyncVideos.php b/app/Console/Commands/SyncVideos.php
new file mode 100644
index 0000000..d29436d
--- /dev/null
+++ b/app/Console/Commands/SyncVideos.php
@@ -0,0 +1,98 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\Rugby\Model;
+use App\Youtube\Service;
+use Illuminate\Console\Command;
+use Illuminate\Support\Facades\Storage;
+
+class SyncVideos extends Command
+{
+ /**
+ * The name and signature of the console command.
+ *
+ * @var string
+ */
+ protected $signature = 'sync:videos';
+
+ /**
+ * The console command description.
+ *
+ * @var string
+ */
+ protected $description = 'Sync downloaded videos with existing matches';
+
+ /**
+ * Create a new command instance.
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ /**
+ * Execute the console command.
+ *
+ * @return mixed
+ */
+ public function handle()
+ {
+ $videos = Model\Video::whereNull('match_id')->get();
+
+ foreach ($videos as $video) {
+ $filename = $video->getFilename();
+
+ $tournaments = Model\Tournament::all()->filter(
+ function ($object) use ($filename) {
+ return $object->isMatch($filename);
+ }
+ );
+
+ $tournament_ids = $tournaments->pluck('id');
+
+ $teams = Model\Team::all()->filter(
+ function ($object) use ($filename) {
+ return $object->isMatch($filename);
+ }
+ );
+
+ $team_ids = $teams->pluck('name')->toArray();
+
+ $matches = $tournaments->first()->matches;
+
+ foreach ($matches as $match) {
+ if (in_array($match->homeTeam()->first()->name, $team_ids)) {
+ if (in_array($match->awayTeam()->first()->name, $team_ids)) {
+ $match->videos()->save($video);
+ Storage::disk('local')->move(
+ 'youtube/video/' . $video->getFilename(),
+ 'public/matches/' . $video->getFilename()
+ );
+ }
+ }
+ }
+ }
+
+ // $service = new Service($url, $this->output);
+ //
+ // if ($format == 'video') {
+ // $service->downloadVideo('video');
+ // } elseif ($format == 'audio') {
+ // $service->downloadAudio('audio');
+ // }
+ //
+ // $video_model = Video::create(
+ // [
+ // 'path' => $service->getFullPath()
+ // ]
+ // );
+ //
+ // $this->info('Download of ' . $service->getTitle() . ' complete!');
+
+ return Command::SUCCESS;
+ }
+
+}
diff --git a/app/Console/Commands/TestTor.php b/app/Console/Commands/TestTor.php
new file mode 100644
index 0000000..87f0050
--- /dev/null
+++ b/app/Console/Commands/TestTor.php
@@ -0,0 +1,65 @@
+<?php
+
+namespace App\Console\Commands;
+
+use Illuminate\Console\Command;
+use Illuminate\Support\Facades\Http;
+
+class TestTor extends Command
+{
+ /**
+ * The name and signature of the console command.
+ *
+ * @var string
+ */
+ protected $signature = 'test:tor { onion }';
+
+ /**
+ * The console command description.
+ *
+ * @var string
+ */
+ protected $description = 'Testing tor';
+
+ /**
+ * Create a new command instance.
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ /**
+ * Execute the console command.
+ *
+ * @return mixed
+ */
+ public function handle()
+ {
+ $url = $this->argument('onion');
+
+ $response = Http::get($url);
+ dd($response->body());
+
+ // $url = 'http://jhiwjjlqpyawmpjx.onion/'; // Note the addition of a semicolon.
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:9150"); // Note the address here is just `IP:port`, not an HTTP URL.
+ curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME); // Note use of `CURLPROXY_SOCKS5_HOSTNAME`.
+ $this->info("about to run");
+ $output = curl_exec($ch);
+ $this->info("run");
+
+ $curl_error = curl_error($ch);
+ curl_close($ch);
+
+ print_r($output);
+ print_r($curl_error);
+
+ return Command::SUCCESS;
+ }
+
+}
diff --git a/app/Rugby/Concerns/Matchable.php b/app/Rugby/Concerns/Matchable.php
new file mode 100644
index 0000000..b0c512c
--- /dev/null
+++ b/app/Rugby/Concerns/Matchable.php
@@ -0,0 +1,93 @@
+<?php
+
+namespace App\Rugby\Concerns;
+
+trait Matchable
+{
+ public function matchableFilters()
+ {
+
+ }
+
+ public function isMatch(string $search): bool
+ {
+ $filters = $this->matchableFilters();
+
+ if (is_array($filters)) {
+ $filters = collect($filters);
+ }
+
+ foreach ($filters as $filter) {
+ $match = $this->matchArray($filter[1], explode(' ', $search), $filter[0]);
+
+ if (!$match) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public function matchString(string $needle, string $type, string $hay): bool
+ {
+ if ($type == 'date') {
+ if (!$this->isDate($needle)) {
+ dd('Matchable `' . $hay . '` is not a date');
+ };
+
+ if (!$this->isDate($hay)) {
+ return false;
+ };
+
+ return $this->getYear($hay) == $this->getYear($needle);
+ }
+
+ return $hay == $needle;
+ }
+
+ public function matchArray(string $needle, array $haystack, string $type): bool
+ {
+ foreach ($haystack as $hay) {
+ $result = $this->matchString($needle, $type, $hay);
+
+ if ($result) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public function isDate(string $value): bool
+ {
+ $patterns = [
+ "/\d{2}\-\d{2}\-\d{4}/",
+ "/\d{2}\_\d{2}\_\d{4}/",
+ "/\d{2}\/\d{2}\/\d{4}/",
+ "/\d{4}/",
+ ];
+
+ foreach ($patterns as $pattern) {
+ if (preg_match($pattern, $value, $matches)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public function getYear(string $value): string
+ {
+ $patterns = [
+ "/\d{4}/"
+ ];
+
+ foreach ($patterns as $pattern) {
+ if (preg_match($pattern, $value, $matches)) {
+ return $matches[0];
+ }
+ }
+
+ return false;
+ }
+}
diff --git a/app/Rugby/Model/Match.php b/app/Rugby/Model/Match.php
index 5447ef5..58a3dd9 100644
--- a/app/Rugby/Model/Match.php
+++ b/app/Rugby/Model/Match.php
@@ -2,19 +2,13 @@
namespace App\Rugby\Model;
-use App\Rugby\Model\Team;
-use App\Rugby\Model\Tournament;
-use App\Rugby\Model\Venue;
-
use Illuminate\Database\Eloquent\Model;
class Match extends Model
{
protected $table = 'matches';
-
protected $casts = ['date' => 'datetime:Y-m-d'];
-
- protected $fillable = ['score', 'half_score', 'referee', 'date'];
+ protected $fillable = ['score', 'half_score', 'referee', 'date'];
public function teams()
{
@@ -42,6 +36,17 @@ class Match extends Model
return (new \Carbon\Carbon($this->date))->format('M d Y');
}
+ public function getVideoUrl()
+ {
+ $video = $this->videos()->first();
+
+ if (! $video) {
+ return '';
+ }
+
+ return $video->getUrl();
+ }
+
public function homeTeam()
{
return $this->teams()->wherePivot('is_home', '=', true);
@@ -56,4 +61,10 @@ class Match extends Model
{
return $this->belongsToMany(Tournament::class, 'match_tournament');
}
+
+ public function videos()
+ {
+ return $this->hasMany(Video::class, 'match_id');
+ }
+
}
diff --git a/app/Rugby/Model/Team.php b/app/Rugby/Model/Team.php
index 2582f33..2dbfea6 100644
--- a/app/Rugby/Model/Team.php
+++ b/app/Rugby/Model/Team.php
@@ -2,12 +2,15 @@
namespace App\Rugby\Model;
+use App\Rugby\Concerns\Matchable;
use Illuminate\Database\Eloquent\Model;
use App\Rugby\Model\Match;
class Team extends Model
{
+ use Matchable;
+
protected $table = 'teams';
protected $fillable = ['name'];
@@ -31,4 +34,17 @@ class Team extends Model
{
return $this->name ?: '';
}
+
+ public function matchableFilters()
+ {
+ $name_parts = collect(explode(' ', $this->name));
+
+ $out = $name_parts->map(
+ function ($value) {
+ return ['string', $value];
+ }
+ );
+
+ return $out;
+ }
}
diff --git a/app/Rugby/Model/Tournament.php b/app/Rugby/Model/Tournament.php
index 64d9a45..3ab6352 100644
--- a/app/Rugby/Model/Tournament.php
+++ b/app/Rugby/Model/Tournament.php
@@ -2,16 +2,36 @@
namespace App\Rugby\Model;
+use App\Rugby\Concerns\Matchable;
use App\Rugby\Model\Match;
use Illuminate\Database\Eloquent\Model;
class Tournament extends Model
{
+ use Matchable;
+
protected $table = 'tournaments';
protected $fillable = ['name'];
+ public function matchableFilters()
+ {
+ $name_parts = collect(explode(' ', $this->name));
+
+ $out = $name_parts->map(
+ function ($value) {
+ if ($this->isDate($value)) {
+ return ['date', $value];
+ }
+
+ return ['string', $value];
+ }
+ );
+
+ return $out;
+ }
+
public function matches()
{
return $this->belongsToMany(Match::class);
diff --git a/app/Rugby/Model/Video.php b/app/Rugby/Model/Video.php
new file mode 100644
index 0000000..2182b65
--- /dev/null
+++ b/app/Rugby/Model/Video.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace App\Rugby\Model;
+
+use App\Rugby\Model\Match;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Support\Facades\Storage;
+
+class Video extends Model
+{
+ protected $table = 'videos';
+ protected $casts = ['date' => 'datetime:Y-m-d'];
+ protected $fillable = ['path'];
+
+ public function match()
+ {
+ return $this->belongsTo(Match::class);
+ }
+
+ public function getFilename(): string
+ {
+ $parts = explode('/', $this->path);
+
+ return $parts[count($parts) - 1];
+ }
+
+ public function getUrl(): string
+ {
+ return asset('storage/matches/' . $this->getFilename());
+ // return Storage::disk('local')->url(
+ // 'matches/' . $this->getFilename()
+ // );
+ }
+}
diff --git a/app/Youtube/Service.php b/app/Youtube/Service.php
index 090020e..862a27a 100644
--- a/app/Youtube/Service.php
+++ b/app/Youtube/Service.php
@@ -15,6 +15,7 @@ class Service
protected $url;
protected $progressBar;
protected $running = false;
+ protected $video;
public function __construct(string $url, $output = null)
{
@@ -37,15 +38,13 @@ class Service
public function downloadVideo(string $path)
{
$this->path = $path;
-
- return $this->download($this->getVideoOptions());
+ $this->download($this->getVideoOptions());
}
public function downloadAudio(string $path)
{
$this->path = $path;
-
- return $this->download($thjis->getAudioOptions());
+ $this->download($thjis->getAudioOptions());
}
protected function download(array $options)
@@ -81,7 +80,7 @@ class Service
'youtube/video/' . $video->getFilename()
);
- return $video;
+ $this->video = $video;
// $video->getFile(); // \SplFileInfo instance of downloaded file
} catch (NotFoundException $e) {
@@ -99,6 +98,16 @@ class Service
}
}
+ public function getTitle(): string
+ {
+ return $this->video->getTitle();
+ }
+
+ public function getFullPath(): string
+ {
+ return $this->getStoragePath() . '/' . $this->video->getFilename();
+ }
+
protected function formatBytes(string $bytes)
{
$units = [
@@ -134,7 +143,7 @@ class Service
return [
'prefer-free-formats' => true,
'no-overwrites' => true,
- // 'skip-download' => true
+ 'skip-download' => true
];
}
diff --git a/database/migrations/2020_06_20_162435_create_videos_table.php b/database/migrations/2020_06_20_162435_create_videos_table.php
new file mode 100644
index 0000000..28f7377
--- /dev/null
+++ b/database/migrations/2020_06_20_162435_create_videos_table.php
@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateVideosTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create(
+ 'videos', function (Blueprint $table) {
+ $table->id();
+ $table->dateTime('date')->nullable();
+ $table->unsignedInteger('match_id')->nullable();
+ $table->string('path');
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('videos');
+ }
+}
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index 21ec948..ff5520a 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -11,9 +11,10 @@ class DatabaseSeeder extends Seeder
*/
public function run()
{
- $this->call(VenueSeeder::class);
- $this->call(TeamSeeder::class);
- $this->call(TournamentSeeder::class);
- $this->call(MatchSeeder::class);
+ // $this->call(VenueSeeder::class);
+ // $this->call(TeamSeeder::class);
+ // $this->call(TournamentSeeder::class);
+ // $this->call(MatchSeeder::class);
+ $this->call(VideoSeeder::class);
}
}
diff --git a/database/seeds/VideoSeeder.php b/database/seeds/VideoSeeder.php
new file mode 100644
index 0000000..23d1d78
--- /dev/null
+++ b/database/seeds/VideoSeeder.php
@@ -0,0 +1,24 @@
+<?php
+
+use Illuminate\Database\Seeder;
+use App\Rugby\Model;
+
+class VideoSeeder extends Seeder
+{
+ /**
+ * Run the database seeds.
+ *
+ * @return void
+ */
+ public function run()
+ {
+ $video = Model\Video::create(
+ [
+ 'path' => 'some/path',
+ 'match_id' => 1
+ ]
+ );
+
+ $video->match()->associate(1);
+ }
+}
diff --git a/possible-torrents.txt b/possible-torrents.txt
new file mode 100644
index 0000000..c148aee
--- /dev/null
+++ b/possible-torrents.txt
@@ -0,0 +1,37 @@
+magnet:?xt=urn:btih:513FB17A44C92F9A75F9B61B4CB85F15C53E4846&dn=Rugby+Lions+v+Springboks+2009+1st+test+&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:DA0E3DF96EDB42B9EC3C4AE37F893103E20F9C45&dn=Rugby+Union+International+%5BSouth+Africa+vs+France%5D+.17.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:9AF326951EB7D888B4AE2A58B2601EDF9D719762&dn=Rugby+Union+International+%5BChiefs+vs+British+And+Irish+Lions%5D+.20.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:3245041BDE597A4B5D6D3E3885B0EAF6A8B0E16F&dn=Rugby+Union+Internationals+%5BHurricanes+vs+British+And+Irish+Lions%5D+.27.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:CE11DFD2D1D4CF21322B93275C3C880FCB709FDE&dn=Rugby+Union+Internationals+%5BIreland+vs+South+Africa%5D+.11.11.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:DA4A088EDB78CF6F93482C81C111723B1C7515E3&dn=Rugby+Union+International+%5BNew+Zealand+vs+Samoa%5D+.16.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:A052F16C4498D7E2244A5BAC9FB174C79225784F&dn=Rugby+Union+Internationals+%5BNew+Zealand+vs+British+And+Irish+Lions%5D+.24.06.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:595839ECCCBD2E88E44790B2A6393B71620A57A3&dn=Rugby+Union+Internationals+%5BWales+vs+South+Africa%5D++.02.12.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:B67A9F08E3969B06E74075D1B4D7CD0B5692A16E&dn=Rugby+Union+Internationals+%5BWales+vs+New+Zealand%5D++.25.11.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:E058015EFDA8E399BCA3ECC25A6D1B80A114F895&dn=Rugby+Union+Internationals+%5BFrance+vs+New+Zealend%5D+.11.11.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:6F22F50FB4B13557F668D9AA0EE8F20B739C3486&dn=Rugby+Union+International+%5BNew+Zealand+vs+British+and+Irish+Lions%5D+.08.07.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:789B51C0287018EAAF0C1A67BBF96D0A12FB85B2&dn=Rugby+Union+%5BAustralia+vs+Ireland%5D+.16.06.18.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:E7E95A47CF052DC67555A1AE36F3FE94079C25E8&dn=Rugby+Union+%5BSouth+Africa+vs+England%5D+.16.06.18.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:1EAEDFBDE09A72DF539E5BE2C0A887DE46366277&dn=Rugby+Union%3A+Ireland+v+France+%2820th+August+2011%29+%5BPDTV+%28XviD%29%5D%5Bscenepeople.net%5D&tr=udp%3A%2F%2Ftracker.1337x.org%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:DFAE7412B56B311931C698F4AD59FD08CFB60BC0&dn=Rugby.Union.World.Cup.2015.09.18.-.England.vs.Fiji.1080i50.HDTV.x264.-.CREATiVE24&tr=udp%3A%2F%2Ftracker.istole.it%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:B2725DF12AF2288ACB04CDFE0649EA9FAEC2B50C&dn=BBC+2+HD-International+Rugby+Union+%2810-06-2017%29-Argentina+vs.+England+720p+HDTV+x264+Ac3-CREATiVE24&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:B88A4071AD4BD09B605F532139448EFA6008394E&dn=SKY+Sports+HD-Rugby+Union+%2813-06-2017%29-Highlanders+vs.+British+and+Irish+Lions+720p+HDTV+x264+Ac3-CREATiVE24&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:E0BE762332E39E335B230BB9757ACB04BF15FD21&dn=SKY+Sports+HD+%2817-06-2017%29-Rugby+Union-Maori+All+Blacks+vs.+British+and+Irish+Lions+720p+HDTV+x264+AC3-CREATiVE24&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexodus.desync.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:AD1959044A100D648EC9EA362F4E64B37E1A49AD&dn=Rugby+Union+International+%5BTonga+vs+Wales%5D+.16.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:A2A9ADB6A041E8BC5717B976A65934DA2CD490E6&dn=Rugby+Union+International+%5BAustralia+vs+Scotland%5D+.17.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:C9DAD40781B0240B16445DB51BBC9FBBBBE5F981&dn=Rugby+Union+International+%5BArgentina+vs+England%5D+.17.06.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:63E4C6D3987AA8B49A1AA93D90492BADAA335D50&dn=Rugby+Union+Internationals+%5BAustralia+vs+Italy%5D+.24.06.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:F1AB463D1287DE43FFFA0DA2E4B359F7399A44F3&dn=Rugby+Union+Internationals+%5BArgentina+vs+Georgia%5D+.24.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:A3FE297A8BFDD3FDCECD64A6286950FFD3EC1B7E&dn=Rugby+Union+Internationals+%5BSouth+Africa+vs+France%5D+.24.06.17.+%5BWWRG%5D+&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.eddie4.nl%3A6969&tr=udp%3A%2F%2Fshadowshq.yi.org%3A6969&tr=udp%3A%2F%2Fshadowshq.eddie4.nl%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:85E7B895C653D9D960C393308C926DF423B0A707&dn=SKY+Sports+HD-International+Rugby+Union+%2818-11-2017%29+England+vs.+Australia+1080p50+HDTV+x264+AC3-CREATiVE24&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:98E1851F9AC2381FEA727D2808A0B7F66DD90CCB&dn=Rugby+Union+Internationals+%5BIreland+vs+Argentina%5D++.25.11.17.+%5BWWRG%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969%2Fannounce&tr=udp%3A%2F%2F62.138.0.158%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:8BE983D970673C0B65C8EA676E7F5235E254D15D&dn=Aviva+Premiership+Rugby+Union+%2826-11-2017%29-Saracens+vs.+Exeter+Chiefs+1080p+HDTV+x264+AC3-CREATiVE24&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:CD096C80B4BE8760D14763F64A887F6190993899&dn=Rugby+World+Cup+2019+Final+England+Vs+South+Africa+HDTV+x264-ACES+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:BCAAF24B096877AEB968E643575D2D98A23503FA&dn=Rugby+World+Cup+2019+Pool+C+France+vs+USA+PDTV+x264-WiNNiNG+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:3CABB343D9169023994575580B76697E509147B4&dn=Rugby+World+Cup+2019+Pool+B+New+Zealand+vs+Canada+PDTV+x264-WiNNiNG+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:535161400764D49242B9618F5BCC309EE3A03606&dn=Rugby+World+Cup+2019+Pool+B+South+Africa+vs+Canada+PDTV+x264-WiNNiNG+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:F8F4F2C159447BF2AE60BA621BD1FEB28396873F&dn=Rugby+World+Cup+2019+09+21+Highlights+480p+x264-mSD+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:721F3008FE287B187D633D72BF4A1241F8552D6B&dn=Rugby+World+Cup+2019+Pool+A+Scotland+vs+Samoa+HDTV+x264-WiNNiNG+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+magnet:?xt=urn:btih:1F12023763610DF57ACD04619C0AD3DCE557D9FA&dn=Rugby+World+Cup+2019+Pool+C+Argentina+vs+USA+PDTV+x264-WiNNiNG+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce
+
+
+magnet:?xt=urn:btih:2612F01E8581CFE3BF2E2D716CC1B26109D8D09F&dn=&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=http%3A%2F%2Ftracker.ipv6tracker.ru%3A80%2Fannounce&tr=udp%3A%2F%2Fretracker.hotplug.ru%3A2710%2Fannounce&tr=https%3A%2F%2Ftracker.fastdownload.xyz%3A443%2Fannounce&tr=https%3A%2F%2Fopentracker.xyz%3A443%2Fannounce&tr=http%3A%2F%2Fopen.trackerlist.xyz%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.birkenwald.de%3A6969%2Fannounce&tr=https%3A%2F%2Ft.quic.ws%3A443%2Fannounce&tr=https%3A%2F%2Ftracker.parrotsec.org%3A443%2Fannounce&tr=udp%3A%2F%2Ftracker.supertracker.net%3A1337%2Fannounce&tr=http%3A%2F%2Fgwp2-v19.rinet.ru%3A80%2Fannounce&tr=udp%3A%2F%2Fbigfoot1942.sektori.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcarapax.net%3A6969%2Fannounce&tr=udp%3A%2F%2Fretracker.akado-ural.ru%3A80%2Fannounce&tr=udp%3A%2F%2Fretracker.maxnet.ua%3A80%2Fannounce&tr=udp%3A%2F%2Fbt.dy20188.com%3A80%2Fannounce&tr=http%3A%2F%2F0d.kebhana.mx%3A443%2Fannounce&tr=http%3A%2F%2Ftracker.files.fm%3A6969%2Fannounce&tr=http%3A%2F%2Fretracker.joxnet.ru%3A80%2Fannounce&tr=http%3A%2F%2Ftracker.moxing.party%3A6969%2Fannounce
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index cde358d..0500e96 100644
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -23,6 +23,7 @@
<th scope="col">Venue</th>
<th scope="col">Referee</th>
<th scope="col">Date</th>
+ <th scope="col">Video</th>
</tr>
</thead>
@@ -37,6 +38,11 @@
<td>{{ $match->getDisplayName() }}</td>
<td>{{ $match->referee }}</td>
<td>{{ $match->getDisplayDate() }}</td>
+ @if ($match->getVideoUrl())
+ <td><a href="{{ $match->getVideoUrl() }}">Play</a></td>
+ @else
+ <td></td>
+ @endif
</tr>
@endforeach
</tbody>