├── .github └── workflows │ └── auto-build.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── config.properties ├── dht-common ├── pom.xml └── src │ └── main │ ├── java │ └── me │ │ └── zpq │ │ └── dht │ │ └── common │ │ ├── MemoryQueue.java │ │ ├── PeerNode.java │ │ └── Utils.java │ └── resources │ └── logback.xml ├── dht-elasticsearch.env ├── dht-elasticsearch ├── Dockerfile ├── pom.xml └── src │ └── main │ └── java │ └── me │ └── zpq │ └── elasticsearch │ ├── ElasticSearchApplication.java │ ├── ElasticSearchService.java │ └── Metadata.java ├── dht-krpc ├── pom.xml └── src │ └── main │ └── java │ └── me │ └── zpq │ └── krpc │ ├── KrpcConstant.java │ └── KrpcProtocol.java ├── dht-mongo.env ├── dht-routing-table ├── pom.xml └── src │ └── main │ └── java │ └── me │ └── zpq │ └── route │ ├── IRoutingTable.java │ ├── NodeTable.java │ └── RoutingTable.java ├── dht-server ├── Dockerfile ├── pom.xml └── src │ ├── main │ └── java │ │ └── me │ │ └── zpq │ │ └── server │ │ ├── BootstrapAddress.java │ │ ├── DHTRequest.java │ │ ├── DHTRequestDecoder.java │ │ ├── DHTResponse.java │ │ ├── DHTResponseEncoder.java │ │ ├── DHTServerHandler.java │ │ ├── MemoryQueueImpl.java │ │ ├── ServerApplication.java │ │ ├── peer │ │ ├── BaseMetaInfo.java │ │ ├── Initializer.java │ │ ├── JsonMetaInfoImpl.java │ │ ├── MetadataConstant.java │ │ ├── MongoMetaInfoImpl.java │ │ ├── Peer.java │ │ ├── coder │ │ │ ├── ExtMessageDecoder.java │ │ │ ├── ExtMessageEncoder.java │ │ │ ├── HandshakeDecoder.java │ │ │ └── HandshakeEncoder.java │ │ ├── handle │ │ │ ├── ExtHandshakeHandle.java │ │ │ ├── HandshakeHandle.java │ │ │ └── MetadataHandle.java │ │ └── message │ │ │ ├── ExtendedMessage.java │ │ │ └── HandshakeMessage.java │ │ └── schedule │ │ ├── FindNode.java │ │ ├── Ping.java │ │ └── RemoveNode.java │ └── test │ └── java │ └── me │ └── zpq │ └── server │ └── test │ └── ServerTest.java ├── docker-compose.yml ├── elasticsearch.env ├── example-data.png ├── mapping.json ├── mongo.env ├── pom.xml ├── run.sh ├── secretright.md └── setting.json /.github/workflows/auto-build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/.github/workflows/auto-build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | *.log 3 | *.iml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/README.md -------------------------------------------------------------------------------- /config.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/config.properties -------------------------------------------------------------------------------- /dht-common/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-common/pom.xml -------------------------------------------------------------------------------- /dht-common/src/main/java/me/zpq/dht/common/MemoryQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-common/src/main/java/me/zpq/dht/common/MemoryQueue.java -------------------------------------------------------------------------------- /dht-common/src/main/java/me/zpq/dht/common/PeerNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-common/src/main/java/me/zpq/dht/common/PeerNode.java -------------------------------------------------------------------------------- /dht-common/src/main/java/me/zpq/dht/common/Utils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-common/src/main/java/me/zpq/dht/common/Utils.java -------------------------------------------------------------------------------- /dht-common/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-common/src/main/resources/logback.xml -------------------------------------------------------------------------------- /dht-elasticsearch.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-elasticsearch.env -------------------------------------------------------------------------------- /dht-elasticsearch/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-elasticsearch/Dockerfile -------------------------------------------------------------------------------- /dht-elasticsearch/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-elasticsearch/pom.xml -------------------------------------------------------------------------------- /dht-elasticsearch/src/main/java/me/zpq/elasticsearch/ElasticSearchApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-elasticsearch/src/main/java/me/zpq/elasticsearch/ElasticSearchApplication.java -------------------------------------------------------------------------------- /dht-elasticsearch/src/main/java/me/zpq/elasticsearch/ElasticSearchService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-elasticsearch/src/main/java/me/zpq/elasticsearch/ElasticSearchService.java -------------------------------------------------------------------------------- /dht-elasticsearch/src/main/java/me/zpq/elasticsearch/Metadata.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-elasticsearch/src/main/java/me/zpq/elasticsearch/Metadata.java -------------------------------------------------------------------------------- /dht-krpc/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-krpc/pom.xml -------------------------------------------------------------------------------- /dht-krpc/src/main/java/me/zpq/krpc/KrpcConstant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-krpc/src/main/java/me/zpq/krpc/KrpcConstant.java -------------------------------------------------------------------------------- /dht-krpc/src/main/java/me/zpq/krpc/KrpcProtocol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-krpc/src/main/java/me/zpq/krpc/KrpcProtocol.java -------------------------------------------------------------------------------- /dht-mongo.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-mongo.env -------------------------------------------------------------------------------- /dht-routing-table/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-routing-table/pom.xml -------------------------------------------------------------------------------- /dht-routing-table/src/main/java/me/zpq/route/IRoutingTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-routing-table/src/main/java/me/zpq/route/IRoutingTable.java -------------------------------------------------------------------------------- /dht-routing-table/src/main/java/me/zpq/route/NodeTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-routing-table/src/main/java/me/zpq/route/NodeTable.java -------------------------------------------------------------------------------- /dht-routing-table/src/main/java/me/zpq/route/RoutingTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-routing-table/src/main/java/me/zpq/route/RoutingTable.java -------------------------------------------------------------------------------- /dht-server/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/Dockerfile -------------------------------------------------------------------------------- /dht-server/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/pom.xml -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/BootstrapAddress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/BootstrapAddress.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/DHTRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/DHTRequest.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/DHTRequestDecoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/DHTRequestDecoder.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/DHTResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/DHTResponse.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/DHTResponseEncoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/DHTResponseEncoder.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/DHTServerHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/DHTServerHandler.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/MemoryQueueImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/MemoryQueueImpl.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/ServerApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/ServerApplication.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/BaseMetaInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/BaseMetaInfo.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/Initializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/Initializer.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/JsonMetaInfoImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/JsonMetaInfoImpl.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/MetadataConstant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/MetadataConstant.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/MongoMetaInfoImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/MongoMetaInfoImpl.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/Peer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/Peer.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/coder/ExtMessageDecoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/coder/ExtMessageDecoder.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/coder/ExtMessageEncoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/coder/ExtMessageEncoder.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/coder/HandshakeDecoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/coder/HandshakeDecoder.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/coder/HandshakeEncoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/coder/HandshakeEncoder.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/handle/ExtHandshakeHandle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/handle/ExtHandshakeHandle.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/handle/HandshakeHandle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/handle/HandshakeHandle.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/handle/MetadataHandle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/handle/MetadataHandle.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/message/ExtendedMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/message/ExtendedMessage.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/peer/message/HandshakeMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/peer/message/HandshakeMessage.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/schedule/FindNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/schedule/FindNode.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/schedule/Ping.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/schedule/Ping.java -------------------------------------------------------------------------------- /dht-server/src/main/java/me/zpq/server/schedule/RemoveNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/main/java/me/zpq/server/schedule/RemoveNode.java -------------------------------------------------------------------------------- /dht-server/src/test/java/me/zpq/server/test/ServerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/dht-server/src/test/java/me/zpq/server/test/ServerTest.java -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /elasticsearch.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/elasticsearch.env -------------------------------------------------------------------------------- /example-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/example-data.png -------------------------------------------------------------------------------- /mapping.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/mapping.json -------------------------------------------------------------------------------- /mongo.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/mongo.env -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/pom.xml -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/run.sh -------------------------------------------------------------------------------- /secretright.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/secretright.md -------------------------------------------------------------------------------- /setting.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zpqsunny/dht/HEAD/setting.json --------------------------------------------------------------------------------