Merge branch 'main' of gitea.icodef.com:codfrm/blog
All checks were successful
Release / deploy (push) Successful in 2m52s
All checks were successful
Release / deploy (push) Successful in 2m52s
This commit is contained in:
@ -25,7 +25,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4.1.1
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20.x"
|
||||
cache: 'npm'
|
||||
@ -45,7 +45,7 @@ jobs:
|
||||
|
||||
- name: Login to Docker Hub
|
||||
# uses: docker/login-action@v3
|
||||
uses: actions/login-action@v1
|
||||
uses: actions/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
@ -58,7 +58,7 @@ jobs:
|
||||
|
||||
- name: Docker build and push
|
||||
# use: docker/build-push-action@v5
|
||||
uses: actions/build-push-action@v5
|
||||
uses: actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
file: deploy/docker/Dockerfile
|
||||
@ -69,7 +69,7 @@ jobs:
|
||||
|
||||
- name: Set up kubeconfig
|
||||
# uses: azure/k8s-set-context@v3
|
||||
uses: actions/k8s-set-context@v3
|
||||
uses: actions/k8s-set-context@v4
|
||||
with:
|
||||
method: kubeconfig
|
||||
kubeconfig: ${{ secrets.KUBE_CONFIG }}
|
||||
@ -77,7 +77,7 @@ jobs:
|
||||
|
||||
- name: Set up Helm
|
||||
# uses: azure/setup-helm@v3
|
||||
uses: actions/setup-helm@v3.6
|
||||
uses: actions/setup-helm@v4
|
||||
with:
|
||||
version: 'v3.13.1' # default is latest (stable)
|
||||
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
由于这个变化,脚本猫的很多功能几乎全部需要重写,通信方面也要重新设计,一些功能也要重新考虑。虽然说都有替代方案,但还是有些烦躁。
|
||||
|
||||
另外我也还没有接触过 Service Worker,还需要学习一下,开发过程中可能还会遇到一些问题。
|
||||
|
||||
## DNR
|
||||
|
||||
其次就是围绕着网络请求修改方面的,Manifest V2,可以使用[`webRequest API`](https://developer.chrome.com/docs/extensions/reference/api/webRequest?hl=zh-cn),可以非常自由的修改网络请求,然而 V3 版本这个 API 被移除了,取而代之的是 [`declarativeNetRequest API`](https://developer.chrome.com/docs/extensions/reference/api/declarativeNetRequest?hl=zh-cn),使用的是声明式的规则列表,甚至还有条数限制。这直接影响了 GM_xhr 的相关功能,例如:Forbidden header、匿名 cookie、set-cookie 等。
|
||||
@ -26,7 +28,7 @@ Tampermonkey 并没有放弃这个功能,我不知道它是如何实现的,
|
||||
|
||||
## Userscript 和后台脚本
|
||||
|
||||
mv3 引入了两个新的 API:`[chrome.userScripts](https://developer.chrome.com/docs/extensions/reference/api/userScripts?hl=zh-cn)`和`[chrome.offscreen](https://developer.chrome.com/docs/extensions/reference/api/offscreen?hl=zh-cn)`,对于实现 Userscript 和后台脚本的功能上来说,更方便了,而且 chrome.userScripts 甚至可以让脚本在页面加载前进行注入,感觉又可以诞生一些新的玩法。但是必须要求用户开启开发者模式,这个实在是太难接受了。而且这个 API 可以突破 CSP 限制,在此之前是直接使用 webRequest API 将 CSP 策略移除,这样是更加安全的。
|
||||
mv3 引入了两个新的 API:[chrome.userScripts](https://developer.chrome.com/docs/extensions/reference/api/userScripts?hl=zh-cn)和[chrome.offscreen](https://developer.chrome.com/docs/extensions/reference/api/offscreen?hl=zh-cn),对于实现 Userscript 和后台脚本的功能上来说,更方便了,而且 chrome.userScripts 甚至可以让脚本在页面加载前进行注入,感觉又可以诞生一些新的玩法。但是必须要求用户开启开发者模式,这个实在是太难接受了。而且这个 API 可以突破 CSP 限制,在此之前是直接使用 webRequest API 将 CSP 策略移除,这样是更加安全的。
|
||||
|
||||
现在脚本的注入完全依赖这个 API,而不需要自己管理了,这个算是一个好消息,但是这样的话对于@match/@include 的表达式会产生一些影响。
|
||||
|
||||
|
2232
package-lock.json
generated
2232
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
@ -18,10 +18,10 @@
|
||||
"packages/*"
|
||||
],
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "3.1.1",
|
||||
"@docusaurus/plugin-content-docs": "^3.1.1",
|
||||
"@docusaurus/plugin-sitemap": "^3.1.1",
|
||||
"@docusaurus/preset-classic": "3.1.1",
|
||||
"@docusaurus/core": "^3.4.0",
|
||||
"@docusaurus/plugin-content-docs": "^3.4.0",
|
||||
"@docusaurus/plugin-sitemap": "^3.4.0",
|
||||
"@docusaurus/preset-classic": "^3.4.0",
|
||||
"@giscus/react": "^3.0.0",
|
||||
"@gracefullight/docusaurus-plugin-tailwind": "^1.0.1",
|
||||
"@iconify/react": "^4.1.1",
|
||||
@ -37,10 +37,10 @@
|
||||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/eslint-plugin": "^3.1.1",
|
||||
"@docusaurus/module-type-aliases": "3.1.1",
|
||||
"@docusaurus/tsconfig": "3.1.1",
|
||||
"@docusaurus/types": "3.1.1",
|
||||
"@docusaurus/eslint-plugin": "^3.4.0",
|
||||
"@docusaurus/module-type-aliases": "^3.4.0",
|
||||
"@docusaurus/tsconfig": "^3.4.0",
|
||||
"@docusaurus/types": "^3.4.0",
|
||||
"typescript": "~5.2.2"
|
||||
},
|
||||
"browserslist": {
|
||||
|
@ -9,8 +9,8 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.1.1",
|
||||
"@docusaurus/plugin-content-docs": "^3.1.1",
|
||||
"@docusaurus/core": "^3.4.0",
|
||||
"@docusaurus/plugin-content-docs": "^3.4.0",
|
||||
"dayjs": "^1.11.10",
|
||||
"reading-time": "^1.5.0",
|
||||
"simple-git": "^3.22.0"
|
||||
|
@ -98,16 +98,16 @@ export default async function pluginContentDocs(
|
||||
return ret;
|
||||
};
|
||||
|
||||
const warpContentLoaded = ret.contentLoaded;
|
||||
|
||||
ret.contentLoaded = async ({ content, actions, allContent }) => {
|
||||
const ret = await warpContentLoaded({
|
||||
content,
|
||||
actions,
|
||||
allContent,
|
||||
});
|
||||
return ret;
|
||||
};
|
||||
const warpAllContentLoaded = ret.allContentLoaded;
|
||||
if (warpAllContentLoaded) {
|
||||
ret.allContentLoaded = async ({ actions, allContent }) => {
|
||||
const ret = await warpAllContentLoaded({
|
||||
actions,
|
||||
allContent,
|
||||
});
|
||||
return ret;
|
||||
};
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.1.1",
|
||||
"@docusaurus/core": "^3.4.0",
|
||||
"dayjs": "^1.11.10",
|
||||
"reading-time": "^1.5.0"
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ export default function (context: LoadContext, options: any): Plugin {
|
||||
getThemePath() {
|
||||
return themePath;
|
||||
},
|
||||
async contentLoaded({ content, actions, allContent }): Promise<void> {
|
||||
async allContentLoaded({ actions, allContent }): Promise<void> {
|
||||
const { addRoute, createData, setGlobalData } = actions;
|
||||
|
||||
const docsData = allContent["docusaurus-plugin-content-docs"] as {
|
||||
|
Reference in New Issue
Block a user