diff --git a/.vuepress/public/files/gradle-wrapper.properties b/.vuepress/public/files/gradle-wrapper.properties
new file mode 100644
index 000000000..78fd10775
--- /dev/null
+++ b/.vuepress/public/files/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/.vuepress/public/files/init.gradle b/.vuepress/public/files/init.gradle
new file mode 100644
index 000000000..8e378c7e0
--- /dev/null
+++ b/.vuepress/public/files/init.gradle
@@ -0,0 +1,118 @@
+allprojects {
+ buildscript {
+ repositories {
+ /*maven{ url 'https://maven.aliyun.com/repository/public/'}
+ maven{ url 'https://maven.aliyun.com/repository/google/'}
+
+ all { ArtifactRepository repo ->
+ if (repo instanceof MavenArtifactRepository) {
+ def url = repo.url.toString()
+ if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')
+ || url.startsWith('https://dl.google.com/dl/android/maven2/')) {
+ //project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
+ remove repo
+ }
+ }
+ }*/
+ /*def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
+ def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/public'
+ def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google'
+ def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin'
+ all { ArtifactRepository repo ->
+ if(repo instanceof MavenArtifactRepository){
+ def url = repo.url.toString()
+ if (url.startsWith('https://repo1.maven.org/maven2/')) {
+ project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
+ remove repo
+ }
+ if (url.startsWith('https://jcenter.bintray.com/')) {
+ project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
+ remove repo
+ }
+ if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
+ project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."
+ remove repo
+ }
+ if (url.startsWith('https://plugins.gradle.org/m2/')) {
+ project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL."
+ remove repo
+ }
+ }
+ }
+ maven { url ALIYUN_REPOSITORY_URL }
+ maven { url ALIYUN_JCENTER_URL }
+ maven { url ALIYUN_GOOGLE_URL }
+ maven { url ALIYUN_GRADLE_PLUGIN_URL }*/
+ def NJU_REPOSITORY_URL = 'https://repo.nju.edu.cn/repository/maven-public/'
+ all { ArtifactRepository repo ->
+ if (repo instanceof MavenArtifactRepository) {
+ def url = repo.url.toString()
+ if (url.startsWith('https://repo1.maven.org/maven2')) {
+ project.logger.lifecycle "Repository ${repo.url} replaced by $NJU_REPOSITORY_URL."
+ remove repo
+ }
+ if (url.startsWith('https://jcenter.bintray.com/')) {
+ project.logger.lifecycle "Repository ${repo.url} deleted."
+ remove repo
+ }
+ if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
+ project.logger.lifecycle "Repository ${repo.url} deleted."
+ remove repo
+ }
+ if (url.contains('plugins.gradle.org/m2')) {
+ project.logger.lifecycle "Repository ${repo.url} deleted."
+ remove repo
+ }
+ }
+ }
+ maven { url NJU_REPOSITORY_URL }
+ mavenLocal()
+ }
+ }
+
+ repositories {
+ /*maven {
+ url 'https://maven.aliyun.com/repository/public/'
+ }
+ maven {
+ url 'https://maven.aliyun.com/repository/google/'
+ }
+
+ all { ArtifactRepository repo ->
+ if (repo instanceof MavenArtifactRepository) {
+ def url = repo.url.toString()
+
+ if (url.startsWith('https://repo.maven.apache.org/maven2/') || url.startsWith('https://repo.maven.org/maven2')
+ || url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')
+ || url.startsWith('https://maven.google.com/') || url.startsWith('https://dl.google.com/dl/android/maven2/')) {
+ //project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
+ remove repo
+ }
+ }
+ }*/
+ def NJU_REPOSITORY_URL = 'https://repo.nju.edu.cn/repository/maven-public/'
+ all { ArtifactRepository repo ->
+ if (repo instanceof MavenArtifactRepository) {
+ def url = repo.url.toString()
+ if (url.startsWith('https://repo1.maven.org/maven2')) {
+ project.logger.lifecycle "Repository ${repo.url} replaced by $NJU_REPOSITORY_URL."
+ remove repo
+ }
+ if (url.startsWith('https://jcenter.bintray.com/')) {
+ project.logger.lifecycle "Repository ${repo.url} deleted."
+ remove repo
+ }
+ if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
+ project.logger.lifecycle "Repository ${repo.url} deleted."
+ remove repo
+ }
+ if (url.contains('plugins.gradle.org/m2')) {
+ project.logger.lifecycle "Repository ${repo.url} deleted."
+ remove repo
+ }
+ }
+ }
+ maven { url NJU_REPOSITORY_URL }
+ mavenLocal()
+ }
+}
\ No newline at end of file
diff --git a/.vuepress/public/files/init.gradle.kts b/.vuepress/public/files/init.gradle.kts
new file mode 100644
index 000000000..44637c56a
--- /dev/null
+++ b/.vuepress/public/files/init.gradle.kts
@@ -0,0 +1,71 @@
+// https://www.cnblogs.com/mkckr0/p/17714374.html
+// https://gist.github.com/mkckr0/97ec5b0d99feede4c19ee6f905d5e722
+
+val repoMirrorMap = mapOf(
+ "https://repo.maven.apache.org/maven2" to "https://maven.aliyun.com/repository/central",
+ "https://dl.google.com/dl/android/maven2" to "https://maven.aliyun.com/repository/google",
+ "https://plugins.gradle.org/m2" to "https://maven.aliyun.com/repository/gradle-plugin",
+ "https://jcenter.bintray.com" to "https://maven.aliyun.com/repository/jcenter",
+)
+val repoReplaceMap = mapOf(
+ "https://maven.google.com" to "https://dl.google.com/dl/android/maven2"
+)
+
+fun RepositoryHandler.setMirrors() {
+ all {
+ if (this is MavenArtifactRepository && !name.endsWith("Origin")) {
+ val originName = name
+ var originUrl = url.toString().trimEnd('/')
+
+ // do replace
+ repoReplaceMap[originUrl]?.let { newUrl ->
+ originUrl = newUrl
+ setUrl(originUrl)
+ }
+
+ // do mirror
+ repoMirrorMap[originUrl]?.let { newUrl ->
+ // replace into mirror repo
+ setUrl(newUrl)
+ // add origin repo to find missing jars
+ artifactUrls(originUrl)
+ // keep origin repo to find missing POM
+ maven(originUrl) { name = "$originName Origin" }
+ }
+ }
+ }
+ printRepos()
+}
+
+fun RepositoryHandler.printRepos() {
+ all {
+ if (this is MavenArtifactRepository) {
+ println("Maven Repo: name=\"$name\", url=$url, artifacts=${artifactUrls}")
+ }
+ }
+}
+
+settingsEvaluated {
+ pluginManagement {
+ repositories {
+ setMirrors()
+ }
+ }
+ dependencyResolutionManagement {
+ @Suppress("UnstableApiUsage")
+ repositories {
+ setMirrors()
+ }
+ }
+}
+
+allprojects {
+ buildscript {
+ repositories {
+ setMirrors()
+ }
+ }
+ repositories {
+ setMirrors()
+ }
+}
\ No newline at end of file
diff --git a/.vuepress/public/files/settings.gradle b/.vuepress/public/files/settings.gradle
new file mode 100644
index 000000000..f22075529
--- /dev/null
+++ b/.vuepress/public/files/settings.gradle
@@ -0,0 +1,28 @@
+pluginManagement {
+ repositories {
+
+ maven { url 'https://maven.aliyun.com/repository/central' }
+ maven { url 'https://maven.aliyun.com/repository/jcenter' }
+ maven { url 'https://maven.aliyun.com/repository/google' } //替换google()
+ maven { url 'https://maven.aliyun.com/repository/public' }
+ maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
+
+ google()
+ mavenLocal() //配置先从本地仓库寻找jar包,优先寻找上一个配置,找到不执行下面的配置
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+
+ maven { url 'https://maven.aliyun.com/repository/google' }
+ maven { url 'https://maven.aliyun.com/repository/public' }
+
+ google()
+ mavenCentral()
+ }
+}
+rootProject.name = "hiCompose"
+include ':app'
diff --git a/DBS/README.md b/DBS/README.md
index d9b1967a7..206666653 100644
--- a/DBS/README.md
+++ b/DBS/README.md
@@ -312,6 +312,7 @@
* [https://github.com/yu-linfeng/redis5.x_tutorial](https://github.com/yu-linfeng/redis5.x_tutorial)
* redis常用特性 [https://github.com/LxyTe/redis](https://github.com/LxyTe/redis)
* [https://github.com/Ctzzhang/Ctzzhang.github.io](https://github.com/Ctzzhang/Ctzzhang.github.io)
+* [Redlock安全吗?](http://antirez.com/news/101)
* Java [https://github.com/redisson](https://github.com/redisson)
* [https://github.com/RedisJSON](https://github.com/RedisJSON)
* [https://github.com/lettuce-io/lettuce-core](https://github.com/lettuce-io/lettuce-core)
diff --git "a/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md" "b/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md"
index bd4ebe24e..1bc46a495 100644
--- "a/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md"
+++ "b/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md"
@@ -581,6 +581,7 @@ SELECT NEXT VALUE FOR seq_num AS num FROM DUAL WHERE NEXT VALUE FOR seq_num <= 3
* [https://jdbc.postgresql.org](https://jdbc.postgresql.org)
* [https://github.com/postgrespro](https://github.com/postgrespro)
* [https://github.com/citusdata](https://github.com/citusdata)
+* [https://github.com/neondatabase/neon](https://github.com/neondatabase/neon)
* [https://github.com/pgpartman](https://github.com/pgpartman)
* [https://github.com/PostgREST/postgrest](https://github.com/PostgREST/postgrest)
* [https://github.com/CrunchyData](https://github.com/CrunchyData)
diff --git "a/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md" "b/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md"
index e7393aeed..20b368f3a 100644
--- "a/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md"
+++ "b/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md"
@@ -96,6 +96,7 @@
* [https://github.com/huandu/go-sqlbuilder](https://github.com/huandu/go-sqlbuilder)
* [https://github.com/libragen/felix](https://github.com/libragen/felix)
* [https://github.com/eventials/go-tus](https://github.com/eventials/go-tus)
+* [https://github.com/uptrace/bun](https://github.com/uptrace/bun)
* 缓存 [https://github.com/patrickmn/go-cache](https://github.com/patrickmn/go-cache)
* [https://github.com/bluele/gcache](https://github.com/bluele/gcache)
* [https://github.com/golang/groupcache](https://github.com/golang/groupcache)
diff --git "a/IDE/IDEA\344\275\277\347\224\250.md" "b/IDE/IDEA\344\275\277\347\224\250.md"
index aff0b63f2..49a359a74 100644
--- "a/IDE/IDEA\344\275\277\347\224\250.md"
+++ "b/IDE/IDEA\344\275\277\347\224\250.md"
@@ -275,6 +275,20 @@ demo # 顶级项目(根项目)
4. 勾选`Transparent native-to-ascii conversion` 从本地转换ASCII
+## 设置代码补全
+
+- 快捷键:Ctrl + Space(可能被输入法占用)
+
+- 修改快捷键 `File` -> `Settings` -> `KeyMap` -> 搜索`Completion` -> `Code Completion`
+ - 移除`Cycle Expand Word`的`Alt+/`快捷键。
+ - 在`Basic`上点击右键,去除`Ctrl+空格`绑定,然后添加`Alt+/`快捷键。
+
+- 打开 `File` -> `Settings` -> `Editor` -> `General` -> `Code Completion`
+ - `Autopopup code completion`
+ - `Delay`
+
+
+
## 设置序列化ID
- 打开 `File` -> `Settings` -> `Editor` -> `Inspections` -> `Java` -> `Serialization issues`
diff --git "a/IDE/IDEA\346\217\222\344\273\266.md" "b/IDE/IDEA\346\217\222\344\273\266.md"
index dd30bfb02..757ed369b 100644
--- "a/IDE/IDEA\346\217\222\344\273\266.md"
+++ "b/IDE/IDEA\346\217\222\344\273\266.md"
@@ -5,8 +5,7 @@
## Flag
-* [实用IDEA工具](https://blog.csdn.net/weixin_37645838/article/details/85953193)
-
+- [https://www.jetbrains.com/legal/docs/terms/jetbrains-ai/service-providers](https://www.jetbrains.com/legal/docs/terms/jetbrains-ai/service-providers)
- [https://licheng1013.github.io/util/idea.html](https://licheng1013.github.io/util/idea.html)
- Eclipse代码格式化风格 [https://github.com/krasa/EclipseCodeFormatter](https://github.com/krasa/EclipseCodeFormatter)
- 主题 [http://soft-hub.cn](http://soft-hub.cn)
@@ -53,7 +52,7 @@
* [利用授权服务器(License Server)激活Jetbrains全家桶](https://51.ruyo.net/17780.html)
* [https://www.shodan.io/search?query=Location%3A+https%3A%2F%2Faccount.jetbrains.com%2Ffls-auth](https://www.shodan.io/search?query=Location%3A+https%3A%2F%2Faccount.jetbrains.com%2Ffls-auth)
* [如何批量挖掘Jetbrains系列产品激活服务器](https://t.me/s/Ru05hui/123)
- * [https://fofa.info](https://fofa.info)
+ * [https://fofa.info](https://fofa.info/result?qbase64=TG9jYXRpb246IGh0dHBzOi8vYWNjb3VudC5qZXRicmFpbnMuY29tL2Zscy1hdXRo&page=1&page_size=20)
* [如何找Jetbrains激活服务器](https://hostloc.com/thread-999341-1-1.html)
* [https://search.censys.io](https://search.censys.io)
* [记录 Rainbow Brackets 插件破解](https://reajason.com/writing/rainbowbracketscracked)
@@ -352,9 +351,10 @@
## FindBugs-IDEA
-* [https://plugins.jetbrains.com/plugin/3847-findbugs-idea](https://plugins.jetbrains.com/plugin/3847-findbugs-idea)
-* [https://github.com/andrepdo/findbugs-idea](https://github.com/andrepdo/findbugs-idea)
+* [https://plugins.jetbrains.com/plugin/14014-spotbugs](https://plugins.jetbrains.com/plugin/14014-spotbugs)
+* ~~[https://github.com/andrepdo/findbugs-idea](https://github.com/andrepdo/findbugs-idea)~~
* [https://andrepdo.github.io/findbugs-idea](https://andrepdo.github.io/findbugs-idea)
+* [https://github.com/XenoAmess/p3c](https://github.com/XenoAmess/p3c)
> 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多,写完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug
diff --git a/IDE/README.md b/IDE/README.md
index 6c1f8e48f..461cde207 100644
--- a/IDE/README.md
+++ b/IDE/README.md
@@ -90,6 +90,7 @@
- [https://github.com/KillianLucas/open-interpreter](https://github.com/KillianLucas/open-interpreter)
- [https://github.com/deepseek-ai/DeepSeek-Coder](https://github.com/deepseek-ai/DeepSeek-Coder)
- [https://github.com/Codium-ai](https://github.com/Codium-ai)
+- [https://cursor.sh](https://cursor.sh)
- [https://github.com/KillianLucas/open-interpreter](https://github.com/KillianLucas/open-interpreter)
- [https://github.com/DoubleTechnologies](https://github.com/DoubleTechnologies)
- [https://github.com/OpenInterpreter/open-interpreter](https://github.com/OpenInterpreter/open-interpreter)
@@ -134,6 +135,7 @@
+ [https://www.acme.com/software](https://www.acme.com/software)
+ [https://gitee.com/jianmu-dev](https://gitee.com/jianmu-dev)
+ [https://github.com/earthly/earthly](https://github.com/earthly/earthly)
++ [https://github.com/nucleuscloud/neosync](https://github.com/nucleuscloud/neosync)
@@ -323,6 +325,7 @@
* [https://github.com/HyperSine](https://github.com/HyperSine)
* [https://github.com/Abeautifulsnow/navicat-premium-crack](https://github.com/Abeautifulsnow/navicat-premium-crack)
* [https://github.com/LiJunYi2/navicat-keygen-16V](https://github.com/LiJunYi2/navicat-keygen-16V)
+ * [https://gitlab.com/ajiajishu/navicat-keygen-16V](https://gitlab.com/ajiajishu/navicat-keygen-16V)
* [https://github.com/team-ide/teamide](https://github.com/team-ide/teamide)
* [https://fishcodelib.com/Database.htm](https://fishcodelib.com/Database.htm)
* [https://codeberg.org/sql-workbench/workbench](https://codeberg.org/sql-workbench/workbench)
@@ -610,7 +613,7 @@
| 递进式向左选择代码(一样) | Shift + Alt + ← | Shift + Alt + ← |
| 跳到指定行 | Ctrl + G | Ctrl + L |
| 光标处往上添加空行 | Ctrl + Alt + Enter | Ctrl + Shift + Enter |
-| 代码提示(Basic) | Ctrl + 空格 | Alt + / |
+| 代码提示(Basic) | Ctrl + 空格(可能被输入法占用) | Alt + / |
| 取消撤销 | Ctrl + Shift + Z | Ctrl + Y |
| 选中区域取消注释 | Ctrl + Shift + / | Ctrl + Shift + \ |
| 添加或取消注释 | Ctrl + / | Ctrl + / Ctrl + Shift + C |
diff --git a/IDE/VisualStudioCode.md b/IDE/VisualStudioCode.md
index 4ac9d24ab..df5347efb 100644
--- a/IDE/VisualStudioCode.md
+++ b/IDE/VisualStudioCode.md
@@ -285,6 +285,7 @@
* 配色 [https://github.com/nealmckee/penumbra](https://github.com/nealmckee/penumbra)
* 禁用规则 [https://github.com/lvjiaxuan/vscode-eslint-disable](https://github.com/lvjiaxuan/vscode-eslint-disable)
* 前端提示 [https://github.com/Simon-He95/vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense)
+* 生成注释 [https://github.com/OBKoro1/koro1FileHeader](https://github.com/OBKoro1/koro1FileHeader)
diff --git "a/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md" "b/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md"
index cd24aeac6..fe8664f0a 100644
--- "a/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md"
+++ "b/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md"
@@ -51,6 +51,7 @@
* Java安全 [https://github.com/HackJava/HackJava](https://github.com/HackJava/HackJava)
* [https://github.com/Y4Sec-Team](https://github.com/Y4Sec-Team)
* 安全扫描 [https://github.com/CISOfy/lynis](https://github.com/CISOfy/lynis)
+* [https://github.com/lcvvvv/kscan](https://github.com/lcvvvv/kscan)
diff --git "a/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md" "b/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md"
index 78475907c..486c1093a 100644
--- "a/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md"
+++ "b/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md"
@@ -41,9 +41,9 @@
+ [https://github.com/souffle-lang/souffle](https://github.com/souffle-lang/souffle)
+ [https://github.com/spotbugs](https://github.com/spotbugs)
+ [https://github.com/mebigfatguy/fb-contrib](https://github.com/mebigfatguy/fb-contrib)
-+ [https://github.com/findbugsproject/findbugs](https://github.com/findbugsproject/findbugs)
- + [https://sourceforge.net/projects/findbugs](https://sourceforge.net/projects/findbugs)
- + [https://github.com/KengoTODA/findbugs-slf4j](https://github.com/KengoTODA/findbugs-slf4j)
+ + ~~[https://github.com/findbugsproject/findbugs](https://github.com/findbugsproject/findbugs)~~
+ + [https://sourceforge.net/projects/findbugs](https://sourceforge.net/projects/findbugs)
+ + [https://github.com/KengoTODA/findbugs-slf4j](https://github.com/KengoTODA/findbugs-slf4j)
+ [https://github.com/pascal-lab/Tai-e](https://github.com/pascal-lab/Tai-e)
+ [https://github.com/find-sec-bugs/find-sec-bugs](https://github.com/find-sec-bugs/find-sec-bugs)
+ [https://github.com/jimbethancourt/RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)
diff --git a/Java/README.md b/Java/README.md
index 3709343b0..d90fcb4fb 100644
--- a/Java/README.md
+++ b/Java/README.md
@@ -28,6 +28,7 @@
- [Java版本比较](https://mp.weixin.qq.com/s/NEfqPXrcq6O1p7RLf9LWCw)
- [Java 9-16 新增语法元素一览](https://segmentfault.com/a/1190000039714550)
- [Java 速查手册](https://bbs.csdn.net/topics/609815996)
+- [https://docland.io](https://docland.io)
- [javaEE和javaweb的区别?](https://www.zhihu.com/question/52002845)
diff --git a/Other/Bookmarks.md b/Other/Bookmarks.md
index 8b2ca3732..8103f06ff 100644
--- a/Other/Bookmarks.md
+++ b/Other/Bookmarks.md
@@ -174,6 +174,7 @@ javascript:document.body.contentEditable='true';document.designMode='on'; void 0
* [https://uxbaike.com](https://uxbaike.com)
* [https://mjcn.club](https://mjcn.club)
* [https://www.logocook.shop/editor](https://www.logocook.shop/editor)
+* 灵感设计 [https://refto.one](https://refto.one)
## 文档
diff --git a/Other/Markdown.md b/Other/Markdown.md
index 3313adffa..f80fa681e 100644
--- a/Other/Markdown.md
+++ b/Other/Markdown.md
@@ -388,7 +388,7 @@ string &operator+(const string& A,const string& B) //cpp
- `
`
- `
`
-- ``
+- `` 按钮效果
- ``
- ``
- ``
diff --git "a/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md" "b/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md"
index 0ea6803ca..a8e395127 100644
--- "a/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md"
+++ "b/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md"
@@ -150,6 +150,7 @@
* [https://github.com/QSCTech/zju-icicles](https://github.com/QSCTech/zju-icicles)
* [https://feishuhub.com](https://feishuhub.com)
* 数据工程课程 [https://github.com/DataTalksClub/data-engineering-zoomcamp](https://github.com/DataTalksClub/data-engineering-zoomcamp)
+* [https://github.com/DataExpert-io/data-engineer-handbook](https://github.com/DataExpert-io/data-engineer-handbook)
* 分布式系统模式 [https://github.com/dreamhead/patterns-of-distributed-systems](https://github.com/dreamhead/patterns-of-distributed-systems)
* 编程语言学习片段 [https://programming-idioms.org/all-idioms](https://programming-idioms.org/all-idioms)
* Linux应用程序 [https://github.com/luong-komorebi/Awesome-Linux-Software](https://github.com/luong-komorebi/Awesome-Linux-Software)
diff --git a/PL/CPlusPlus.md b/PL/CPlusPlus.md
index a9d12388b..58f2c14ac 100644
--- a/PL/CPlusPlus.md
+++ b/PL/CPlusPlus.md
@@ -208,6 +208,7 @@
* 不可变 [https://github.com/arximboldi/immer](https://github.com/arximboldi/immer)
* 日期时间 [https://github.com/HowardHinnant/date](https://github.com/HowardHinnant/date)
* 范围 [https://github.com/ericniebler/range-v3](https://github.com/ericniebler/range-v3)
+* 队列 [https://github.com/cameron314/concurrentqueue](https://github.com/cameron314/concurrentqueue)
diff --git "a/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md" "b/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md"
index a94b9391f..a34c57e7e 100644
--- "a/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md"
+++ "b/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md"
@@ -260,6 +260,7 @@
* [https://github.com/coqui-ai/TTS](https://github.com/coqui-ai/TTS)
* [https://github.com/fishaudio/fish-speech](https://github.com/fishaudio/fish-speech)
* [https://github.com/open-mmlab/Amphion](https://github.com/open-mmlab/Amphion)
+* [https://github.com/2noise/ChatTTS](https://github.com/2noise/ChatTTS)
* 变声 [https://github.com/w-okada/voice-changer](https://github.com/w-okada/voice-changer)
* 捕获键盘声音 [https://github.com/ggerganov/kbd-audio](https://github.com/ggerganov/kbd-audio)
* Whisper [https://github.com/chidiwilliams/buzz](https://github.com/chidiwilliams/buzz)
@@ -267,6 +268,7 @@
* [https://github.com/invoke-ai/InvokeAI](https://github.com/invoke-ai/InvokeAI)
* [https://github.com/omerbt/TokenFlow](https://github.com/omerbt/TokenFlow)
* [https://github.com/prompt-engineering](https://github.com/prompt-engineering)
+* [https://github.com/innovatorved/subtitle](https://github.com/innovatorved/subtitle)
* 视频翻译 [https://github.com/jianchang512/pyvideotrans](https://github.com/jianchang512/pyvideotrans)
* [https://github.com/buxuku/VideoSubtitleGenerator](https://github.com/buxuku/VideoSubtitleGenerator)
* 抠图 [https://github.com/PeterL1n/RobustVideoMatting](https://github.com/PeterL1n/RobustVideoMatting)
diff --git a/Shell/README.md b/Shell/README.md
index 52c23279d..40aa90ecb 100644
--- a/Shell/README.md
+++ b/Shell/README.md
@@ -76,6 +76,7 @@
+ 加密 [https://github.com/candiddev/rot](https://github.com/candiddev/rot)
+ JSON [https://github.com/stedolan/jq](https://github.com/stedolan/jq)
+ [https://stedolan.github.io/jq](https://stedolan.github.io/jq)
+ + [https://github.com/alingse/jq-manual-cn](https://github.com/alingse/jq-manual-cn)
+ [https://github.com/simeji/jid](https://github.com/simeji/jid)
+ [https://github.com/fiatjaf/jiq](https://github.com/fiatjaf/jiq)
+ [https://github.com/wader/fq](https://github.com/wader/fq)
diff --git a/System/IOS.md b/System/IOS.md
index adf178b6a..f3a11108b 100644
--- a/System/IOS.md
+++ b/System/IOS.md
@@ -60,6 +60,7 @@
- 翻译 [https://github.com/tisfeng/Easydict](https://github.com/tisfeng/Easydict)
* [https://macked.app](https://macked.app)
+* 所有机型参数大全 [https://github.com/KyleBing/ipad](https://github.com/KyleBing/ipad)
## IOS框架
diff --git a/System/README.md b/System/README.md
index 2232557b4..e2c48d469 100644
--- a/System/README.md
+++ b/System/README.md
@@ -342,6 +342,7 @@
- 视图监视器 [https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet](https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet)
- [https://github.com/aristocratos](https://github.com/aristocratos)
- [https://github.com/magiclen/m-prober](https://github.com/magiclen/m-prober)
+- 网站防护 [https://github.com/chaitin/SafeLine](https://github.com/chaitin/SafeLine)
@@ -493,6 +494,8 @@
* 在线知识库 [https://github.com/outline/outline](https://github.com/outline/outline)
* 自定义二维码 [https://github.com/kochrt/qr-designer](https://github.com/kochrt/qr-designer)
* 图床 [https://github.com/TiannV/react-epic-project](https://github.com/TiannV/react-epic-project)
+* [https://github.com/besscroft/PicImpact](https://github.com/besscroft/PicImpact)
+* [https://github.com/linyuxuanlin/Gallery-Portfolio](https://github.com/linyuxuanlin/Gallery-Portfolio)
* Web应用商店 [https://github.com/sandstorm-io/sandstorm](https://github.com/sandstorm-io/sandstorm)
diff --git "a/System/Windows\350\275\257\344\273\266.md" "b/System/Windows\350\275\257\344\273\266.md"
index efd95416c..395f18c48 100644
--- "a/System/Windows\350\275\257\344\273\266.md"
+++ "b/System/Windows\350\275\257\344\273\266.md"
@@ -514,6 +514,7 @@
* [https://github.com/renzhezhilu/webp2jpg-online-demo](https://github.com/renzhezhilu/webp2jpg-online-demo)
* [https://github.com/Dreamer365/topspeed-image-compressor](https://github.com/Dreamer365/topspeed-image-compressor)
* [https://github.com/autergame/JpegView-Rust](https://github.com/autergame/JpegView-Rust)
+* [https://github.com/Lymphatus/caesium-clt](https://github.com/Lymphatus/caesium-clt)
* 上传并获取图片URL [https://github.com/Molunerfinn/PicGo](https://github.com/Molunerfinn/PicGo)
* [https://www.polaxiong.com](https://www.polaxiong.com)
* [https://icons8.cn/lunacy](https://icons8.cn/lunacy)
diff --git "a/System/\351\202\256\347\256\261\346\234\215\345\212\241.md" "b/System/\351\202\256\347\256\261\346\234\215\345\212\241.md"
index b775528a5..12b74ad43 100644
--- "a/System/\351\202\256\347\256\261\346\234\215\345\212\241.md"
+++ "b/System/\351\202\256\347\256\261\346\234\215\345\212\241.md"
@@ -26,6 +26,7 @@
* [https://sourceforge.net/projects/dkim-milter](https://sourceforge.net/projects/dkim-milter)
* [https://sourceforge.net/projects/opendkim](https://sourceforge.net/projects/opendkim)
* [https://github.com/yesmore/vmail](https://github.com/yesmore/vmail)
+* [https://github.com/mail-in-a-box/mailinabox](https://github.com/mail-in-a-box/mailinabox)
* [测试邮箱](https://www.mail-tester.com)
diff --git "a/Web/JavaScript\346\241\206\346\236\266.md" "b/Web/JavaScript\346\241\206\346\236\266.md"
index 081048576..e55d796c4 100644
--- "a/Web/JavaScript\346\241\206\346\236\266.md"
+++ "b/Web/JavaScript\346\241\206\346\236\266.md"
@@ -120,6 +120,7 @@
* [https://github.com/silevis/reactgrid](https://github.com/silevis/reactgrid)
* 测试 [https://github.com/testing-library](https://github.com/testing-library)
* 服务器组件 [https://github.com/dai-shi/waku](https://github.com/dai-shi/waku)
+* 画板 [https://github.com/tldraw/tldraw](https://github.com/tldraw/tldraw)
- [https://github.com/Asabeneh/30-Days-Of-React](https://github.com/Asabeneh/30-Days-Of-React)
diff --git "a/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md" "b/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md"
index 55f057a50..c17013884 100644
--- "a/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md"
+++ "b/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md"
@@ -237,6 +237,7 @@
* JSON增强 [https://github.com/blitz-js/superjson](https://github.com/blitz-js/superjson)
* JSON校验 [https://github.com/ozkxr/match-json](https://github.com/ozkxr/match-json)
* 二维码 [https://github.com/ciaochaos/qrbtf](https://github.com/ciaochaos/qrbtf)
+* [https://github.com/mumuy/widget-qrcode](https://github.com/mumuy/widget-qrcode)
* 随机数 [https://github.com/ChrisCavs/aimless.js](https://github.com/ChrisCavs/aimless.js)
* Promise [https://github.com/petkaantonov/bluebird](https://github.com/petkaantonov/bluebird)
* 矩阵计算 [https://github.com/mateogianolio/vectorious](https://github.com/mateogianolio/vectorious)
@@ -427,7 +428,6 @@
- 思维导图 [https://github.com/hizzgdev/jsmind](https://github.com/hizzgdev/jsmind)
- 虚拟白板 [https://github.com/excalidraw/excalidraw](https://github.com/excalidraw/excalidraw)
-- [https://github.com/tldraw/tldraw](https://github.com/tldraw/tldraw)
- 头像生成 [https://github.com/multiavatar/Multiavatar](https://github.com/multiavatar/Multiavatar)
- 抠图 [https://github.com/imgly/background-removal-js](https://github.com/imgly/background-removal-js)
diff --git a/Web/README.md b/Web/README.md
index 1d3e70f1d..07fbf3a4e 100644
--- a/Web/README.md
+++ b/Web/README.md
@@ -330,6 +330,7 @@
* 动态博客系统 [https://github.com/kasuganosoras/cloudflare-worker-blog](https://github.com/kasuganosoras/cloudflare-worker-blog)
* 个人导航网站 [https://github.com/sleepwood/CF-Worker-Dir](https://github.com/sleepwood/CF-Worker-Dir)
* 一个极简风格的短网址转换 [https://github.com/Closty/duanwangzhi](https://github.com/Closty/duanwangzhi)
+* 短链接 [https://github.com/ccbikai/Sink](https://github.com/ccbikai/Sink)
* AI [https://github.com/Jazee6/cloudflare-ai-web](https://github.com/Jazee6/cloudflare-ai-web)
* [基于 Telegraf 框架的 Telegram Bot](https://moe.best/tutorial/cfworker-telegraf-tgbot.html)
* [使用CloudFlare Workers搭建网站状态监控](https://www.raycoder.me/p/cloudflare-workers-website-monitoring)