A large project contains thousands of lines of code, which has been continuously modified and improved by different developers, and few people can master all the code, and if we want to know which code uses insecure methods or has sensitive information, it often takes a lot of time and effort to find, and Kooder was born in this context, which provides a simple and convenient code search service for hosting projects on Gitee/GitLab/Gitea.
UI:
Installation and use:
depend
openjdk >= 8maven > 3
Download the code
$ git clone https://gitee.com/koode/kooder.git$ cd kooder
Modify the configuration file kooder.properties
1. Configure the HTTP service
http.url //Kooder, which is the link address used to inject the webhook into the Git service, must be accessible to the Git service, for example: http.url <kooder-host>= http:// :8080http.port //The HTTP port on which Kooder runs
2. Configure the GitLab service address
Kooder currently supports Gitee, GitLab, and Gitea, and other services are in development. gitlab.url //Access the home page of GitLab gitlab.personal_access_token //Personal Access token of the root of the Gitlab administrator account
3. Build and run
### Add permission to execute script$ chmod +x bin/*.sh### Start gateway$ bin/gateway.sh### Browser access http://localhost:8080
Architecture:
The Kooder service consists of two modules, gateway and indexer (the indexer is integrated into the gateway by default). The gateway is used to accept the index task from HTTP, check the task and store it in the queue. At the same time, the gateway also accepts the search request and returns the search results to the client. The indexer process, on the other hand, monitors the indexing tasks in the queue and updates them to the index repository for adding, deleting, and modifying indexes.
Data Flow Diagram: