Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
智布道
OneBlog
提交
7dfe3072
O
OneBlog
项目概览
智布道
/
OneBlog
8 个月 前同步成功
通知
11
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
OneBlog
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7dfe3072
编写于
11月 01, 2021
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
💡
每晚凌晨12点自动检查友联,对于私自取消友联的网站实行自动封禁
上级
725d983c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
86 addition
and
0 deletion
+86
-0
blog-admin/src/main/java/com/zyd/blog/core/schedule/FriendlyLinkTask.java
...ain/java/com/zyd/blog/core/schedule/FriendlyLinkTask.java
+78
-0
blog-admin/src/main/resources/application-dev.yml
blog-admin/src/main/resources/application-dev.yml
+4
-0
docs/docker/.env
docs/docker/.env
+4
-0
未找到文件。
blog-admin/src/main/java/com/zyd/blog/core/schedule/FriendlyLinkTask.java
0 → 100644
浏览文件 @
7dfe3072
package
com.zyd.blog.core.schedule
;
import
com.zyd.blog.business.entity.Link
;
import
com.zyd.blog.business.enums.ConfigKeyEnum
;
import
com.zyd.blog.business.service.SysConfigService
;
import
com.zyd.blog.business.service.SysLinkService
;
import
com.zyd.blog.business.util.LinksUtil
;
import
com.zyd.blog.persistence.beans.SysConfig
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.List
;
/**
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0.0
* @since 1.0.0
*/
@Slf4j
@Component
public
class
FriendlyLinkTask
{
@Autowired
private
SysLinkService
sysLinkService
;
@Autowired
private
SysConfigService
sysConfigService
;
@Value
(
"${app.enableAutoCheckLink}"
)
private
boolean
enableAutoCheckLink
;
/**
* 每晚凌晨12点,检查友情链接
*/
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
public
void
check
()
{
// 未开启自动检查友联的功能
if
(!
enableAutoCheckLink
)
{
return
;
}
List
<
Link
>
linkList
=
sysLinkService
.
listAll
();
if
(
CollectionUtils
.
isEmpty
(
linkList
))
{
return
;
}
SysConfig
sysConfig
=
sysConfigService
.
getByKey
(
ConfigKeyEnum
.
DOMAIN
.
getKey
());
if
(
StringUtils
.
isEmpty
(
sysConfig
))
{
return
;
}
String
domain
=
sysConfig
.
getConfigValue
();
for
(
Link
link
:
linkList
)
{
if
(!
link
.
isStatus
())
{
// 被禁用的网站如果又包含了本站链接,说明其已经恢复本站的友联
// 因此自动恢复其友联
if
(
LinksUtil
.
hasLinkByHtml
(
link
.
getUrl
(),
domain
)
||
LinksUtil
.
hasLinkByChinaz
(
link
.
getUrl
(),
domain
))
{
link
.
setStatus
(
true
);
link
.
setDescription
(
""
);
sysLinkService
.
updateSelective
(
link
);
}
continue
;
}
// 已经不存在本站链接,自动下架该网站的友联
if
(!(
LinksUtil
.
hasLinkByHtml
(
link
.
getUrl
(),
domain
))
&&
!
LinksUtil
.
hasLinkByChinaz
(
link
.
getUrl
(),
domain
))
{
link
.
setStatus
(
false
);
link
.
setDescription
(
"系统检测到该网站已经取消本站的链接,因此自动封禁其友链"
);
sysLinkService
.
updateSelective
(
link
);
log
.
info
(
"系统监测到该网站([{}])已经私自取消本站链接,因此自动下架的友联"
,
link
.
getName
());
}
}
}
}
blog-admin/src/main/resources/application-dev.yml
浏览文件 @
7dfe3072
...
...
@@ -17,6 +17,10 @@ logging:
app
:
# 是否启用kaptcha验证码
enableKaptcha
:
${ONEBLOG_APP_ENABLE_KAPTCHA:false}
# 是否启用自动校验友情链接的功能
# 请选择打开,一旦打开,每晚凌晨12点会自动检查友联,对于不包含本站链接的网站实行自动封禁
# 目前暂时没实现白名单的功能
enableAutoCheckLink
:
${ONEBLOG_APP_ENABLE_CHECK_LINK:false}
# 启用后,项目在启动时会打印数据库(Mysql和Redis)链接信息(包含密码)
# 代码请参考
enabledPrintConfig
:
${ONEBLOG_APP_ENABLE_PRINT_CONFIG:false}
...
...
docs/docker/.env
浏览文件 @
7dfe3072
...
...
@@ -37,6 +37,10 @@ ONEBLOG_MAIL_PASSWORD=
# oneblog 自定义配置
# 是否启用 kaptcha 验证码
ONEBLOG_APP_ENABLE_KAPTCHA=false
# 是否启用自动校验友情链接的功能
# 请选择打开,一旦打开,每晚凌晨12点会自动检查友联,对于不包含本站链接的网站实行自动封禁
# 目前暂时没实现白名单的功能
ONEBLOG_APP_ENABLE_CHECK_LINK=false
# 启用后,项目在启动时会打印数据库(Mysql和Redis)链接信息(包含密码)
ONEBLOG_APP_ENABLE_PRINT_CONFIG=true
# 是否启用 redis 切面缓存。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录