ss
This commit is contained in:
1
d2ypp2/services/neko/browser-launch.sh
Normal file → Executable file
1
d2ypp2/services/neko/browser-launch.sh
Normal file → Executable file
@@ -128,7 +128,6 @@ launch_browser() {
|
||||
--force-dark-mode \
|
||||
--disable-background-mode \
|
||||
--disable-dev-shm-usage \
|
||||
--disable-background-networking \
|
||||
--disable-breakpad \
|
||||
--disable-default-apps \
|
||||
--disable-sync \
|
||||
|
||||
@@ -10,6 +10,16 @@ stdout_logfile_maxbytes=100MB
|
||||
stdout_logfile_backups=10
|
||||
redirect_stderr=true
|
||||
|
||||
[program:tampermonkey-provisioning]
|
||||
command=/bin/sh -c 'cd /var/www/provisioning && if command -v python3 >/dev/null 2>&1; then exec python3 -m http.server 18080 --bind 127.0.0.1; fi; if command -v busybox >/dev/null 2>&1; then exec busybox httpd -f -p 127.0.0.1:18080 -h /var/www/provisioning; fi; echo "no static file server for Tampermonkey provisioning"; sleep 3600'
|
||||
autorestart=true
|
||||
priority=250
|
||||
user=%(ENV_USER)s
|
||||
stdout_logfile=/var/log/neko/tampermonkey-provisioning.log
|
||||
stdout_logfile_maxbytes=10MB
|
||||
stdout_logfile_backups=3
|
||||
redirect_stderr=true
|
||||
|
||||
[program:openbox]
|
||||
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
|
||||
command=/usr/bin/openbox --config-file /etc/neko/openbox.xml
|
||||
|
||||
@@ -10,6 +10,16 @@ stdout_logfile_maxbytes=100MB
|
||||
stdout_logfile_backups=10
|
||||
redirect_stderr=true
|
||||
|
||||
[program:tampermonkey-provisioning]
|
||||
command=/bin/sh -c 'cd /var/www/provisioning && if command -v python3 >/dev/null 2>&1; then exec python3 -m http.server 18080 --bind 127.0.0.1; fi; if command -v busybox >/dev/null 2>&1; then exec busybox httpd -f -p 127.0.0.1:18080 -h /var/www/provisioning; fi; echo "no static file server for Tampermonkey provisioning"; sleep 3600'
|
||||
autorestart=true
|
||||
priority=250
|
||||
user=%(ENV_USER)s
|
||||
stdout_logfile=/var/log/neko/tampermonkey-provisioning.log
|
||||
stdout_logfile_maxbytes=10MB
|
||||
stdout_logfile_backups=3
|
||||
redirect_stderr=true
|
||||
|
||||
[program:openbox]
|
||||
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
|
||||
command=/usr/bin/openbox --config-file /etc/neko/openbox.xml
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
"ExtensionInstallForcelist": [
|
||||
"dhdgffkkebhmkfjojejmpbldmpobfkfo;https://clients2.google.com/service/update2/crx"
|
||||
],
|
||||
"ExtensionInstallAllowlist": ["*"],
|
||||
"ExtensionInstallBlocklist": [],
|
||||
"DownloadRestrictions": 0,
|
||||
"AllowFileSelectionDialogs": true,
|
||||
@@ -23,10 +22,10 @@
|
||||
"dhdgffkkebhmkfjojejmpbldmpobfkfo": {
|
||||
"jsonImport": [
|
||||
{
|
||||
"hash": "1:1b41fa75bfe51a730bb246022f619811bc508da3176463c86009fe5a0a9f16b5",
|
||||
"url": "http://127.0.0.1:8080/provisioning/tampermonkey-provisioning.json",
|
||||
"hash": "1:443afb465db99aef4199c33991f1350364441e496c8a27f10a82a299db87bb02",
|
||||
"url": "http://127.0.0.1:18080/tampermonkey-provisioning.json",
|
||||
"haltOnError": false,
|
||||
"installAsSystemScripts": true
|
||||
"installAsSystemScripts": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
{
|
||||
"name": "YouTube Studio Auto Dismiss",
|
||||
"file_url": "https://greasyfork.org/scripts/557378-youtube-studio-auto-dismiss/code/YouTube%20Studio%20Auto%20Dismiss.user.js",
|
||||
"source": "// ==UserScript==\n// @name YouTube Studio Auto Dismiss\n// @namespace http://tampermonkey.net/\n// @version 1.1\n// @description 每5秒自动检测并点击 YouTube Studio 直播页面的 Dismiss 按钮,支持延迟加载\n// @author You\n// @match https://studio.youtube.com/channel/*/livestreaming\n// @match https://studio.youtube.com/video/*/livestreaming\n// @match https://studio.youtube.com/*/livestreaming\n// @license MIT\n// @grant none\n// @downloadURL https://update.greasyfork.org/scripts/557378/YouTube%20Studio%20Auto%20Dismiss.user.js\n// @updateURL https://update.greasyfork.org/scripts/557378/YouTube%20Studio%20Auto%20Dismiss.meta.js\n// ==/UserScript==\n\n(function () {\n \"use strict\";\n\n function triggerClick(el) {\n if (!el) return;\n const evt = new MouseEvent(\"click\", {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n el.dispatchEvent(evt);\n console.log(\"Dismiss 按钮已点击:\", el, \"父元素:\", el.parentElement);\n }\n\n function findDismiss(root = document) {\n const allElements = root.querySelectorAll(\"button\");\n for (const el of allElements) {\n try {\n const text = el.innerText ? el.innerText.trim() : \"\";\n if (text === \"Dismiss\" && isElementVisible(el)) {\n console.log(\"找到 Dismiss 按钮:\", el);\n return el;\n }\n\n if (el.shadowRoot) {\n const shadowBtn = findDismiss(el.shadowRoot);\n if (shadowBtn) return shadowBtn;\n }\n } catch (error) {\n console.log(\"检查元素时出错:\", error);\n }\n }\n return null;\n }\n\n function isElementVisible(el) {\n const style = window.getComputedStyle(el);\n return style.display !== \"none\" && style.visibility !== \"hidden\" && el.offsetParent !== null;\n }\n\n function checkAndClick() {\n const btn = findDismiss();\n if (btn) {\n triggerClick(btn);\n } else {\n console.log(\"未找到 Dismiss 按钮或按钮不可见\");\n }\n }\n\n if (document.readyState === \"complete\") {\n checkAndClick();\n } else {\n window.addEventListener(\"load\", checkAndClick, { once: true });\n }\n\n setInterval(checkAndClick, 5000);\n})();\n",
|
||||
"source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBZb3VUdWJlIFN0dWRpbyBBdXRvIERpc21pc3MKLy8gQG5hbWVzcGFjZSAgICBodHRwOi8vdGFtcGVybW9ua2V5Lm5ldC8KLy8gQHZlcnNpb24gICAgICAxLjEKLy8gQGRlc2NyaXB0aW9uICDmr48156eS6Ieq5Yqo5qOA5rWL5bm254K55Ye7IFlvdVR1YmUgU3R1ZGlvIOebtOaSremhtemdoueahCBEaXNtaXNzIOaMiemSru+8jOaUr+aMgeW7tui/n+WKoOi9vQovLyBAYXV0aG9yICAgICAgIFlvdQovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vc3R1ZGlvLnlvdXR1YmUuY29tL2NoYW5uZWwvKi9saXZlc3RyZWFtaW5nCi8vIEBtYXRjaCAgICAgICAgaHR0cHM6Ly9zdHVkaW8ueW91dHViZS5jb20vdmlkZW8vKi9saXZlc3RyZWFtaW5nCi8vIEBtYXRjaCAgICAgICAgaHR0cHM6Ly9zdHVkaW8ueW91dHViZS5jb20vKi9saXZlc3RyZWFtaW5nCi8vIEBsaWNlbnNlIE1JVAovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gQGRvd25sb2FkVVJMICBodHRwczovL3VwZGF0ZS5ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzU1NzM3OC9Zb3VUdWJlJTIwU3R1ZGlvJTIwQXV0byUyMERpc21pc3MudXNlci5qcwovLyBAdXBkYXRlVVJMICAgIGh0dHBzOi8vdXBkYXRlLmdyZWFzeWZvcmsub3JnL3NjcmlwdHMvNTU3Mzc4L1lvdVR1YmUlMjBTdHVkaW8lMjBBdXRvJTIwRGlzbWlzcy5tZXRhLmpzCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uICgpIHsKICAidXNlIHN0cmljdCI7CgogIGZ1bmN0aW9uIHRyaWdnZXJDbGljayhlbCkgewogICAgaWYgKCFlbCkgcmV0dXJuOwogICAgY29uc3QgZXZ0ID0gbmV3IE1vdXNlRXZlbnQoImNsaWNrIiwgewogICAgICB2aWV3OiB3aW5kb3csCiAgICAgIGJ1YmJsZXM6IHRydWUsCiAgICAgIGNhbmNlbGFibGU6IHRydWUsCiAgICB9KTsKICAgIGVsLmRpc3BhdGNoRXZlbnQoZXZ0KTsKICAgIGNvbnNvbGUubG9nKCJEaXNtaXNzIOaMiemSruW3sueCueWHuzoiLCBlbCwgIueItuWFg+e0oDoiLCBlbC5wYXJlbnRFbGVtZW50KTsKICB9CgogIGZ1bmN0aW9uIGZpbmREaXNtaXNzKHJvb3QgPSBkb2N1bWVudCkgewogICAgY29uc3QgYWxsRWxlbWVudHMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoImJ1dHRvbiIpOwogICAgZm9yIChjb25zdCBlbCBvZiBhbGxFbGVtZW50cykgewogICAgICB0cnkgewogICAgICAgIGNvbnN0IHRleHQgPSBlbC5pbm5lclRleHQgPyBlbC5pbm5lclRleHQudHJpbSgpIDogIiI7CiAgICAgICAgaWYgKHRleHQgPT09ICJEaXNtaXNzIiAmJiBpc0VsZW1lbnRWaXNpYmxlKGVsKSkgewogICAgICAgICAgY29uc29sZS5sb2coIuaJvuWIsCBEaXNtaXNzIOaMiemSrjoiLCBlbCk7CiAgICAgICAgICByZXR1cm4gZWw7CiAgICAgICAgfQoKICAgICAgICBpZiAoZWwuc2hhZG93Um9vdCkgewogICAgICAgICAgY29uc3Qgc2hhZG93QnRuID0gZmluZERpc21pc3MoZWwuc2hhZG93Um9vdCk7CiAgICAgICAgICBpZiAoc2hhZG93QnRuKSByZXR1cm4gc2hhZG93QnRuOwogICAgICAgIH0KICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgICBjb25zb2xlLmxvZygi5qOA5p+l5YWD57Sg5pe25Ye66ZSZOiIsIGVycm9yKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfQoKICBmdW5jdGlvbiBpc0VsZW1lbnRWaXNpYmxlKGVsKSB7CiAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKTsKICAgIHJldHVybiBzdHlsZS5kaXNwbGF5ICE9PSAibm9uZSIgJiYgc3R5bGUudmlzaWJpbGl0eSAhPT0gImhpZGRlbiIgJiYgZWwub2Zmc2V0UGFyZW50ICE9PSBudWxsOwogIH0KCiAgZnVuY3Rpb24gY2hlY2tBbmRDbGljaygpIHsKICAgIGNvbnN0IGJ0biA9IGZpbmREaXNtaXNzKCk7CiAgICBpZiAoYnRuKSB7CiAgICAgIHRyaWdnZXJDbGljayhidG4pOwogICAgfSBlbHNlIHsKICAgICAgY29uc29sZS5sb2coIuacquaJvuWIsCBEaXNtaXNzIOaMiemSruaIluaMiemSruS4jeWPr+ingSIpOwogICAgfQogIH0KCiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICJjb21wbGV0ZSIpIHsKICAgIGNoZWNrQW5kQ2xpY2soKTsKICB9IGVsc2UgewogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBjaGVja0FuZENsaWNrLCB7IG9uY2U6IHRydWUgfSk7CiAgfQoKICBzZXRJbnRlcnZhbChjaGVja0FuZENsaWNrLCA1MDAwKTsKfSkoKTsK",
|
||||
"enabled": true,
|
||||
"position": 1
|
||||
"position": 1,
|
||||
"options": {}
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
|
||||
Reference in New Issue
Block a user