drasyl

drasyl-java is a high-performance framework for rapid development of distributed applications

https://github.com/drasyl/drasyl

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 6 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords

distributed drasyl netty networking nio non-blocking p2p

Keywords from Contributors

hack sequences embedded knowledge-graph clade interactive ranking pentest yolov5 annotation
Last synced: 6 months ago · JSON representation ·

Repository

drasyl-java is a high-performance framework for rapid development of distributed applications

Basic Info
  • Host: GitHub
  • Owner: drasyl
  • License: mit
  • Language: Java
  • Default Branch: master
  • Homepage: https://drasyl.org
  • Size: 56.9 MB
Statistics
  • Stars: 34
  • Watchers: 3
  • Forks: 3
  • Open Issues: 11
  • Releases: 16
Topics
distributed drasyl netty networking nio non-blocking p2p
Created over 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

drasyl

Website | Documentation | Javadoc | Contributing | Changelog

Test MIT License Maven Central Homebrew Chocolatey Python Package Index Docker Pulls Discord

drasyl-java

drasyl-java [dʁazy:l] is a high-performance framework for rapid development of distributed applications.

drasyl enables quick and easy development of high-performance distributed applications. Driven by a secure and low-latency overlay network protocol, drasyl provides any-to-any connectivity between all Internet-enabled devices.

To prevent developers from reinventing the wheel, drasyl-java provides extensions that address common challenges for distributed systems like identity/key management, resource discovery, and locality-aware message routing. By using drasyl-java, developers are unburdened of many usual tasks and can proceed directly with building their distributed application.

drasyl architecture

Features

  • Any-to-any connectivity between all Internet-enabled devices.
  • Locality-aware message routing.
  • Middlebox traversal (like firewalls or network address translators).
  • Driven by a secure & low-latency overlay network protocol.
  • Cryptographic identity & key management.
  • Rich set of extensions for perfect forward secrecy communication, service & resource discovery, reliable transport, error control, traffic shaping, etc.

Usage & Documentation

License

This is free software under the terms of the MIT License.

Owner

  • Name: drasyl
  • Login: drasyl
  • Kind: organization
  • Email: info@drasyl.org
  • Location: Hamburg, Germany

high-performance framework for rapid development of distributed applications

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: drasyl
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Heiko
    family-names: Bornholdt
    orcid: 'https://orcid.org/0000-0003-0013-7966'
    affiliation: Universität Hamburg
    email: heiko.bornholdt@uni-hamburg.de
  - given-names: Kevin
    family-names: Röbert
    email: kevin.roebert@uni-hamburg.de
    affiliation: Universität Hamburg
    orcid: 'https://orcid.org/0009-0006-5377-6541'
repository-code: 'https://github.com/drasyl/drasyl'
url: 'https://drasyl.org'
abstract: >-
  drasyl enables quick and easy development of
  high-performance distributed applications. Driven by a
  secure and low-latency overlay network protocol, drasyl
  provides any-to-any connectivity between all
  Internet-enabled devices.
keywords:
  - networking
  - netty
  - distributed
  - nio
  - non-blocking
license: MIT
version: 0.12.1
date-released: '2025-06-11'

GitHub Events

Total
  • Create event: 137
  • Release event: 3
  • Issues event: 10
  • Watch event: 3
  • Delete event: 147
  • Issue comment event: 203
  • Push event: 359
  • Pull request event: 260
  • Fork event: 2
Last Year
  • Create event: 137
  • Release event: 3
  • Issues event: 10
  • Watch event: 3
  • Delete event: 147
  • Issue comment event: 203
  • Push event: 359
  • Pull request event: 260
  • Fork event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 3,860
  • Total Committers: 6
  • Avg Commits per committer: 643.333
  • Development Distribution Score (DDS): 0.269
Past Year
  • Commits: 233
  • Committers: 3
  • Avg Commits per committer: 77.667
  • Development Distribution Score (DDS): 0.378
Top Committers
Name Email Commits
Heiko Bornholdt b****t@i****e 2,822
dependabot[bot] 4****] 535
Kevin Röbert k****t@u****e 498
snyk-bot s****t@s****o 3
drasyl-bot d****t 1
ImgBotApp I****p@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 19
  • Total pull requests: 941
  • Average time to close issues: 6 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 0.84
  • Average comments per pull request: 1.07
  • Merged pull requests: 793
  • Bot issues: 4
  • Bot pull requests: 727
Past Year
  • Issues: 8
  • Pull requests: 386
  • Average time to close issues: 1 day
  • Average time to close pull requests: 8 days
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.25
  • Average comments per pull request: 0.94
  • Merged pull requests: 306
  • Bot issues: 2
  • Bot pull requests: 274
