diff --git a/config/backup.yml b/config/backup.yml deleted file mode 100644 index 6afc61e..0000000 --- a/config/backup.yml +++ /dev/null @@ -1,1580 +0,0 @@ -- name: Home - columns: - - size: small - widgets: - - type: calendar - first-day-of-week: sunday - - type: clock # Added Clock widget - hour-format: 12h # Assuming 12h based on weather widget preference - timezones: - - timezone: America/Los_Angeles # San Francisco uses this timezone - label: San Francisco - - timezone: America/New_York - label: New York - - timezone: Europe/London - label: London - - timezone: Europe/Amsterdam - label: Amsterdam - - timezone: Asia/Kolkata # New Delhi uses this timezone - label: New Delhi - - timezone: Asia/Tokyo - label: Tokyo - - type: custom-api - title: Astronomy Picture of the Day - cache: 1d - url: https://api.nasa.gov/planetary/apod?api_key=${NASA_API_KEY} - headers: - Accept: application/json - template: | - {{- if eq (.JSON.String "media_type") "image" -}} -
- - {{ .JSON.String "title" }} - -
- - -- {{ .JSON.String "explanation" }} -
-- No image available today. -
- {{- end }} - - - size: full - widgets: - - type: search - search-engine: google - bangs: # Added bangs section - - title: YouTube - shortcut: "!yt" - url: https://www.youtube.com/results?search_query={QUERY} - - title: Wikipedia - shortcut: "!w" - url: https://en.wikipedia.org/wiki/Special:Search?search={QUERY} - - title: Amazon - shortcut: "!a" - url: https://www.amazon.com/s?k={QUERY} - - title: Reddit - shortcut: "!r" - url: https://www.reddit.com/search/?q={QUERY} - - title: GitHub - shortcut: "!gh" - url: https://github.com/search?q={QUERY} - - type: bookmarks # Rewritten Quick Links widget - title: Quick Links - groups: - - links: - - title: Google - url: https://www.google.com/ - icon: si:google - - title: GMail - url: https://mail.google.com/ - icon: si:gmail - - title: GDrive - url: https://drive.google.com/ - icon: si:googledrive - - links: - - title: GCal - url: https://calendar.google.com/ - icon: si:googlecalendar - - title: Youtube - url: https://www.youtube.com/ - icon: si:youtube - - title: Amazon - url: https://www.amazon.com/ - icon: si:amazon - - links: - - title: Github - url: https://github.com/ - icon: si:github - - title: LinkedIn - url: https://www.linkedin.com/ - icon: si:linkedin - - title: Plex - url: "${PLEX_URL}/web/index.html#!/" - icon: si:plex - - links: - - title: MCSManager - url: http://panel.sirblob.co/ - icon: mdi:server - - title: Gitea - url: https://git.sirblob.co/ - icon: si:gitea - - title: Coder - url: "${CODER_APP_URL}" - icon: mdi:code-braces - - title: Yamtrack - url: https://tbd.sirblob.co/ - icon: mdi:bug - - links: - - title: qBittorrent - url: https://torr.sirblob.co/ - icon: si:qbittorrent - - title: Excalidraw - url: https://draw.sirblob.co/ - icon: mdi:draw - - title: Immich - url: https://immich.sirblob.co/ - icon: si:immich - - links: - - title: Canvas - url: https://canvas.gmu.edu/ - icon: si:instructure # Instructure is the company behind Canvas - - title: Mason360 - url: https://mason360.gmu.edu/ - icon: mdi:school # Using a generic school icon - - title: Nginx Proxy Manager # Added NPM - url: https://npm.sirblob.co/ - icon: si:nginxproxymanager - - title: OpenWeb (AI Chat) - url: https://openweb.sirblob.co/ - icon: mdi:chat - - title: Sea (Anime) - url: https://sea.sirblob.co/ - icon: mdi:television - - - type: monitor - cache: 1m - title: My Services - sites: - - title: Plex - url: "${PLEX_URL}/web/index.html#!/" - icon: si:plex - - title: Immich - url: https://immich.sirblob.co - icon: si:immich - - title: MCSManager - url: http://panel.sirblob.co/ - icon: mdi:server - - title: Coder - url: "${CODER_APP_URL}" - icon: mdi:code-braces - - title: Yamtrack - url: https://tbd.sirblob.co/ - icon: mdi:bug - - title: Excalidraw - url: https://draw.sirblob.co/ - icon: mdi:draw - - title: qBittorrent - url: https://torr.sirblob.co/ - icon: si:qbittorrent - - title: Gitea - url: https://git.sirblob.co/ - icon: si:gitea - - title: Nginx Proxy Manager # Added NPM - url: https://npm.sirblob.co/ - icon: si:nginxproxymanager - - title: OpenWeb (AI Chat) - url: https://openweb.sirblob.co/ - icon: mdi:chat - - title: Sea (Anime) - url: https://sea.sirblob.co/ - icon: mdi:television - - - type: group - widgets: - - type: custom-api - title: mason.sirblob.co - cache: 30s - url: https://api.mcstatus.io/v2/status/java/mason.sirblob.co - template: &minecraft-widget-template | -- - {{ .JSON.Int "players.online" | formatNumber }}/{{ .JSON.Int "players.max" | formatNumber }} players -
-- - 0 players -
-Difficulty: {{ .JSON.String "data.activeDailyCodingChallengeQuestion.question.difficulty" }}
-Topics:
-This is a Premium question
- {{ end }} -{{ .String "description" }}
-Error fetching Epic Games data.
- {{ end }} -Error fetching qBittorrent data.
-Check URL and authentication bypass settings.
-{{ . }}
- {{ end }} - - {{ if or - (eq $mediaServer "") - (eq $baseURL "") - (eq $apiKey "") - }} - {{ template "errorMsg" "Some required options are not set" }} - {{ else }} - - {{ $isSmallColumn := .Options.BoolOr "small-column" false }} - {{ $isCompact := .Options.BoolOr "compact" true }} - {{ $playState := .Options.StringOr "play-state" "indicator" }} - {{ $showThumbnail := .Options.BoolOr "show-thumbnail" false }} - {{ $fullThumbnail := .Options.BoolOr "full-thumbnail" false }} - {{ $showPaused := .Options.BoolOr "show-paused" false }} - {{ $showProgressBar := .Options.BoolOr "show-progress-bar" false }} - {{ $showProgressInfo := .Options.BoolOr "show-progress-info" true }} - {{ $timeFormat := .Options.StringOr "time-format" "15:04" }} - - {{ $userID := "" }} - {{ $sessionsRequestURL := "" }} - {{ $sessionsCall := "" }} - {{ $sessions := "" }} - {{ $activeSessions := 0 }} - - {{ if eq $mediaServer "plex" }} - {{ $sessionsRequestURL = concat $baseURL "/status/sessions" }} - {{ $sessionsCall = newRequest $sessionsRequestURL - | withHeader "Accept" "application/json" - | withHeader "X-Plex-Token" $apiKey - | getResponse }} - - {{ if $sessionsCall.JSON.Exists "MediaContainer" }} - {{ $sessions = $sessionsCall.JSON.Array "MediaContainer.Metadata" }} - {{ $activeSessions = len $sessions }} - {{ else }} - {{ template "errorMsg" (concat "Could not fetch " $mediaServer " API.") }} - {{ end }} - - {{ else if eq $mediaServer "tautulli" }} - {{ $sessionsRequestURL = concat $baseURL "/api/v2" }} - {{ $sessionsCall = newRequest $sessionsRequestURL - | withParameter "apikey" $apiKey - | withParameter "cmd" "get_activity" - | withHeader "Accept" "application/json" - | getResponse }} - - {{ if eq $sessionsCall.Response.StatusCode 200 }} - {{ $sessions = $sessionsCall.JSON.Array "response.data.sessions" }} - {{ $activeSessions = len $sessions }} - {{ else }} - {{ template "errorMsg" (concat "Could not fetch " $mediaServer " API.") }} - {{ end }} - - {{ else if or (eq $mediaServer "jellyfin") (eq $mediaServer "emby") }} - {{ $sessionsRequestURL = concat $baseURL "/Sessions" }} - {{ $sessionsCall = newRequest $sessionsRequestURL - | withParameter "api_key" $apiKey - | withParameter "activeWithinSeconds" "30" - | withHeader "Accept" "application/json" - | getResponse }} - - {{ if eq $sessionsCall.Response.StatusCode 200 }} - {{ $sessions = $sessionsCall.JSON.Array "" }} - {{ if eq $mediaServer "emby" }} - {{ range $session := $sessions }} - {{ if $session.Bool "PlayState.CanSeek" }} - {{ $activeSessions = 1 }} - {{ break }} - {{ end }} - {{ end }} - {{ else }} - {{ $activeSessions = len $sessions }} - {{ end }} - {{ else }} - {{ template "errorMsg" (concat "Could not fetch " $mediaServer " API.") }} - {{ end }} - {{ end }} - - {{ if and (eq $sessionsCall.Response.StatusCode 200) (eq $activeSessions 0) }} -Nothing is playing right now.
- {{ else if $sessionsCall.JSON.Exists "MediaContainer" }} - - - -- {{ if and (not $isCompact) (not $isSmallColumn) }} - ends at - {{ end }} - {{ $endTime }} -
- {{ end }} -{{ . }}
- {{ end }} - - {{ if or - (eq $mediaServer "") - (eq $baseURL "") - (eq $apiKey "") - (and (eq $mediaServer "jellyfin") (eq $userName "")) - }} - {{ template "errorMsg" "Some required options are not set" }} - {{ else }} - - {{ $historyLength := .Options.StringOr "history-length" "10" }} - {{ $mediaTypes := .Options.StringOr "media-types" "" }} - {{ if eq $mediaServer "tautulli" }} - {{ $mediaTypes = .Options.StringOr "media-types" "movie,episode,track" }} - {{ else if or (eq $mediaServer "jellyfin") (eq $mediaServer "emby") }} - {{ $mediaTypes = .Options.StringOr "media-types" "Movie,Episode,Audio" }} - {{ end }} - {{ $isSmallColumn := .Options.BoolOr "small-column" false }} - {{ $isCompact := .Options.BoolOr "compact" true }} - {{ $showThumbnail := .Options.BoolOr "show-thumbnail" false }} - {{ $thumbAspectRatio := .Options.StringOr "thumbnail-aspect-ratio" "" }} - {{ $showUser := .Options.BoolOr "show-user" true }} - {{ $timeAbsolute := .Options.BoolOr "time-absolute" false }} - {{ $timeFormat := .Options.StringOr "time-format" "Jan 02 15:04" }} - - {{ $userID := "" }} - {{ $historyRequestURL := "" }} - {{ $usersRequestURL := "" }} - {{ $historyCall := "" }} - {{ $usersCall := "" }} - {{ $history := "" }} - {{ $users := "" }} - - {{ if eq $mediaServer "plex" }} - {{ $historyRequestURL = concat $baseURL "/status/sessions/history/all" }} - {{ $historyCall = newRequest $historyRequestURL - | withParameter "limit" $historyLength - | withParameter "sort" "viewedAt:desc" - | withHeader "Accept" "application/json" - | withHeader "X-Plex-Token" $apiKey - | getResponse }} - - {{ if $historyCall.JSON.Exists "MediaContainer" }} - {{ $history = $historyCall.JSON.Array "MediaContainer.Metadata" }} - {{ else }} - {{ template "errorMsg" (concat "Could not fetch " $mediaServer " API.") }} - {{ end }} - - {{ $usersRequestURL = concat $baseURL "/accounts" }} - {{ $usersCall = newRequest $usersRequestURL - | withHeader "Accept" "application/json" - | withHeader "X-Plex-Token" $apiKey - | getResponse }} - {{ $users = $usersCall.JSON.Array "MediaContainer.Account" }} - - {{ else if eq $mediaServer "tautulli" }} - {{ $historyRequestURL = concat $baseURL "/api/v2" }} - {{ $historyCall = newRequest $historyRequestURL - | withParameter "apikey" $apiKey - | withParameter "cmd" "get_history" - | withParameter "length" $historyLength - | withParameter "media_type" $mediaTypes - | withHeader "Accept" "application/json" - | getResponse }} - - {{ if eq $historyCall.Response.StatusCode 200 }} - {{ $history = $historyCall.JSON.Array "response.data.data" }} - {{ else }} - {{ template "errorMsg" (concat "Could not fetch " $mediaServer " API.") }} - {{ end }} - - {{ else if or (eq $mediaServer "jellyfin") (eq $mediaServer "emby") }} - {{ $usersRequestURL = concat $baseURL "/Users" }} - {{ $usersCall = newRequest $usersRequestURL - | withParameter "api_key" $apiKey - | withHeader "Accept" "application/json" - | getResponse }} - - {{ $usersList := $usersCall.JSON.Array "" }} - {{ range $i, $user := $usersList }} - {{ if eq ($user.String "Name") $userName }} - {{ $userID = $user.String "Id" }} - {{ break }} - {{ end }} - {{ end }} - {{ if eq $userID "" }} - {{ template "errorMsg" (concat "User '" $userName "' not found.") }} - {{ end }} - - {{ $historyRequestURL = concat $baseURL "/Users/" $userID "/Items" }} - {{ $historyCall = newRequest $historyRequestURL - | withParameter "api_key" $apiKey - | withParameter "Limit" $historyLength - | withParameter "IncludeItemTypes" $mediaTypes - | withParameter "Recursive" "true" - | withParameter "isPlayed" "true" - | withParameter "sortBy" "DatePlayed" - | withParameter "sortOrder" "Descending" - | withParameter "Fields" "UserDataLastPlayedDate" - | withHeader "Accept" "application/json" - | getResponse }} - - {{ $history = $historyCall.JSON.Array "Items" }} - {{ end }} - - {{ if and (eq $historyCall.Response.StatusCode 200) (eq (len $history) 0) }} -Nothing has been played. Start streaming something!
- {{ else if $historyCall.JSON.Exists "MediaContainer" }} -