Last active
June 28, 2026 22:29
-
-
Save atb00ker/33dac2afc54bbda7e85f2c0f053277cc to your computer and use it in GitHub Desktop.
homelab
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "name": "Tube39", | |
| "description": "A plugin that adds PeerTube as a source", | |
| "author": "atb00ker", | |
| "authorUrl": "https://lab39.home.kg", | |
| "platformUrl": "https://peertube.lab39.home.kg/", | |
| "sourceUrl": "https://gist.githubusercontent.com/atb00ker/33dac2afc54bbda7e85f2c0f053277cc/raw/", | |
| "repositoryUrl": "https://gitlab.futo.org/videostreaming/plugins/peertube", | |
| "scriptUrl": "https://plugins.grayjay.app/PeerTube/PeerTubeScript.js", | |
| "version": 27, | |
| "iconUrl": "https://plugins.grayjay.app/PeerTube/peertube.png", | |
| "id": "ea811b45-140e-440b-ad46-f6799a987c32", | |
| "scriptSignature": "UuIZPDuIzFu9aKwkHhscdrsQFUyHx6qGkgCPzvXFV3t70samRb12pWlMFJzq7mWKcFza0lNSBIRccskDoUpnCdsu34d7AhHA4ekOhNW4RxqKAXrkspwxeeVEg/\u002Bmo/lOePJJDGW6LfiVZnl4JH3PhUgruOn3CveAHp43qnZLS6hnSzyC3xyjIJxvvn69Yf8NSIhlUd/v0/rRYRQ0a484xhDDOTVJ/hO3ytTX9Kf45vzciTKnYGMl8fHRN1IOrR7LgWowCW40chCMQPW/VqJewfNBpufsNk/g2S\u002BAywtx22XfU48GkEoKFY\u002BC1mE0HqHGYkg0Zfqwnsv\u002BIadp92DKYA==", | |
| "scriptPublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsoFJU4AReDyUnSQI9A99UjLCwkY8OH\u002B1o8cdtf2EjSb\u002BfO2qmP8MGMTAvfvgmq5d2QBJE2XHRkRO3JKcTlcc1j0WlOlU8P9W272DYCeX6oYaavpKNqGKoGEuodp9wtiyNwyH46\u002B\u002BJfpU/uIUacZbZKkHv9gIGchmNvpKYZQjFd/8pUqXGpcXZP54tGSC9PLcY\u002B5TozZThK7Oy1\u002B3YEf1bZ44UinRYYATbLk/wNuAfsupvlt6nxZOcJhABhdo9V\u002BgY0FE6Ayg5\u002B1cd1noWhnRtLF\u002BsPdEr3z8Nt15JEK5a/524t25FMhwz8yKxlGW5qW3QLJHSUgLQncL6a1zlZ1s8QIDAQAB", | |
| "packages": [ | |
| "Http" | |
| ], | |
| "packagesOptional": [ | |
| "HttpImp" | |
| ], | |
| "allowEval": false, | |
| "allowUrls": [ | |
| "everywhere" | |
| ], | |
| "constants": { | |
| "baseUrl": "https://tube.lab39.home.kg" | |
| }, | |
| "authentication": { | |
| "loginUrl": "https://tube.lab39.home.kg/login", | |
| "completionUrl": "https://tube.lab39.home.kg/api/v1/users/me?*", | |
| "headersToFind": [ | |
| "Authorization" | |
| ], | |
| "userAgent": "Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.230 Mobile Safari/537.36" | |
| }, | |
| "authenticationDesktop": { | |
| "loginUrl": "https://tube.lab39.home.kg/login", | |
| "completionUrl": "https://tube.lab39.home.kg/api/v1/users/me?*", | |
| "headersToFind": [ | |
| "Authorization" | |
| ], | |
| "userAgent": null, | |
| "useMobileEmulation": false | |
| }, | |
| "captcha": { | |
| "userAgent": "Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.200 Mobile Safari/537.36", | |
| "captchaUrl": null, | |
| "cookiesToFind": [ | |
| "cf_clearance" | |
| ] | |
| }, | |
| "captchaDesktop": { | |
| "captchaUrl": null, | |
| "cookiesToFind": [ | |
| "cf_clearance" | |
| ], | |
| "userAgent": null, | |
| "useMobileEmulation": false | |
| }, | |
| "settings": [ | |
| { | |
| "variable": "homeHeader", | |
| "name": "Home Feed", | |
| "description": "Source and sorting for the home feed", | |
| "type": "Header" | |
| }, | |
| { | |
| "variable": "homeSourceCurrentInstance", | |
| "name": "Current Instance", | |
| "description": "Include videos from your configured PeerTube instance.", | |
| "type": "Boolean", | |
| "default": "true" | |
| }, | |
| { | |
| "variable": "homeSourceSepiaSearch", | |
| "name": "Sepia Search", | |
| "description": "Include videos from all indexed PeerTube instances via sepiasearch.org.", | |
| "type": "Boolean", | |
| "default": "false" | |
| }, | |
| { | |
| "variable": "homeFeedSortIndex", | |
| "name": "Home Feed Sorting", | |
| "description": "Best, Trending, and Hot require PeerTube v3.1.0\u002B (falls back to Newest on older instances).", | |
| "type": "Dropdown", | |
| "default": "1", | |
| "options": [ | |
| "Best (Algorithm)", | |
| "Newest", | |
| "Oldest", | |
| "Most Views", | |
| "Most Likes", | |
| "Trending", | |
| "Hot" | |
| ] | |
| }, | |
| { | |
| "variable": "homeFiltersHeader", | |
| "name": "Home Filters", | |
| "description": "Filter home feed by category and language. Multiple filters combine with OR logic. Leave empty to disable.", | |
| "type": "Header" | |
| }, | |
| { | |
| "variable": "mainCategoryIndex", | |
| "name": "Home Category Filter 1", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "Music", | |
| "Films", | |
| "Vehicles", | |
| "Art", | |
| "Sports", | |
| "Travels", | |
| "Gaming", | |
| "People", | |
| "Comedy", | |
| "Entertainment", | |
| "News \u0026 Politics", | |
| "How To", | |
| "Education", | |
| "Activism", | |
| "Science \u0026 Technology", | |
| "Animals", | |
| "Kids", | |
| "Food" | |
| ] | |
| }, | |
| { | |
| "variable": "secondCategoryIndex", | |
| "name": "Home Category Filter 2", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "Music", | |
| "Films", | |
| "Vehicles", | |
| "Art", | |
| "Sports", | |
| "Travels", | |
| "Gaming", | |
| "People", | |
| "Comedy", | |
| "Entertainment", | |
| "News \u0026 Politics", | |
| "How To", | |
| "Education", | |
| "Activism", | |
| "Science \u0026 Technology", | |
| "Animals", | |
| "Kids", | |
| "Food" | |
| ] | |
| }, | |
| { | |
| "variable": "thirdCategoryIndex", | |
| "name": "Home Category Filter 3", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "Music", | |
| "Films", | |
| "Vehicles", | |
| "Art", | |
| "Sports", | |
| "Travels", | |
| "Gaming", | |
| "People", | |
| "Comedy", | |
| "Entertainment", | |
| "News \u0026 Politics", | |
| "How To", | |
| "Education", | |
| "Activism", | |
| "Science \u0026 Technology", | |
| "Animals", | |
| "Kids", | |
| "Food" | |
| ] | |
| }, | |
| { | |
| "variable": "fourthCategoryIndex", | |
| "name": "Home Category Filter 4", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "Music", | |
| "Films", | |
| "Vehicles", | |
| "Art", | |
| "Sports", | |
| "Travels", | |
| "Gaming", | |
| "People", | |
| "Comedy", | |
| "Entertainment", | |
| "News \u0026 Politics", | |
| "How To", | |
| "Education", | |
| "Activism", | |
| "Science \u0026 Technology", | |
| "Animals", | |
| "Kids", | |
| "Food" | |
| ] | |
| }, | |
| { | |
| "variable": "fifthCategoryIndex", | |
| "name": "Home Category Filter 5", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "Music", | |
| "Films", | |
| "Vehicles", | |
| "Art", | |
| "Sports", | |
| "Travels", | |
| "Gaming", | |
| "People", | |
| "Comedy", | |
| "Entertainment", | |
| "News \u0026 Politics", | |
| "How To", | |
| "Education", | |
| "Activism", | |
| "Science \u0026 Technology", | |
| "Animals", | |
| "Kids", | |
| "Food" | |
| ] | |
| }, | |
| { | |
| "variable": "firstLanguageIndex", | |
| "name": "Home Language Filter 1", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "English", | |
| "Fran\u00E7ais", | |
| "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", | |
| "Catal\u00E0", | |
| "\u010Ce\u0161tina", | |
| "Deutsch", | |
| "\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC", | |
| "Esperanto", | |
| "Espa\u00F1ol", | |
| "Euskara", | |
| "\u0641\u0627\u0631\u0633\u06CC", | |
| "Suomi", | |
| "G\u00E0idhlig", | |
| "Galego", | |
| "Hrvatski", | |
| "Magyar", | |
| "\u00CDslenska", | |
| "Italiano", | |
| "\u65E5\u672C\u8A9E", | |
| "Taqbaylit", | |
| "Nederlands", | |
| "Norsk", | |
| "Occitan", | |
| "Polski", | |
| "Portugu\u00EAs (Brasil)", | |
| "Portugu\u00EAs (Portugal)", | |
| "P\u0443\u0441\u0441\u043A\u0438\u0439", | |
| "Sloven\u010Dina", | |
| "Shqip", | |
| "Svenska", | |
| "\u0E44\u0E17\u0E22", | |
| "Toki Pona", | |
| "T\u00FCrk\u00E7e", | |
| "\u0443\u043A\u0440\u0430\u0457\u0301\u043D\u0441\u044C\u043A\u0430 \u043C\u043E\u0301\u0432\u0430", | |
| "Ti\u1EBFng Vi\u1EC7t", | |
| "\u7B80\u4F53\u4E2D\u6587\uFF08\u4E2D\u56FD\uFF09", | |
| "\u7E41\u9AD4\u4E2D\u6587\uFF08\u53F0\u7063\uFF09" | |
| ] | |
| }, | |
| { | |
| "variable": "secondLanguageIndex", | |
| "name": "Home Language Filter 2", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "English", | |
| "Fran\u00E7ais", | |
| "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", | |
| "Catal\u00E0", | |
| "\u010Ce\u0161tina", | |
| "Deutsch", | |
| "\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC", | |
| "Esperanto", | |
| "Espa\u00F1ol", | |
| "Euskara", | |
| "\u0641\u0627\u0631\u0633\u06CC", | |
| "Suomi", | |
| "G\u00E0idhlig", | |
| "Galego", | |
| "Hrvatski", | |
| "Magyar", | |
| "\u00CDslenska", | |
| "Italiano", | |
| "\u65E5\u672C\u8A9E", | |
| "Taqbaylit", | |
| "Nederlands", | |
| "Norsk", | |
| "Occitan", | |
| "Polski", | |
| "Portugu\u00EAs (Brasil)", | |
| "Portugu\u00EAs (Portugal)", | |
| "P\u0443\u0441\u0441\u043A\u0438\u0439", | |
| "Sloven\u010Dina", | |
| "Shqip", | |
| "Svenska", | |
| "\u0E44\u0E17\u0E22", | |
| "Toki Pona", | |
| "T\u00FCrk\u00E7e", | |
| "\u0443\u043A\u0440\u0430\u0457\u0301\u043D\u0441\u044C\u043A\u0430 \u043C\u043E\u0301\u0432\u0430", | |
| "Ti\u1EBFng Vi\u1EC7t", | |
| "\u7B80\u4F53\u4E2D\u6587\uFF08\u4E2D\u56FD\uFF09", | |
| "\u7E41\u9AD4\u4E2D\u6587\uFF08\u53F0\u7063\uFF09" | |
| ] | |
| }, | |
| { | |
| "variable": "thirdLanguageIndex", | |
| "name": "Home Language Filter 3", | |
| "description": "", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "", | |
| "English", | |
| "Fran\u00E7ais", | |
| "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", | |
| "Catal\u00E0", | |
| "\u010Ce\u0161tina", | |
| "Deutsch", | |
| "\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC", | |
| "Esperanto", | |
| "Espa\u00F1ol", | |
| "Euskara", | |
| "\u0641\u0627\u0631\u0633\u06CC", | |
| "Suomi", | |
| "G\u00E0idhlig", | |
| "Galego", | |
| "Hrvatski", | |
| "Magyar", | |
| "\u00CDslenska", | |
| "Italiano", | |
| "\u65E5\u672C\u8A9E", | |
| "Taqbaylit", | |
| "Nederlands", | |
| "Norsk", | |
| "Occitan", | |
| "Polski", | |
| "Portugu\u00EAs (Brasil)", | |
| "Portugu\u00EAs (Portugal)", | |
| "P\u0443\u0441\u0441\u043A\u0438\u0439", | |
| "Sloven\u010Dina", | |
| "Shqip", | |
| "Svenska", | |
| "\u0E44\u0E17\u0E22", | |
| "Toki Pona", | |
| "T\u00FCrk\u00E7e", | |
| "\u0443\u043A\u0440\u0430\u0457\u0301\u043D\u0441\u044C\u043A\u0430 \u043C\u043E\u0301\u0432\u0430", | |
| "Ti\u1EBFng Vi\u1EC7t", | |
| "\u7B80\u4F53\u4E2D\u6587\uFF08\u4E2D\u56FD\uFF09", | |
| "\u7E41\u9AD4\u4E2D\u6587\uFF08\u53F0\u7063\uFF09" | |
| ] | |
| }, | |
| { | |
| "variable": "searchHeader", | |
| "name": "Search", | |
| "description": "Search engine for finding content.", | |
| "type": "Header" | |
| }, | |
| { | |
| "variable": "searchCurrentInstance", | |
| "name": "Current Instance", | |
| "description": "Search your server and its followed instances.", | |
| "type": "Boolean", | |
| "default": "true" | |
| }, | |
| { | |
| "variable": "searchSepiaSearch", | |
| "name": "Sepia Search", | |
| "description": "Search all indexed PeerTube instances via sepiasearch.org.", | |
| "type": "Boolean", | |
| "default": "false" | |
| }, | |
| { | |
| "variable": "safetyHeader", | |
| "name": "Safety", | |
| "description": "Content safety and filtering options.", | |
| "type": "Header" | |
| }, | |
| { | |
| "variable": "nsfwPolicy", | |
| "name": "Policy for sensitive content", | |
| "description": "How to handle NSFW content across all feeds, searches, and recommendations.", | |
| "type": "Dropdown", | |
| "default": "0", | |
| "options": [ | |
| "Display all", | |
| "Hide thumbnails", | |
| "Hide all" | |
| ] | |
| }, | |
| { | |
| "variable": "allowPlayNsfwContent", | |
| "name": "Allow Playing Sensitive Content", | |
| "description": "Allow playback of sensitive content, including deep-linked videos.", | |
| "type": "Boolean", | |
| "default": "true" | |
| }, | |
| { | |
| "variable": "AnalyticsHeader", | |
| "name": "Analytics", | |
| "description": "Viewing activity reporting", | |
| "type": "Header" | |
| }, | |
| { | |
| "variable": "submitActivity", | |
| "name": "Report Views", | |
| "description": "Send watch activity to instances to count views.", | |
| "type": "Boolean", | |
| "default": "true" | |
| }, | |
| { | |
| "variable": "ExperimentalHeader", | |
| "name": "Experimental", | |
| "description": "Features that are still being tested and may not work as expected.", | |
| "type": "Header" | |
| }, | |
| { | |
| "variable": "enableBrowserImpersonation", | |
| "name": "Browser Impersonation", | |
| "description": "Impersonate a browser\u0027s TLS fingerprint to bypass bot detection (e.g. Cloudflare).", | |
| "type": "Boolean", | |
| "default": "false" | |
| }, | |
| { | |
| "variable": "enableCloudflareCaptcha", | |
| "name": "Cloudflare Captcha Support", | |
| "description": "Prompt for captcha on Cloudflare-protected instances instead of failing silently.", | |
| "type": "Boolean", | |
| "default": "false" | |
| }, | |
| { | |
| "variable": "enableSearchSuggestions", | |
| "name": "Search Suggestions", | |
| "description": "Fetch suggestions from the search API as you type. Makes extra API requests which may increase instance load.", | |
| "type": "Boolean", | |
| "default": "false" | |
| }, | |
| { | |
| "variable": "showInstanceInfo", | |
| "name": "Show Instance Information", | |
| "description": "Display PeerTube instance details (name, version, stats) in video and channel descriptions. Makes extra API requests.", | |
| "type": "Boolean", | |
| "default": "false" | |
| } | |
| ], | |
| "changelog": { | |
| "27": [ | |
| "Improvement: Support PeerTube federated video redirect to origin instance;", | |
| "Improvement: Improve error handling for content details;", | |
| "Improvement: Add opt-in setting to show instance info in channel and content descriptions;" | |
| ], | |
| "26": [ | |
| "Improvement: Sync known instances with SepiaSearch, fediverse.observer and fedidb.org;", | |
| "Improvement: Update plugin configuration authorUrl from https://futo.org to https://futo.tech;" | |
| ], | |
| "25": [ | |
| "Improvement: Add instance authentication;", | |
| "Improvement: Import user subscriptions;", | |
| "Improvement: Import user playlists;", | |
| "Improvement: Content chapters;", | |
| "Improvement: Add browser impersonation support (experimental, disabled by default in plugin setting);", | |
| "Improvement: Initial Cloudflare captcha support (experimental, disabled by default in plugin setting);", | |
| "Improvement: Add search suggestions support (experimental, disabled by default in plugin settings);", | |
| "Improvement: Add independent source toggles for home feed and search to choose between current instance, Sepia Search, or both;", | |
| "Improvement: Add home feed sorting settings to customize how videos are displayed on the home page (Best, Newest, Oldest, Most Views, Most Likes, Trending, Hot);", | |
| "Improvement: Add plugin settings to filter home feed content by multiple categories and languages;", | |
| "Improvement: Add tag search support - tag search URLs are now handled as playlists;", | |
| "Improvement: Change default home feed sorting from Best to Newest for better compatibility with all PeerTube instances;", | |
| "Improvement: Add NSFW content filter setting to hide NSFW content from home feed (enabled by default, applies to both content sources);", | |
| "Improvement: Add support for live chat window on live videos;", | |
| "Improvement: Add search filters for videos (Category, Language, License, Duration, NSFW, Features, Search Scope);", | |
| "Improvement: Add search for contents within a channel;", | |
| "Improvement: Add channel banner image support for channels on PeerTube v6.0.0\u002B instances;", | |
| "Improvement: Update known instances from https://instances.joinpeertube.org, https://api.fediverse.observer/, and https://api.fedidb.org/;", | |
| "Fix: Handle older instances that truncate video descriptions at 250 characters and need an additional request;", | |
| "Fix: Viewer count for livestreams;" | |
| ], | |
| "24": [ | |
| "Fix existing subscription not being recognized as subscribed in video details;", | |
| "Sync known instances with https://instances.joinpeertube.org;" | |
| ], | |
| "23": [ | |
| "Fix commenter avatar in federated videos;", | |
| "Fix comment replies not showing up;", | |
| "Fix channel subscription not being recognized as subscribed;" | |
| ], | |
| "22": [ | |
| "Add support for channel playlists;", | |
| "Search online playlists on the playlist tab using current instance or Sepia Search;", | |
| "Add subtitles support (when available);", | |
| "Improve handling media sources with audio only, and videos with split audio and video;", | |
| "Improved URL recognition with hints for all content types;", | |
| "Map likes and dislikes display for videos;", | |
| "Sync known instances with https://instances.joinpeertube.org;" | |
| ], | |
| "21": [ | |
| "Fix resolving instances with ports;", | |
| "Sync known instances with https://instances.joinpeertube.org" | |
| ], | |
| "20": [ | |
| "Add view reporting to PeerTube instances with a plugin setting to disable it.", | |
| "Sync known instances with https://instances.joinpeertube.org" | |
| ], | |
| "19": [ | |
| "Sync known instances with https://instances.joinpeertube.org" | |
| ], | |
| "18": [ | |
| "Fix plugin repositoryUrl and add platformUrl configurations;", | |
| "Sync known instances from https://instances.joinpeertube.org and user requests;", | |
| "Fix playback issues for some videos;", | |
| "Add recommendations support;" | |
| ], | |
| "17": [ | |
| "Fixed issue when opening federated content or a channel without opening the Home tab first;", | |
| "Fixed issue with deep-linking from an indexed instance while the app is closed;" | |
| ], | |
| "16": [ | |
| "Use host instances from https://instances.joinpeertube.org/instances to support channels and videos from other peertube instances;", | |
| "Add a setting to switch the content and channels search from an instance to sepiasearch.org;", | |
| "Improve support for older peertube server versions;", | |
| "Fix bugs with channel avatars and video thumbnails in some peertube server versions;" | |
| ] | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment