{"id":13622609,"url":"https://github.com/code4craft/blackhole","last_synced_at":"2025-09-11T17:06:55.842Z","repository":{"id":5939066,"uuid":"7159449","full_name":"code4craft/blackhole","owner":"code4craft","description":"A simple unrecursive DNS server. It can easily be configured to intercept some kind of request to one address.","archived":false,"fork":false,"pushed_at":"2018-08-28T07:10:29.000Z","size":16281,"stargazers_count":242,"open_issues_count":6,"forks_count":108,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-04-02T11:59:37.588Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code4craft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-14T03:26:30.000Z","updated_at":"2025-03-23T17:59:27.000Z","dependencies_parsed_at":"2022-09-11T08:22:43.337Z","dependency_job_id":null,"html_url":"https://github.com/code4craft/blackhole","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4craft%2Fblackhole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4craft%2Fblackhole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4craft%2Fblackhole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4craft%2Fblackhole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code4craft","download_url":"https://codeload.github.com/code4craft/blackhole/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248075991,"owners_count":21043682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:01:21.583Z","updated_at":"2025-04-09T17:25:49.597Z","avatar_url":"https://github.com/code4craft.png","language":"Java","readme":"BlackHole\n=========\n\n### 1. 简介\n\nBlackHole是一个Java编写的DNS服务器，它可以进行DNS缓存，也支持自定义域名配置，并可以防止DNS污染。比起老牌的DNS软件pdnsd、BIND，BlackHole功能比较简单，但是更容易使用，性能也更好。\n\nBlackHole还包含一个Web管理模块[**Hostd**](https://github.com/code4craft/hostd)，可以让每个用户管理自己的域名配置，并且彼此之间不冲突。\n\n### 2. 用途\n\n#### DNS缓存\n\nBlackHole具有DNS缓存以及持久化的功能，可以作为一个DNS缓存服务器使用，以加速DNS访问。\n\nBlackHole缓存性能优秀，可以支持每秒50000次随机查询，平均响应时间0.3ms，高于pdnsd及BIND([测试报告](https://github.com/code4craft/blackhole/blob/master/server/benchmark-other-dns-server))。\n\n#### hosts风格自定义域名\n\nBlackHole也支持修改域名配置，配置域名的方式非常简单，与hosts文件一致，并且支持通配符(目前仅支持A记录)。\n\n例如：\n\n\t127.0.0.1\t*.codecraft.us\n\t\n表示将所有以.codecraft.us形式结尾的域名全部指向127.0.0.1。\n\n#### 防止DNS污染\n\nBlackHole还可以通过UDP特征判断的方式防止DNS污染攻击，对于某些无法访问的网站可以起到作用。BlackHole防止DNS的方式参见：[http://code4craft.github.com/blog/2013/02/25/blackhole-anti-dns-poison/](http://code4craft.github.com/blog/2013/02/25/blackhole-anti-dns-poison/)\n\n\n### 3. 安装及配置\n\n你使用自动脚本进行安装BlackHole：\n\n\tcurl http://code4craft.github.io/blackhole/install.sh | [sudo] sh\n\nBlackHole的另一个编译后版本保存在[https://github.com/code4craft/blackhole-bin](https://github.com/code4craft/blackhole-bin)，如果以上脚本对你所在环境不可用，那么可以clone这个项目到某一目录。\n\n\tgit clone https://github.com/code4craft/blackhole-bin.git /usr/local/blackhole\n\t\n通过sudo /usr/local/blackhole/blackhole.sh start可以启动BlackHole。\n\nWindows系统可将文件保存到任意目录，并运行start.bat(Win7下无需用管理员权限启动)，若弹出终端界面并且持续运行，则启动成功。\n\n各种问题解决、具体的设置以及技术细节请看[Blackhole Server Docs](https://github.com/code4craft/blackhole/blob/master/server/README.md)。\n\n### 4. 协议\n\nBlackHole的连接部分参考了EagleDNS的代码，遵守LGPLv3协议。\n\n作者邮箱：\ncode4crafter@gmail.com\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/code4craft/blackhole/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n\n","funding_links":[],"categories":["Java","网络编程"],"sub_categories":["Spring Cloud框架"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode4craft%2Fblackhole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode4craft%2Fblackhole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode4craft%2Fblackhole/lists"}