Top Authors
Issue Authors
  • HeikoBornholdt (13)
  • dependabot[bot] (4)
  • KevinRoebert (2)
Pull Request Authors
  • dependabot[bot] (728)
  • HeikoBornholdt (209)
  • KevinRoebert (5)
Top Labels
Issue Labels
bug (4) dependencies (4) java (4) enhancement (2) performance (2) wontfix (1) native (1)
Pull Request Labels
dependencies (725) java (645) github_actions (80) feature (1) enhancement (1) performance (1) bug (1)

Packages

  • Total packages: 12
  • Total downloads:
    • pypi 254 last-month
  • Total dependent packages: 24
    (may contain duplicates)
  • Total dependent repositories: 6
    (may contain duplicates)
  • Total versions: 141
  • Total maintainers: 1
pypi.org: drasyl

drasyl is a general-purpose overlay network framework for rapid development of distributed P2P applications

  • Homepage: https://drasyl.org
  • Documentation: https://docs.drasyl.org/
  • License: Copyright (c) 2020-2022 Heiko Bornholdt and Kevin Röbert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 0.12.0
    published 9 months ago
  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 254 Last month
Rankings
Dependent packages count: 6.6%
Downloads: 10.2%
Stargazers count: 15.3%
Average: 16.4%
Forks count: 19.6%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-cli

A collection of utilities for drasyl.

  • Versions: 15
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent packages count: 22.4%
Average: 27.2%
Dependent repos count: 32.0%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-node

This module provides the easy-to-use zero-configuration DrasylNode interface.

  • Versions: 8
  • Dependent Packages: 6
  • Dependent Repositories: 3
Rankings
Dependent packages count: 9.7%
Dependent repos count: 13.8%
Average: 28.1%
Stargazers count: 40.6%
Forks count: 48.3%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-core

This module provides mandatory classes for drasyl.

  • Versions: 15
  • Dependent Packages: 9
  • Dependent Repositories: 1
Rankings
Dependent packages count: 6.7%
Dependent repos count: 20.8%
Average: 29.1%
Stargazers count: 40.6%
Forks count: 48.3%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-plugin-groups-client

Groups membership management client plugin for DrasylNode.

  • Versions: 13
  • Dependent Packages: 3
  • Dependent Repositories: 1
Rankings
Dependent packages count: 17.6%
Dependent repos count: 20.8%
Average: 31.8%
Stargazers count: 40.6%
Forks count: 48.3%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-plugin-groups-manager

Groups membership management manager plugin for DrasylNode.

  • Versions: 13
  • Dependent Packages: 3
  • Dependent Repositories: 1
Rankings
Dependent packages count: 17.6%
Dependent repos count: 20.8%
Average: 31.8%
Stargazers count: 40.6%
Forks count: 48.3%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-extras

This module provides optional classes for drasyl.

  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Stargazers count: 30.9%
Dependent repos count: 32.0%
Forks count: 36.0%
Average: 36.9%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-integration-tests

This module provides integration tests for drasyl.

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Stargazers count: 32.1%
Forks count: 36.0%
Average: 37.2%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-examples

This module provides examples for drasyl.

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Average: 40.4%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-parent

drasyl enables quick and easy development of high-performance distributed applications. Driven by a secure and low-latency overlay network protocol, drasyl provides any-to-any connectivity between all Internet-enabled devices.

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Average: 40.4%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-all

drasyl enables quick and easy development of high-performance distributed applications. Driven by a secure and low-latency overlay network protocol, drasyl provides any-to-any connectivity between all Internet-enabled devices.

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Average: 40.4%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: org.drasyl:drasyl-performance-tests

This module provides performance tests for drasyl.

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Average: 40.4%
Dependent packages count: 48.9%
Last synced: 6 months ago

Dependencies

.github/workflows/build-cli-pr.yml actions
  • actions/checkout v4.0.0 composite
  • actions/setup-java v3.13.0 composite
  • actions/upload-artifact v3 composite
  • graalvm/setup-graalvm v1 composite
  • ilammy/msvc-dev-cmd v1.12.1 composite
  • microsoft/setup-msbuild v1 composite
.github/workflows/build-cli.yml actions
  • actions/checkout v4.0.0 composite
  • actions/setup-java v3.13.0 composite
  • actions/upload-artifact v3 composite
  • graalvm/setup-graalvm v1 composite
  • ilammy/msvc-dev-cmd v1.12.1 composite
  • microsoft/setup-msbuild v1 composite
.github/workflows/build-shared-library-pr.yml actions
  • actions/checkout v4.0.0 composite
  • actions/download-artifact v3 composite
  • actions/setup-java v3.13.0 composite
  • actions/setup-python v4.7.0 composite
  • actions/upload-artifact v3 composite
  • graalvm/setup-graalvm v1 composite
  • ilammy/msvc-dev-cmd v1.12.1 composite
  • microsoft/setup-msbuild v1 composite
.github/workflows/build-shared-library.yml actions
  • actions/checkout v4.0.0 composite
  • actions/download-artifact v3 composite
  • actions/setup-java v3.13.0 composite
  • actions/setup-python v4.7.0 composite
  • actions/upload-artifact v3 composite
  • graalvm/setup-graalvm v1 composite
  • ilammy/msvc-dev-cmd v1.12.1 composite
  • microsoft/setup-msbuild v1 composite
.github/workflows/deploy-api.yml actions
  • actions/checkout v4.0.0 composite
  • actions/download-artifact v3 composite
  • actions/setup-java v3.13.0 composite
  • actions/upload-artifact v3 composite
  • stefanzweifel/git-auto-commit-action v4.16.0 composite
.github/workflows/deploy.yml actions
  • actions/checkout v4.0.0 composite
  • actions/setup-java v3.13.0 composite
.github/workflows/docker.yml actions
  • actions/checkout v4.0.0 composite
  • actions/setup-java v3.13.0 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/setup-buildx-action v3 composite
  • docker/setup-qemu-action v3 composite
.github/workflows/release.yml actions
  • actions/checkout v4.0.0 composite
  • actions/download-artifact v3 composite
  • actions/setup-java v3.13.0 composite
  • actions/setup-python v4.7.0 composite
  • actions/upload-artifact v3 composite
  • graalvm/setup-graalvm v1 composite
  • ilammy/msvc-dev-cmd v1.12.1 composite
  • ilteoood/docker_buildx 1.1.0 composite
  • microsoft/setup-msbuild v1 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • softprops/action-gh-release v1 composite
  • stefanzweifel/git-auto-commit-action v4.16.0 composite
.github/workflows/sonar.yml actions
  • actions/cache v3 composite
  • actions/checkout v4.0.0 composite
  • actions/setup-java v3.13.0 composite
.github/workflows/test.yml actions
  • actions/checkout v4.0.0 composite
  • actions/setup-java v3.13.0 composite
Dockerfile docker
  • crazymax/7zip latest build
  • eclipse-temurin 11-jdk build
  • eclipse-temurin 11-jre build
docker-compose.yml docker
  • drasyl/drasyl latest
drasyl-all/pom.xml maven
  • ${project.groupId}:drasyl-cli ${project.version}
  • ${project.groupId}:drasyl-core ${project.version}
  • ${project.groupId}:drasyl-node ${project.version}
  • ${project.groupId}:drasyl-plugin-groups-client ${project.version}
  • ${project.groupId}:drasyl-plugin-groups-manager ${project.version}
drasyl-cli/pom.xml maven
  • org.drasyl:drasyl-plugin-groups-manager 0.11.0-SNAPSHOT compile
  • ch.qos.logback:logback-classic
  • info.picocli:picocli 4.7.5
  • io.netty:netty-codec-http ${netty.version}
  • me.tongfei:progressbar 0.10.0
  • org.awaitility:awaitility
  • org.drasyl:netty-tun 1.2.2
  • org.drasyl:drasyl-core 0.11.0-SNAPSHOT test
  • org.drasyl:drasyl-node 0.11.0-SNAPSHOT test
drasyl-core/pom.xml maven
  • com.google.auto.value:auto-value-annotations
  • io.netty:netty-buffer
  • io.netty:netty-handler
  • io.netty:netty-transport
  • io.netty:netty-transport-native-epoll
  • io.netty:netty-transport-native-kqueue
  • net.java.dev.jna:jna
  • org.awaitility:awaitility
  • org.junit.jupiter:junit-jupiter
  • org.slf4j:slf4j-api
  • ch.qos.logback:logback-classic test
drasyl-examples/pom.xml maven
  • ${project.groupId}:drasyl-plugin-groups-manager ${project.version} compile
  • ch.qos.logback:logback-classic
  • com.fasterxml.jackson.core:jackson-databind
  • com.fasterxml.jackson.dataformat:jackson-dataformat-cbor
drasyl-extras/pom.xml maven
  • ${project.groupId}:drasyl-core ${project.version} compile
  • com.fasterxml.jackson.core:jackson-databind
  • com.fasterxml.jackson.dataformat:jackson-dataformat-cbor
  • com.google.auto.value:auto-value-annotations
  • org.awaitility:awaitility
  • org.junit.jupiter:junit-jupiter
  • ${project.groupId}:drasyl-core ${project.version} test
drasyl-integration-tests/pom.xml maven
  • net.javacrumbs.json-unit:json-unit-assertj
  • org.awaitility:awaitility
  • org.junit.jupiter:junit-jupiter
  • ${project.groupId}:drasyl-cli ${project.version} test
  • ${project.groupId}:drasyl-core ${project.version} test
  • ${project.groupId}:drasyl-node ${project.version} test
  • com.fasterxml.jackson.dataformat:jackson-dataformat-cbor test
drasyl-node/pom.xml maven
  • ${project.groupId}:drasyl-core ${project.version} compile
  • ${project.groupId}:drasyl-extras ${project.version} compile
  • com.fasterxml.jackson.core:jackson-databind
  • com.google.auto.value:auto-value-annotations
  • com.google.protobuf:protobuf-java
  • com.typesafe:config
  • io.github.classgraph:classgraph
  • net.javacrumbs.json-unit:json-unit-assertj
  • ${project.groupId}:drasyl-core ${project.version} test
drasyl-performance-tests/pom.xml maven
  • org.awaitility:awaitility
  • org.drasyl:drasyl-node 0.11.0-SNAPSHOT
  • ch.qos.logback:logback-classic test
  • com.google.guava:guava 32.1.2-jre test
  • org.drasyl:drasyl-core 0.11.0-SNAPSHOT test
  • org.openjdk.jmh:jmh-core 1.37 test
  • org.openjdk.jmh:jmh-generator-annprocess 1.37 test
drasyl-plugin-groups-client/pom.xml maven
  • ${project.groupId}:drasyl-node ${project.version} compile
  • com.google.auto.value:auto-value-annotations
  • net.javacrumbs.json-unit:json-unit-assertj
  • org.awaitility:awaitility
  • org.junit.jupiter:junit-jupiter
  • ${project.groupId}:drasyl-core ${project.version} test
drasyl-plugin-groups-manager/pom.xml maven
  • org.drasyl:drasyl-plugin-groups-client 0.11.0-SNAPSHOT compile
  • com.sparkjava:spark-core 2.9.4
  • net.javacrumbs.json-unit:json-unit-assertj
  • org.awaitility:awaitility
  • org.junit.jupiter:junit-jupiter
  • org.xerial:sqlite-jdbc 3.43.0.0
  • ch.qos.logback:logback-classic test
  • org.drasyl:drasyl-core 0.11.0-SNAPSHOT test
drasyl-shared-library/pom.xml maven
  • org.drasyl:drasyl-node 0.11.0-SNAPSHOT compile
  • org.graalvm.sdk:graal-sdk 23.1.0 compile
pom.xml maven
  • com.google.auto.value:auto-value-annotations 1.10.4 provided
  • ch.qos.logback:logback-classic 1.4.11
  • com.fasterxml.jackson.core:jackson-databind 2.15.2
  • com.fasterxml.jackson.dataformat:jackson-dataformat-cbor 2.15.2
  • com.google.protobuf:protobuf-java 3.24.3
  • com.typesafe:config 1.4.2
  • io.github.classgraph:classgraph 4.8.162
  • io.netty:netty-buffer 4.1.98.Final
  • io.netty:netty-handler 4.1.98.Final
  • io.netty:netty-transport 4.1.98.Final
  • io.netty:netty-transport-native-epoll 4.1.98.Final
  • io.netty:netty-transport-native-kqueue 4.1.98.Final
  • net.java.dev.jna:jna 5.13.0
  • org.hamcrest:hamcrest
  • org.junit.jupiter:junit-jupiter-api
  • org.junit.jupiter:junit-jupiter-engine
  • org.junit.jupiter:junit-jupiter-params
  • org.mockito:mockito-core
  • org.mockito:mockito-junit-jupiter
  • org.slf4j:slf4j-api 2.0.9
  • net.javacrumbs.json-unit:json-unit-assertj 2.38.0 test
  • org.awaitility:awaitility 4.2.0 test
  • org.hamcrest:hamcrest 2.2 test
  • org.junit.jupiter:junit-jupiter 5.10.0 test
  • org.junit.jupiter:junit-jupiter-api 5.10.0 test
  • org.junit.jupiter:junit-jupiter-engine 5.10.0 test
  • org.junit.jupiter:junit-jupiter-params 5.10.0 test
  • org.mockito:mockito-core 4.11.0 test
  • org.mockito:mockito-junit-jupiter 4.11.0 test
drasyl-shared-library/pypi/pyproject.toml pypi
drasyl-shared-library/pypi/setup.py pypi