Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<modules>
<module>./wifesays</module>
<module>./server/</module>

<module>server</module>
</modules>
</project>
1 change: 1 addition & 0 deletions server/InstallPackageSample/192.168.88.64/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ʹ�� Prunsrv.exe 64bit ע��Ϊwindows service
26 changes: 26 additions & 0 deletions server/InstallPackageSample/192.168.88.64/install.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
SET PR_PATH=%CD%

SET PR_EXE=prunsrv.exe

SET PR_SERVICE_NAME=blackHoleDNS

SET PR_DISPLAY_NAME=blackHoleDNS

SET PR_DESCRIPTION="blackHoleDNS for umu360.com"

SET PR_JAR=blackhole-1.2.2.jar

SET START_PATH=%CD%

SET START_CLASS=us.codecraft.blackhole.BlackHole
SET START_METHOD=main
SET STOP_CLASS=java.lang.System
SET STOP_METHOD=exit

SET STOP_PARAMS=0



REM %PR_PATH%\%PR_EXE% //IS//%PR_SERVICE_NAME% --DisplayName="%PR_DISPLAY_NAME%" --Description="%PR_DESCRIPTION%" --Install="%PR_PATH%\%PR_EXE%" --JvmMs=2000 --JvmMx=2000 --JvmSs=1024 ++DependsOn=MSSQLSERVER --Jvm=auto --Startup=auto --StartMode=jvm --StartClass=%START_CLASS% --StartMethod=%START_METHOD% --StopMode=jvm --StopClass=%STOP_CLASS% --StopMethod=%STOP_METHOD% ++StopParams=%STOP_PARAMS% --Classpath="%PR_PATH%\%PR_JAR%"
%PR_PATH%\%PR_EXE% //IS//%PR_SERVICE_NAME% --DisplayName="%PR_DISPLAY_NAME%" --Description=%PR_DESCRIPTION% --Install="%PR_PATH%\%PR_EXE%" --JvmMs=2000 --JvmMx=2000 --JvmSs=1024 --Jvm=auto --Startup=auto --StartMode=jvm --StartClass=%START_CLASS% --StartMethod=%START_METHOD% --StopMode=jvm --StopClass=%STOP_CLASS% --StopMethod=%STOP_METHOD% ++StopParams=%STOP_PARAMS% --Classpath="%PR_PATH%\%PR_JAR%" ++JvmOptions=-Djava.io.tmpdir=%PR_PATH% ++JvmOptions=-Dd=%PR_PATH% --StartPath=%START_PATH% ++StartParams=-d%START_PATH%
%PR_PATH%\%PR_EXE% //ES//%PR_SERVICE_NAME%
Binary file not shown.
10 changes: 10 additions & 0 deletions server/InstallPackageSample/192.168.88.64/run.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
SET PR_PATH=%CD%

SET PR_EXE=prunsrv.exe

SET PR_SERVICE_NAME=blackHoleDNS


REM %PR_PATH%\%PR_EXE% //IS//%PR_SERVICE_NAME% --DisplayName="%PR_DISPLAY_NAME%" --Description="%PR_DESCRIPTION%" --Install="%PR_PATH%\%PR_EXE%" --JvmMs=2000 --JvmMx=2000 --JvmSs=1024 ++DependsOn=MSSQLSERVER --Jvm=auto --Startup=auto --StartMode=jvm --StartClass=%START_CLASS% --StartMethod=%START_METHOD% --StopMode=jvm --StopClass=%STOP_CLASS% --StopMethod=%STOP_METHOD% ++StopParams=%STOP_PARAMS% --Classpath="%PR_PATH%\%PR_JAR%"
%PR_PATH%\%PR_EXE% run %PR_SERVICE_NAME%

8 changes: 8 additions & 0 deletions server/InstallPackageSample/192.168.88.64/uninstall.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SET PR_PATH=%CD%

SET PR_SERVICE_NAME=blackHoleDNS

SET PR_EXE=prunsrv.exe


%PR_PATH%\%PR_EXE% //DS//%PR_SERVICE_NAME%
2 changes: 1 addition & 1 deletion server/config/blackhole.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#######################################important#####################################
#External dns. You can add more reliable dns.
dns=8.8.8.8
dns=192.168.88.62
#Timeout of external dns in millisecond.
dns_timeout=3000

Expand Down
11 changes: 11 additions & 0 deletions server/config/zones
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,14 @@
# 127.0.0.1 flashsword20.*.*
# response all query like "flashsword20.diandian.com" "flashsword20.github.com"
#
192.168.88.90 sso.umu360.com
192.168.88.90 www.umu360.com
192.168.88.91 UIC.umu360.com, uic.umu360.com
192.168.88.91 EP.umu360.com
192.168.88.91 pigrecord.umu360.com
192.168.88.91 Sensor.umu360.com
192.168.88.92 img.umu360.com
192.168.88.92 store.umu360.com
192.168.88.95 backend.umu360.com
192.168.88.94 mysql1.inner.umu360.com
192.168.88.90 redis.inner.umu360.com
19 changes: 18 additions & 1 deletion server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>us.codecraft</groupId>
<artifactId>blackhole</artifactId>
<version>1.2.2</version>
<name>blackhole</name>

<description>A simple DNS authoritative server.It can easily be configured to intercept some kind of request to one address.</description>
<properties>
<spring-version>3.1.1.RELEASE</spring-version>
Expand Down Expand Up @@ -42,6 +42,23 @@
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>


<!-- make up the missing spring framework and commons-cli -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>


<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>


</dependencies>
<build>
<plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ public boolean handle(MessageWrapper request, MessageWrapper response) {
if (type == Type.ANY) {
type = Type.A;
}
if (logger.isDebugEnabled()) {

logger.debug("query \t" + Type.string(type) + "\t"
+ DClass.string(question.getDClass()) + "\t" + query);
}

for (AnswerProvider answerProvider : getaAnswerProviders()) {
String answer = answerProvider.getAnswer(query, type);
if (answer != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,15 @@ public void setDomainTexts(Map<String, String> domainTexts) {
}

public String getIp(String domain) {
//add by Rock
System.out.println("convert domain to lowercase");
domain = domain != null? domain.toLowerCase(): "";
String ip = domainTexts.get(domain);
if (ip != null) {
return ip;
}
for (Map.Entry<Pattern, String> entry : domainPatterns.entrySet()) {
//entry.getKey().
Matcher matcher = entry.getKey().matcher(domain);
if (matcher.find()) {
return entry.getValue();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,15 @@ public void setTimeout(int timeout) {
}

public List<SocketAddress> getAllAvaliableHosts(String domain) {
String ip = domainPatternsContainer.getIp(domain);
if (ip != null) {
List<SocketAddress> socketAddresses = new ArrayList<SocketAddress>();
socketAddresses.add(new InetSocketAddress(ip, 53));
return socketAddresses;
if(domainPatternsContainer == null)
logger.warn("domainPatternsContainer is null!");
else {
String ip = domainPatternsContainer.getIp(domain);
if (ip != null) {
List<SocketAddress> socketAddresses = new ArrayList<SocketAddress>();
socketAddresses.add(new InetSocketAddress(ip, 53));
return socketAddresses;
}
}
List<SocketAddress> results = new ArrayList<SocketAddress>();
Iterator<Entry<SocketAddress, Integer>> iterator = requestTimes.entrySet().iterator();
Expand All @@ -69,4 +73,6 @@ public List<SocketAddress> getAllAvaliableHosts(String domain) {
public void setDomainPatternsContainer(DomainPatternsContainer domainPatternsContainer) {
this.domainPatternsContainer = domainPatternsContainer;
}


}
24 changes: 22 additions & 2 deletions server/src/main/resources/log4j.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,17 @@
<param name="ConversionPattern" value="%d{yy-MM-dd HH:mm:ss,SSS} %-5p %c(%F:%L) ## %m%n" />
</layout>
</appender>


<appender name="rollingFile" class="org.apache.log4j.RollingFileAppender" >
<param name="File" value="log/blackhole.log" /><!-- 设置日志输出文件名 -->
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />

<param name="MaxBackupIndex" value="3" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yy-MM-dd HH:mm:ss,SSS} %-5p %c(%F:%L) ## %m%n" />
</layout>
</appender>
<logger name="org.springframework" additivity="false">
<level value="warn" />
<appender-ref ref="stdout" />
Expand All @@ -17,10 +27,20 @@
<level value="warn" />
<appender-ref ref="stdout" />
</logger>

<logger name="us.codecraft" additivity="false">
<level value="debug" />
<appender-ref ref="stdout" />
<appender-ref ref="rollingFile" />
</logger>



<root>
<level value="info" />
<level value="debug" />
<appender-ref ref="stdout" />
<appender-ref ref="rollingFile" />

</root>

</log4j:configuration>