一个大项目包含着成千上万行的代码,经过不同开发人员不断地修改完善,几乎很少有人能掌握所有的代码,如果我们想知道哪些代码使用了不安全的方法或者有敏感信息,往往需要花费大量时间和精力才能找到,Kooder就是在这样一个背景下诞生的,它提供了在Gitee/GitLab/Gitea上托管项目的代码搜索服务,操作简单便捷。
界面UI:
安装使用:
- 依赖
openjdk >= 8maven > 3
- 下载代码
$ git clone https://gitee.com/koode/kooder.git$ cd kooder
- 修改配置文件kooder.properties
1.配置 HTTP 服务
http.url //Kooder 的网址,该地址用于向 Git 服务注入 Webhook 的链接地址, 必须是 Git 服务可访问的地址,例如:http.url = http://<kooder-host>:8080http.port //Kooder 运行的 HTTP 端口
2.配置 GitLab 服务地址
//目前 Kooder 支持 Gitee、GitLab 和 Gitea ,其他服务正在开发中。gitlab.url //访问 GitLab 的首页gitlab.personal_access_token //Gitlab 管理员账号 root 的 Personal Access Token
3.构建运行
### 给执行脚本添加权限$ chmod +x bin/*.sh### 启动 gateway$ bin/gateway.sh### 浏览器访问 http://localhost:8080
架构:
Kooder 服务包含两个模块,分别是 gateway 和 indexer(默认配置下 indexer 被集成到 gateway 中)。 其中 gateway 用来接受来自 HTTP 的索引任务, 对任务进行检查后存放到队列中; 同时 gateway 还接受搜索的请求,并返回搜索结果给客户端。而 indexer 进程负责监控队列中的索引任务, 并将这些要新增、删除和修改索引的任务更新到索引库中。
数据流图: