mirror of
https://github.com/easychen/checkchan-dist.git
synced 2026-08-28 17:45:05 +08:00
Cookie同步支持范围指定
This commit is contained in:
@@ -12,9 +12,9 @@
|
||||
|
||||
## 最新版本
|
||||
|
||||
- 插件·Chrome/Edge:2022.08.17.22.37 [下载](ckc.zip) ([Github下载地址,无需注册](https://github.com/easychen/checkchan-dist/raw/master/ckc.zip))
|
||||
- Docker镜像(云端+远程桌面二合一):2022.08.17.21.38 [Docker Hub](https://hub.docker.com/repository/docker/easychen/checkchan)
|
||||
- 文档:2022.08.17.22.37
|
||||
- 插件·Chrome/Edge:2022.08.18.13.42 [下载](ckc.zip) ([Github下载地址,无需注册](https://github.com/easychen/checkchan-dist/raw/master/ckc.zip))
|
||||
- Docker镜像(云端+远程桌面二合一):2022.08.18.13.32 [Docker Hub](https://hub.docker.com/repository/docker/easychen/checkchan)
|
||||
- 文档:2022.08.18.13.42
|
||||
- 更新日志:[GitHub](https://github.com/easychen/checkchan-dist/commits/main)
|
||||
- 生态:RSSHub浏览器插件整合版([源码](https://github.com/easychen/RSSHub-Radar-with-checkchan) | [下载](https://github.com/easychen/RSSHub-Radar-with-checkchan/releases/download/main/1.7.0.with-checkchan.zip))
|
||||
|
||||
@@ -168,6 +168,12 @@ checkchan://title=Server%E9%85%B1%E5%AE%98%E6%96%B9%E7%BD%91%E7%AB%99%E7%8A%B6%E
|
||||
|
||||
同时,因为执行监测任务本身也耗费时间,所以「监控间隔时间」为1分钟时,往往每隔一分钟(即每两分钟)才会运行一次任务。
|
||||
|
||||
### Selector 扩展语法
|
||||
|
||||
最新的版本支持了一个Selector扩展语法:由于底层通过 `document.querySelectorAll` 实现,因此会返回匹配的全部元素于一个数组。当这些元素属于同一个父节点我们可以用 `:nth-of-type(1)` 或者 `:nth-child(1)`来指定数组中的某一项。
|
||||
|
||||
但如果这些元素不属于同一个父节点,那么以上方法会失效。这里添加了一个 selector@n 的语法,让我们可以从 Selector 返回的数组中指定某一个元素。如 `.booklist .item@0` 将返回 `document.querySelectorAll(.booklist .item)[0]` 。
|
||||
|
||||
### 日志查看和错误定位
|
||||
|
||||
为了更清楚的了解定时任务的执行情况,你可以打开「开发者工具」(F12)在 `Console` 标签页中可以看到任务产生的日志。
|
||||
@@ -341,6 +347,17 @@ Check酱自架云端内置了动态页面RSS上行用的接口:
|
||||
- RSS上行地址为: `http://$ip:$port/rss/upload?key=$api_key`
|
||||
- RSS Feed地址为:`http://$ip:$port/image/rss.xml?key=$api_key`
|
||||
|
||||
### 多浏览器Cookie同步接口
|
||||
|
||||
Check酱自架云端内置了Cookie同步用的接口:
|
||||
|
||||

|
||||
|
||||
- Cookie同步URL为: `http://$ip:$port/cookie/sync?key=$api_key`
|
||||
- 配对密码: 自行设定,同步Cookie的两个浏览器中必须一致
|
||||
- 同步方向: 一个发送一个接收,一般电脑上的发送、服务器上远程桌面里的接收
|
||||
- 同步频率:发送或者接收间隔时间
|
||||
|
||||
### 云端任务的安全性
|
||||
|
||||
Check酱云端任务的原理是将cookie同步到云端,然后用浏览器查看,本质和用户操作一样。但因为出口IP可能是机房和数据中心,频次太高也有被风控的可能。如果将云端部署在家里,则和在家用电脑访问效果一样。
|
||||
|
||||
@@ -168,6 +168,12 @@ checkchan://title=Server%E9%85%B1%E5%AE%98%E6%96%B9%E7%BD%91%E7%AB%99%E7%8A%B6%E
|
||||
|
||||
同时,因为执行监测任务本身也耗费时间,所以「监控间隔时间」为1分钟时,往往每隔一分钟(即每两分钟)才会运行一次任务。
|
||||
|
||||
### Selector 扩展语法
|
||||
|
||||
最新的版本支持了一个Selector扩展语法:由于底层通过 `document.querySelectorAll` 实现,因此会返回匹配的全部元素于一个数组。当这些元素属于同一个父节点我们可以用 `:nth-of-type(1)` 或者 `:nth-child(1)`来指定数组中的某一项。
|
||||
|
||||
但如果这些元素不属于同一个父节点,那么以上方法会失效。这里添加了一个 selector@n 的语法,让我们可以从 Selector 返回的数组中指定某一个元素。如 `.booklist .item@0` 将返回 `document.querySelectorAll(.booklist .item)[0]` 。
|
||||
|
||||
### 日志查看和错误定位
|
||||
|
||||
为了更清楚的了解定时任务的执行情况,你可以打开「开发者工具」(F12)在 `Console` 标签页中可以看到任务产生的日志。
|
||||
@@ -341,6 +347,17 @@ Check酱自架云端内置了动态页面RSS上行用的接口:
|
||||
- RSS上行地址为: `http://$ip:$port/rss/upload?key=$api_key`
|
||||
- RSS Feed地址为:`http://$ip:$port/image/rss.xml?key=$api_key`
|
||||
|
||||
### 多浏览器Cookie同步接口
|
||||
|
||||
Check酱自架云端内置了Cookie同步用的接口:
|
||||
|
||||

|
||||
|
||||
- Cookie同步URL为: `http://$ip:$port/cookie/sync?key=$api_key`
|
||||
- 配对密码: 自行设定,同步Cookie的两个浏览器中必须一致
|
||||
- 同步方向: 一个发送一个接收,一般电脑上的发送、服务器上远程桌面里的接收
|
||||
- 同步频率:发送或者接收间隔时间
|
||||
|
||||
### 云端任务的安全性
|
||||
|
||||
Check酱云端任务的原理是将cookie同步到云端,然后用浏览器查看,本质和用户操作一样。但因为出口IP可能是机房和数据中心,频次太高也有被风控的可能。如果将云端部署在家里,则和在家用电脑访问效果一样。
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
"2022.08.17.21.38"
|
||||
"2022.08.18.13.32"
|
||||
+1
-1
@@ -9,7 +9,7 @@ const cors = require('cors');
|
||||
app.use(cors());
|
||||
|
||||
var multer = require('multer');
|
||||
var forms = multer();
|
||||
var forms = multer({limits: { fieldSize: 100 * 1024 * 1024 }});
|
||||
const bodyParser = require('body-parser')
|
||||
app.use(bodyParser.json());
|
||||
app.use(forms.array());
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
environment:
|
||||
- "CKC_PASSWD=123"
|
||||
- "VDEBUG=OFF"
|
||||
- "VNC=ON"
|
||||
- "VNC=OFF"
|
||||
#- "WIN_WIDTH=414"
|
||||
#- "WIN_HEIGHT=896"
|
||||
#- "XVFB_WHD=500x896x16"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"message": "Check酱"
|
||||
},
|
||||
"appDesc": {
|
||||
"message": "监控页面变动,并发送异动到微信。 Build.2022.08.17.22.37",
|
||||
"message": "监控页面变动,并发送异动到微信。 Build.2022.08.18.13.42",
|
||||
"description":"亦支持http status、json和rss监测。配合自架云端,关电脑后也能运行。"
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"files": {
|
||||
"main.css": "/static/css/main.f2766b2a.chunk.css",
|
||||
"main.js": "/static/js/main.e0ceed25.chunk.js",
|
||||
"main.js": "/static/js/main.d1ba4413.chunk.js",
|
||||
"runtime-main.js": "/static/js/runtime-main.17191aad.js",
|
||||
"static/css/2.65280f5c.chunk.css": "/static/css/2.65280f5c.chunk.css",
|
||||
"static/js/2.fb5c1c43.chunk.js": "/static/js/2.fb5c1c43.chunk.js",
|
||||
"static/js/2.ad3d44e1.chunk.js": "/static/js/2.ad3d44e1.chunk.js",
|
||||
"index.html": "/index.html",
|
||||
"precache-manifest.d081260a9ad335232527f33321ad446e.js": "/precache-manifest.d081260a9ad335232527f33321ad446e.js",
|
||||
"precache-manifest.789e37a8d3df45a85781a28819605bcd.js": "/precache-manifest.789e37a8d3df45a85781a28819605bcd.js",
|
||||
"service-worker.js": "/service-worker.js",
|
||||
"static/media/index.scss": "/static/media/icons-20.cef8cdbb.woff"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/js/runtime-main.17191aad.js",
|
||||
"static/css/2.65280f5c.chunk.css",
|
||||
"static/js/2.fb5c1c43.chunk.js",
|
||||
"static/js/2.ad3d44e1.chunk.js",
|
||||
"static/css/main.f2766b2a.chunk.css",
|
||||
"static/js/main.e0ceed25.chunk.js"
|
||||
"static/js/main.d1ba4413.chunk.js"
|
||||
]
|
||||
}
|
||||
@@ -427,7 +427,7 @@ chrome.alarms.onAlarm.addListener( async a =>
|
||||
{
|
||||
// 获得cookie
|
||||
const checks = await load_data('checks');
|
||||
const cookies = await get_cookie_by_checks( checks ) || [];
|
||||
const cookies = (settings._settings_cookie_sync_range == 'all'? await get_all_cookie_indexed_by_domain() : await get_cookie_by_checks( checks )) || [];
|
||||
|
||||
// 引入base64 和 aes 库
|
||||
let cookie_string = Base64.encode(JSON.stringify(cookies));
|
||||
@@ -481,7 +481,9 @@ chrome.alarms.onAlarm.addListener( async a =>
|
||||
} );
|
||||
newcookie.url = buildUrl(cookie.secure, cookie.domain, cookie.path);
|
||||
// console.log(newcookie);
|
||||
chrome.cookies.set(newcookie, (e)=>{console.log(e)});
|
||||
chrome.cookies.set(newcookie, (e)=>{
|
||||
// console.log(e)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -565,6 +567,19 @@ async function kv_load( key = 'settings' )
|
||||
return opt;
|
||||
}
|
||||
|
||||
async function get_all_cookie_indexed_by_domain()
|
||||
{
|
||||
let cookies = {};
|
||||
const all_cookies = await chrome.cookies.getAll({});
|
||||
for( const cookie of all_cookies )
|
||||
{
|
||||
if( !cookies[cookie.domain] )
|
||||
cookies[cookie.domain] = [];
|
||||
cookies[cookie.domain].push(cookie);
|
||||
}
|
||||
return cookies;
|
||||
}
|
||||
|
||||
async function get_cookie_by_checks( checks )
|
||||
{
|
||||
let ret_cookies = {};
|
||||
@@ -573,6 +588,8 @@ async function get_cookie_by_checks( checks )
|
||||
{
|
||||
const cookies = await chrome.cookies.getAll({});
|
||||
let domains = [];
|
||||
|
||||
|
||||
for( const item of checks )
|
||||
{
|
||||
// console.log( "item", item );
|
||||
|
||||
@@ -1 +1 @@
|
||||
<!doctype html><html lang="zh-cn"><head><meta charset="utf-8"/><link rel="icon" href="/logo.color.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="web content monitor"/><link rel="apple-touch-icon" href="logo.color.png"/><link rel="manifest" href="/manifest.json"/><title>...</title><link rel="stylesheet" href="/tailwind.min.css"><link href="/static/css/2.65280f5c.chunk.css" rel="stylesheet"><link href="/static/css/main.f2766b2a.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/static/js/runtime-main.17191aad.js"></script><script src="/static/js/2.fb5c1c43.chunk.js"></script><script src="/static/js/main.e0ceed25.chunk.js"></script></body></html>
|
||||
<!doctype html><html lang="zh-cn"><head><meta charset="utf-8"/><link rel="icon" href="/logo.color.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="web content monitor"/><link rel="apple-touch-icon" href="logo.color.png"/><link rel="manifest" href="/manifest.json"/><title>...</title><link rel="stylesheet" href="/tailwind.min.css"><link href="/static/css/2.65280f5c.chunk.css" rel="stylesheet"><link href="/static/css/main.f2766b2a.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/static/js/runtime-main.17191aad.js"></script><script src="/static/js/2.ad3d44e1.chunk.js"></script><script src="/static/js/main.d1ba4413.chunk.js"></script></body></html>
|
||||
@@ -3,7 +3,7 @@
|
||||
"name": "__MSG_appTitle__",
|
||||
"description": "__MSG_appDesc__",
|
||||
"default_locale": "en",
|
||||
"version": "0.9.8",
|
||||
"version": "0.9.9",
|
||||
"icons": {
|
||||
"512": "logo.color.png"
|
||||
},
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
self.__precacheManifest = (self.__precacheManifest || []).concat([
|
||||
{
|
||||
"revision": "0bb4630fcb1f1296fca288470095d66c",
|
||||
"url": "/index.html"
|
||||
},
|
||||
{
|
||||
"revision": "5c0e11c9e78fa5ed35a3",
|
||||
"url": "/static/css/2.65280f5c.chunk.css"
|
||||
},
|
||||
{
|
||||
"revision": "db3c9e4f4308a7637d7f",
|
||||
"url": "/static/css/main.f2766b2a.chunk.css"
|
||||
},
|
||||
{
|
||||
"revision": "5c0e11c9e78fa5ed35a3",
|
||||
"url": "/static/js/2.ad3d44e1.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "db3c9e4f4308a7637d7f",
|
||||
"url": "/static/js/main.d1ba4413.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "4d30565b04f5f2725c56",
|
||||
"url": "/static/js/runtime-main.17191aad.js"
|
||||
},
|
||||
{
|
||||
"revision": "05f1cdadfe476395f60e233b15c22155",
|
||||
"url": "/static/media/icons-16.05f1cdad.eot"
|
||||
},
|
||||
{
|
||||
"revision": "3c1c220e7a18286503fb431c7a7fe183",
|
||||
"url": "/static/media/icons-16.3c1c220e.woff"
|
||||
},
|
||||
{
|
||||
"revision": "3cde8748332d1de6b1ae1c2dc5850754",
|
||||
"url": "/static/media/icons-16.3cde8748.ttf"
|
||||
},
|
||||
{
|
||||
"revision": "0a5c76518a68c185baa2c6744456918c",
|
||||
"url": "/static/media/icons-20.0a5c7651.eot"
|
||||
},
|
||||
{
|
||||
"revision": "51ec31f302d0072808e1f83f85fea4cd",
|
||||
"url": "/static/media/icons-20.51ec31f3.ttf"
|
||||
},
|
||||
{
|
||||
"revision": "cef8cdbb9d0ba82e6e19fb0eeba2ac3d",
|
||||
"url": "/static/media/icons-20.cef8cdbb.woff"
|
||||
}
|
||||
]);
|
||||
@@ -14,7 +14,7 @@
|
||||
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
|
||||
|
||||
importScripts(
|
||||
"/precache-manifest.d081260a9ad335232527f33321ad446e.js"
|
||||
"/precache-manifest.789e37a8d3df45a85781a28819605bcd.js"
|
||||
);
|
||||
|
||||
self.addEventListener('message', (event) => {
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
+15
-3
@@ -20,9 +20,9 @@
|
||||
</ol>
|
||||
<h2>最新版本</h2>
|
||||
<ul>
|
||||
<li>插件·Chrome/Edge:2022.08.17.22.37 <a href="ckc.zip">下载</a> (<a href="https://github.com/easychen/checkchan-dist/raw/master/ckc.zip">Github下载地址,无需注册</a>)</li>
|
||||
<li>Docker镜像(云端+远程桌面二合一):2022.08.17.21.38 <a href="https://hub.docker.com/repository/docker/easychen/checkchan" rel="nofollow">Docker Hub</a></li>
|
||||
<li>文档:2022.08.17.22.37</li>
|
||||
<li>插件·Chrome/Edge:2022.08.18.13.42 <a href="ckc.zip">下载</a> (<a href="https://github.com/easychen/checkchan-dist/raw/master/ckc.zip">Github下载地址,无需注册</a>)</li>
|
||||
<li>Docker镜像(云端+远程桌面二合一):2022.08.18.13.32 <a href="https://hub.docker.com/repository/docker/easychen/checkchan" rel="nofollow">Docker Hub</a></li>
|
||||
<li>文档:2022.08.18.13.42</li>
|
||||
<li>更新日志:<a href="https://github.com/easychen/checkchan-dist/commits/main">GitHub</a></li>
|
||||
<li>生态:RSSHub浏览器插件整合版(<a href="https://github.com/easychen/RSSHub-Radar-with-checkchan">源码</a> | <a href="https://github.com/easychen/RSSHub-Radar-with-checkchan/releases/download/main/1.7.0.with-checkchan.zip">下载</a>)</li>
|
||||
</ul>
|
||||
@@ -105,6 +105,9 @@
|
||||
<p><a target="_blank" rel="noopener noreferrer" href="image/20220523214048.png"><img src="image/20220523214048.png" alt="" style="max-width: 100%;"></a></p>
|
||||
<p>如果 「监测周期限制」 为每分钟,而「监控间隔时间」为60分钟,那么每分钟都会尝试监测,而一旦监测成功一次,那么下次监测将是60分钟后。</p>
|
||||
<p>同时,因为执行监测任务本身也耗费时间,所以「监控间隔时间」为1分钟时,往往每隔一分钟(即每两分钟)才会运行一次任务。</p>
|
||||
<h3>Selector 扩展语法</h3>
|
||||
<p>最新的版本支持了一个Selector扩展语法:由于底层通过 <code class="notranslate">document.querySelectorAll</code> 实现,因此会返回匹配的全部元素于一个数组。当这些元素属于同一个父节点我们可以用 <code class="notranslate">:nth-of-type(1)</code> 或者 <code class="notranslate">:nth-child(1)</code>来指定数组中的某一项。</p>
|
||||
<p>但如果这些元素不属于同一个父节点,那么以上方法会失效。这里添加了一个 selector@n 的语法,让我们可以从 Selector 返回的数组中指定某一个元素。如 <code class="notranslate">.booklist .item@0</code> 将返回 <code class="notranslate">document.querySelectorAll(.booklist .item)[0]</code> 。</p>
|
||||
<h3>日志查看和错误定位</h3>
|
||||
<p>为了更清楚的了解定时任务的执行情况,你可以打开「开发者工具」(F12)在 <code class="notranslate">Console</code> 标签页中可以看到任务产生的日志。</p>
|
||||
<p><a target="_blank" rel="noopener noreferrer" href="image/20220523211235.png"><img src="image/20220523211235.png" alt="" style="max-width: 100%;"></a></p>
|
||||
@@ -213,6 +216,15 @@
|
||||
<li>RSS上行地址为: <code class="notranslate">http://$ip:$port/rss/upload?key=$api_key</code></li>
|
||||
<li>RSS Feed地址为:<code class="notranslate">http://$ip:$port/image/rss.xml?key=$api_key</code></li>
|
||||
</ul>
|
||||
<h3>多浏览器Cookie同步接口</h3>
|
||||
<p>Check酱自架云端内置了Cookie同步用的接口:</p>
|
||||
<p><a target="_blank" rel="noopener noreferrer" href="image/20220818011127.png"><img src="image/20220818011127.png" alt="" style="max-width: 100%;"></a></p>
|
||||
<ul>
|
||||
<li>Cookie同步URL为: <code class="notranslate">http://$ip:$port/cookie/sync?key=$api_key</code></li>
|
||||
<li>配对密码: 自行设定,同步Cookie的两个浏览器中必须一致</li>
|
||||
<li>同步方向: 一个发送一个接收,一般电脑上的发送、服务器上远程桌面里的接收</li>
|
||||
<li>同步频率:发送或者接收间隔时间</li>
|
||||
</ul>
|
||||
<h3>云端任务的安全性</h3>
|
||||
<p>Check酱云端任务的原理是将cookie同步到云端,然后用浏览器查看,本质和用户操作一样。但因为出口IP可能是机房和数据中心,频次太高也有被风控的可能。如果将云端部署在家里,则和在家用电脑访问效果一样。</p>
|
||||
<h3>云端错误排查</h3>
|
||||
|
||||
+15
-3
@@ -9,9 +9,9 @@
|
||||
</ol>
|
||||
<h2>最新版本</h2>
|
||||
<ul>
|
||||
<li>插件·Chrome/Edge:2022.08.17.22.37 <a href="ckc.zip">下载</a> (<a href="https://github.com/easychen/checkchan-dist/raw/master/ckc.zip">Github下载地址,无需注册</a>)</li>
|
||||
<li>Docker镜像(云端+远程桌面二合一):2022.08.17.21.38 <a href="https://hub.docker.com/repository/docker/easychen/checkchan" rel="nofollow">Docker Hub</a></li>
|
||||
<li>文档:2022.08.17.22.37</li>
|
||||
<li>插件·Chrome/Edge:2022.08.18.13.42 <a href="ckc.zip">下载</a> (<a href="https://github.com/easychen/checkchan-dist/raw/master/ckc.zip">Github下载地址,无需注册</a>)</li>
|
||||
<li>Docker镜像(云端+远程桌面二合一):2022.08.18.13.32 <a href="https://hub.docker.com/repository/docker/easychen/checkchan" rel="nofollow">Docker Hub</a></li>
|
||||
<li>文档:2022.08.18.13.42</li>
|
||||
<li>更新日志:<a href="https://github.com/easychen/checkchan-dist/commits/main">GitHub</a></li>
|
||||
<li>生态:RSSHub浏览器插件整合版(<a href="https://github.com/easychen/RSSHub-Radar-with-checkchan">源码</a> | <a href="https://github.com/easychen/RSSHub-Radar-with-checkchan/releases/download/main/1.7.0.with-checkchan.zip">下载</a>)</li>
|
||||
</ul>
|
||||
@@ -94,6 +94,9 @@
|
||||
<p><a target="_blank" rel="noopener noreferrer" href="image/20220523214048.png"><img src="image/20220523214048.png" alt="" style="max-width: 100%;"></a></p>
|
||||
<p>如果 「监测周期限制」 为每分钟,而「监控间隔时间」为60分钟,那么每分钟都会尝试监测,而一旦监测成功一次,那么下次监测将是60分钟后。</p>
|
||||
<p>同时,因为执行监测任务本身也耗费时间,所以「监控间隔时间」为1分钟时,往往每隔一分钟(即每两分钟)才会运行一次任务。</p>
|
||||
<h3>Selector 扩展语法</h3>
|
||||
<p>最新的版本支持了一个Selector扩展语法:由于底层通过 <code class="notranslate">document.querySelectorAll</code> 实现,因此会返回匹配的全部元素于一个数组。当这些元素属于同一个父节点我们可以用 <code class="notranslate">:nth-of-type(1)</code> 或者 <code class="notranslate">:nth-child(1)</code>来指定数组中的某一项。</p>
|
||||
<p>但如果这些元素不属于同一个父节点,那么以上方法会失效。这里添加了一个 selector@n 的语法,让我们可以从 Selector 返回的数组中指定某一个元素。如 <code class="notranslate">.booklist .item@0</code> 将返回 <code class="notranslate">document.querySelectorAll(.booklist .item)[0]</code> 。</p>
|
||||
<h3>日志查看和错误定位</h3>
|
||||
<p>为了更清楚的了解定时任务的执行情况,你可以打开「开发者工具」(F12)在 <code class="notranslate">Console</code> 标签页中可以看到任务产生的日志。</p>
|
||||
<p><a target="_blank" rel="noopener noreferrer" href="image/20220523211235.png"><img src="image/20220523211235.png" alt="" style="max-width: 100%;"></a></p>
|
||||
@@ -202,6 +205,15 @@
|
||||
<li>RSS上行地址为: <code class="notranslate">http://$ip:$port/rss/upload?key=$api_key</code></li>
|
||||
<li>RSS Feed地址为:<code class="notranslate">http://$ip:$port/image/rss.xml?key=$api_key</code></li>
|
||||
</ul>
|
||||
<h3>多浏览器Cookie同步接口</h3>
|
||||
<p>Check酱自架云端内置了Cookie同步用的接口:</p>
|
||||
<p><a target="_blank" rel="noopener noreferrer" href="image/20220818011127.png"><img src="image/20220818011127.png" alt="" style="max-width: 100%;"></a></p>
|
||||
<ul>
|
||||
<li>Cookie同步URL为: <code class="notranslate">http://$ip:$port/cookie/sync?key=$api_key</code></li>
|
||||
<li>配对密码: 自行设定,同步Cookie的两个浏览器中必须一致</li>
|
||||
<li>同步方向: 一个发送一个接收,一般电脑上的发送、服务器上远程桌面里的接收</li>
|
||||
<li>同步频率:发送或者接收间隔时间</li>
|
||||
</ul>
|
||||
<h3>云端任务的安全性</h3>
|
||||
<p>Check酱云端任务的原理是将cookie同步到云端,然后用浏览器查看,本质和用户操作一样。但因为出口IP可能是机房和数据中心,频次太高也有被风控的可能。如果将云端部署在家里,则和在家用电脑访问效果一样。</p>
|
||||
<h3>云端错误排查</h3>
|
||||
|
||||
Reference in New Issue
Block a user