diff --git a/app/Item.php b/app/Item.php
index 29a77fdb..7a7c125f 100644
--- a/app/Item.php
+++ b/app/Item.php
@@ -57,6 +57,7 @@ class Item extends Model
'Sabnzbd' => \App\SupportedApps\Sabnzbd::class,
'Sickrage' => \App\SupportedApps\Sickrage::class,
'Sonarr' => \App\SupportedApps\Sonarr::class,
+ 'Tautulli' => \App\SupportedApps\Tautulli::class,
'Transmission' => \App\SupportedApps\Transmission::class,
'Traefik' => \App\SupportedApps\Traefik::class,
'Ttrss' => \App\SupportedApps\Ttrss::class,
diff --git a/app/SupportedApps/Tautulli.php b/app/SupportedApps/Tautulli.php
new file mode 100644
index 00000000..fc22c5ad
--- /dev/null
+++ b/app/SupportedApps/Tautulli.php
@@ -0,0 +1,77 @@
+buildRequest('arnold');
+ switch($res->getStatusCode()) {
+ case 200:
+ $data = json_decode($res->getBody());
+ if(isset($data->error) && !empty($data->error)) {
+ echo 'Failed: '.$data->error;
+ } else {
+ echo 'Successfully connected to the API';
+ }
+ break;
+ case 401:
+ echo 'Failed: Invalid credentials';
+ break;
+ case 404:
+ echo 'Failed: Please make sure your URL is correct and that there is a trailing slash';
+ break;
+ default:
+ echo 'Something went wrong... Code: '.$res->getStatusCode();
+ break;
+ }
+ }
+ public function executeConfig()
+ {
+ $html = '';
+ $active = 'active';
+ $res = $this->buildRequest('get_activity');
+ $data = json_decode($res->getBody());
+ $stream_count = $data->response->data->stream_count;
+
+ $html = '
+
+ - Stream Count'.$stream_count.'
+
+ ';
+
+ return json_encode(['status' => $active, 'html' => $html]);
+ }
+ public function buildRequest($endpoint)
+ {
+ $config = $this->config;
+ $url = $config->url;
+ $apikey = $config->apikey;
+
+ $url = rtrim($url, '/');
+
+ $api_url = $url.'/api/v2?apikey='.$apikey.'&cmd='.$endpoint;
+
+ $client = new Client(['http_errors' => false, 'timeout' => 15, 'connect_timeout' => 15]);
+ $res = $client->request('GET', $api_url);
+ return $res;
+
+ }
+
+}
diff --git a/readme.md b/readme.md
index c21a106b..c45167c9 100644
--- a/readme.md
+++ b/readme.md
@@ -34,6 +34,7 @@ You can use the app to link to any site or application, but Foundation apps will
- Proxmox
- Runeaudio
- Sabnzbd
+- Tautulli
- Transmission
**Foundation**
diff --git a/resources/views/supportedapps/tautulli.blade.php b/resources/views/supportedapps/tautulli.blade.php
new file mode 100644
index 00000000..e2b02c2b
--- /dev/null
+++ b/resources/views/supportedapps/tautulli.blade.php
@@ -0,0 +1,15 @@
+{{ __('app.apps.config') }} ({{ __('app.optional') }})
+
+
+
+
+ {!! Form::text('config[override_url]', null, array('placeholder' => __('app.apps.override'), 'id' => 'override_url', 'class' => 'form-control')) !!}
+
+
+
+ {!! Form::text('config[apikey]', null, array('placeholder' => __('app.apps.apikey'), 'data-config' => 'apikey', 'class' => 'form-control config-item')) !!}
+
+
+
+
+
diff --git a/storage/app/public/supportedapps/tautulli.png b/storage/app/public/supportedapps/tautulli.png
new file mode 100644
index 00000000..dbde75cf
Binary files /dev/null and b/storage/app/public/supportedapps/tautulli.png differ