added files via upload
BIN
Extensions/OpenYoutubeSafariExtension.appex/Info.plist
Normal file
BIN
Extensions/OpenYoutubeSafariExtension.appex/OpenYoutube
Executable file
@@ -0,0 +1,333 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Info.plist</key>
|
||||
<data>
|
||||
5KaPBsMVTGZfcc05Od8nGW6/EyQ=
|
||||
</data>
|
||||
<key>_locales/en/messages.json</key>
|
||||
<data>
|
||||
8cPkszxzYFSjhRWsf34A0AiHaPM=
|
||||
</data>
|
||||
<key>background.js</key>
|
||||
<data>
|
||||
tClFxbnUm0L65Qj+Qu8Fk9asL2o=
|
||||
</data>
|
||||
<key>content.js</key>
|
||||
<data>
|
||||
a6o4B4PMlrIOBXlniU2NS4D9SJE=
|
||||
</data>
|
||||
<key>embedded.mobileprovision</key>
|
||||
<data>
|
||||
dVGLS8Qpu/eCI1J5VCu9IfYq3Z4=
|
||||
</data>
|
||||
<key>images/cat_1.0.gif</key>
|
||||
<data>
|
||||
DtSTnvB7wRt647kM1b38KLfDfXA=
|
||||
</data>
|
||||
<key>images/icon-128.png</key>
|
||||
<data>
|
||||
rYa1lv1LgkO3fkP9h6gRSjlQgqk=
|
||||
</data>
|
||||
<key>images/icon-256.png</key>
|
||||
<data>
|
||||
05xbekvTg28KsH9RRIKQRL8tqQs=
|
||||
</data>
|
||||
<key>images/icon-48.png</key>
|
||||
<data>
|
||||
BWUZe8raKzOzA2cDWIYFoBPxxw8=
|
||||
</data>
|
||||
<key>images/icon-512.png</key>
|
||||
<data>
|
||||
shzpVHJMsAu4q820Fb+YzByiFhc=
|
||||
</data>
|
||||
<key>images/icon-64.png</key>
|
||||
<data>
|
||||
HZC4YIb4ZLg4lpjNAKFqSaka6r0=
|
||||
</data>
|
||||
<key>images/icon-96.png</key>
|
||||
<data>
|
||||
IPAOd1HfCtCI7ybhVhwA5TU/BZ8=
|
||||
</data>
|
||||
<key>images/toolbar-icon-16.png</key>
|
||||
<data>
|
||||
Bkb2Cy8VYIcWl7wFZ2HcWZcCoyA=
|
||||
</data>
|
||||
<key>images/toolbar-icon-19.png</key>
|
||||
<data>
|
||||
XLkdODJ73CVbwn/1LCAsfB6scPg=
|
||||
</data>
|
||||
<key>images/toolbar-icon-32.png</key>
|
||||
<data>
|
||||
0cQgf/z3urGdzsmtmc2Wnim1+lg=
|
||||
</data>
|
||||
<key>images/toolbar-icon-38.png</key>
|
||||
<data>
|
||||
eas7Tl3/r2JMZf6nK84ZjoBJrZo=
|
||||
</data>
|
||||
<key>images/toolbar-icon-48.png</key>
|
||||
<data>
|
||||
fxyz1xgkIR877Cf/7uYNUqXrxoM=
|
||||
</data>
|
||||
<key>images/toolbar-icon-72.png</key>
|
||||
<data>
|
||||
pHL3CJwjPY30T9sFvvcA2qlraBw=
|
||||
</data>
|
||||
<key>manifest.json</key>
|
||||
<data>
|
||||
b37QyqMYHlvlfOjbvJLOKeAM5Y4=
|
||||
</data>
|
||||
<key>popup.css</key>
|
||||
<data>
|
||||
mXR2qQxu+ceMOItNpc4aImux5wY=
|
||||
</data>
|
||||
<key>popup.html</key>
|
||||
<data>
|
||||
zTk6QImmvcZjMYLQY8ek+cqSEWg=
|
||||
</data>
|
||||
<key>popup.js</key>
|
||||
<data>
|
||||
grmSQBg1aRbGzHHjd3TWHS/HbOY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>_locales/en/messages.json</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
4pOaVgBrOGGIoI81XdEOZidIyW9peYtz85HIYX7d1QE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>background.js</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
2S7ONYvdkGsryEavyrR7nMCTwsjNGqMV2BSWIxWLSYg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>content.js</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
9CYz6yZ8bRI2JRzRwnn4DOGuPuy2GSsOudXSZU6s1po=
|
||||
</data>
|
||||
</dict>
|
||||
<key>embedded.mobileprovision</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
4TQyzTTz0VYUTM0IXf2PMSufVEkzd4WlPWbwKMyfKfQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/cat_1.0.gif</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
65Ql3FhfivRMoMifbuY5KK8I/1rZx/Zmmwsx1La4OyI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/icon-128.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TV8I8bcVP9rAnVA4AJRAWtkJveIenMpYsd/7+rsMLzo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/icon-256.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
kksdsW0Y1svz0bT0i3UzQGBmBDxJGr2eTCZmaqTS+XM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/icon-48.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
mBNPpZ78p0eH4WsNdF/EXw/sFHq5f8PqERARlLulYbY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/icon-512.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
waQn18oFc3GbhXXm2HEn6xFQk3HKehp9crGljWAMsGQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/icon-64.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
CJwxajQk49Cd0RfR22yEPO6pjDbg+Aa4Ocxi+812CiM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/icon-96.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
zuzRjCepizxOWXh9ftCPth38GUxy1Ea/4zS3dw19OXo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/toolbar-icon-16.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
xmXH4YHb+Pq/YuC1e8JLIun93LuM3+/8MvB3r8oTKls=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/toolbar-icon-19.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
qSX/1Ux4BOUIhixJK5NkvyTomLwp0yISfsQ97uF8/5g=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/toolbar-icon-32.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
pGDg4NcSdD5EQaZgaiwxNosbSEXmZnpRc79RfitKc1c=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/toolbar-icon-38.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
BUU3dwrCSvNOiFkBQWdPkrwASjUvxSxbizW+Izt3LBA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/toolbar-icon-48.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JLZV5da+fZkfw0m2KfMqHSixWBCJvZoUNlt3la7gm54=
|
||||
</data>
|
||||
</dict>
|
||||
<key>images/toolbar-icon-72.png</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TwM7A1Bkuv4C3SWorFNwG+w38mWo3TaMtglLdDXxcFw=
|
||||
</data>
|
||||
</dict>
|
||||
<key>manifest.json</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
+nWdvS9ap7YzpjqKSWsGUHP5K2irkTGozQX/tI4WrYc=
|
||||
</data>
|
||||
</dict>
|
||||
<key>popup.css</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
LIfF3an8mzKIMD8PDhKILnrZBhxxSTzoZQKyRiyWuB0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>popup.html</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
9Ro1fCC5Meq0eSNrYab7V3uc4tNvmwRqMsCb1757M6Q=
|
||||
</data>
|
||||
</dict>
|
||||
<key>popup.js</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ruLXAORE+vDoLKPGBSkl7hnXv8V+ZexCoX3KvJyHxBk=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"extension_name": {
|
||||
"message": "OpenYoutube",
|
||||
"description": "The display name for the extension."
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Displays an Open in Youtube alert for sideloaded YT",
|
||||
"description": "Description of what the extension does."
|
||||
}
|
||||
}
|
@@ -0,0 +1,6 @@
|
||||
browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||
console.log("Received request: ", request);
|
||||
|
||||
if (request.greeting === "hello")
|
||||
sendResponse({ farewell: "goodbye" });
|
||||
});
|
25
Extensions/OpenYoutubeSafariExtension.appex/content.js
Normal file
@@ -0,0 +1,25 @@
|
||||
browser.runtime.sendMessage({ greeting: "hello" }).then((response) => {
|
||||
console.log("Received response: ", response);
|
||||
});
|
||||
|
||||
browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||
console.log("Received request: ", request);
|
||||
});
|
||||
|
||||
function afterNavigate() {
|
||||
if ('/watch' === location.pathname) {
|
||||
window.location.href = `youtube://${window.location.pathname.slice(1)}${
|
||||
window.location.search
|
||||
}${window.location.hash}`;
|
||||
}
|
||||
}
|
||||
(document.body || document.documentElement).addEventListener('transitionend',
|
||||
function(/*TransitionEvent*/ event) {
|
||||
if (event.propertyName === 'width' && event.target.id === 'progress') {
|
||||
afterNavigate();
|
||||
}
|
||||
}, true);
|
||||
// After page load
|
||||
afterNavigate();
|
||||
|
||||
|
BIN
Extensions/OpenYoutubeSafariExtension.appex/images/cat_1.0.gif
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
Extensions/OpenYoutubeSafariExtension.appex/images/icon-128.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
Extensions/OpenYoutubeSafariExtension.appex/images/icon-256.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
Extensions/OpenYoutubeSafariExtension.appex/images/icon-48.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
Extensions/OpenYoutubeSafariExtension.appex/images/icon-512.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
Extensions/OpenYoutubeSafariExtension.appex/images/icon-64.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
Extensions/OpenYoutubeSafariExtension.appex/images/icon-96.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 454 B |
After Width: | Height: | Size: 569 B |
After Width: | Height: | Size: 919 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.1 KiB |
40
Extensions/OpenYoutubeSafariExtension.appex/manifest.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"default_locale": "en",
|
||||
|
||||
"name": "__MSG_extension_name__",
|
||||
"description": "__MSG_extension_description__",
|
||||
"version": "1.0",
|
||||
|
||||
"icons": {
|
||||
"48": "images/icon-48.png",
|
||||
"96": "images/icon-96.png",
|
||||
"128": "images/icon-128.png",
|
||||
"256": "images/icon-256.png",
|
||||
"512": "images/icon-512.png"
|
||||
},
|
||||
|
||||
"background": {
|
||||
"scripts": [ "background.js" ],
|
||||
"persistent": false
|
||||
},
|
||||
|
||||
"content_scripts": [{
|
||||
"js": [ "content.js" ],
|
||||
"matches": [ "*://*.youtube.com/*" ]
|
||||
}],
|
||||
|
||||
"browser_action": {
|
||||
"default_popup": "popup.html",
|
||||
"default_icon": {
|
||||
"16": "images/toolbar-icon-16.png",
|
||||
"19": "images/toolbar-icon-19.png",
|
||||
"32": "images/toolbar-icon-32.png",
|
||||
"38": "images/toolbar-icon-38.png",
|
||||
"48": "images/toolbar-icon-48.png",
|
||||
"72": "images/toolbar-icon-72.png"
|
||||
}
|
||||
},
|
||||
|
||||
"permissions": [ ]
|
||||
}
|
15
Extensions/OpenYoutubeSafariExtension.appex/popup.css
Normal file
@@ -0,0 +1,15 @@
|
||||
:root {
|
||||
color-scheme: light dark;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 100px;
|
||||
padding: 10px;
|
||||
|
||||
font-family: system-ui;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
/* Dark Mode styles go here. */
|
||||
}
|
21
Extensions/OpenYoutubeSafariExtension.appex/popup.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="popup.css">
|
||||
<script type="module" src="popup.js"></script>
|
||||
</head>
|
||||
<style>
|
||||
body {
|
||||
background-image:url('images/cat_1.0.gif');
|
||||
background-size:100%;
|
||||
background-repeat: repeat-y;
|
||||
background-attachment: fixed;
|
||||
height:100%;
|
||||
width:100%;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<strong>Extension made by @CokePokes</strong>
|
||||
</body>
|
||||
</html>
|
1
Extensions/OpenYoutubeSafariExtension.appex/popup.js
Normal file
@@ -0,0 +1 @@
|
||||
console.log("Hello World!", browser);
|