org.drasyl

netty channel communicating via TUN devices

https://github.com/drasyl/netty-tun

Science Score: 44.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
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

netty channel communicating via TUN devices

Basic Info
  • Host: GitHub
  • Owner: drasyl
  • License: mit
  • Language: Java
  • Default Branch: master
  • Homepage:
  • Size: 1020 KB
Statistics
  • Stars: 14
  • Watchers: 3
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Created about 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

netty-tun MIT License Maven Central Javadoc

netty channel communicating via TUN devices (tested on macOS, Ubuntu/Linux, and Windows 10/11).

[!IMPORTANT]
If you would like this feature merged into Netty, I would greatly appreciate it if you could leave a :+1: on my pull request. Thank you!

How to use

java EventLoopGroup group = new DefaultEventLoopGroup(1); try { final Bootstrap b = new Bootstrap() .group(group) .channel(TunChannel.class) .handler(...); final Channel ch = b.bind(new TunAddress()).sync().channel(); // send/receive messages of type TunPacket... ch.closeFuture().sync(); } finally { group.shutdownGracefully(); }

IP Address/Netmask

You can now assign an IP address and netmask to the created network interface (you can query the actual interface name by calling Channel#localAddress()):

```bash

macOS

sudo /sbin/ifconfig utun0 add 10.10.10.10 10.10.10.10 sudo /sbin/ifconfig utun0 up sudo /sbin/route add -net 10.10.10.0/24 -iface utun0

Linux

sudo /sbin/ip addr add 10.10.10.10/24 dev utun0 sudo /sbin/ip link set dev utun0 up ```

```powershell

Windows

$InterfaceIndex = Get-NetAdapter -Name utun0 | select ifIndex -expandproperty ifIndex New-NetIPAddress -InterfaceIndex $InterfaceIndex -IPAddress 10.10.10.10 -PrefixLength 24

to allow peers access local services, you may mark the tun network as "private"

Set-NetConnectionProfile -InterfaceIndex $InterfaceIndex -NetworkCategory "Private" ```

MTU

The MTU size of the created network interface is by default 1500 on macOS/Linux and 65535 on Windows.

On macOS/Linux is can be adjusted by passing the channel option TunChannelOption.TUN_MTU to the Bootstrap object.

On Windows you have to use the following command: powershell netsh interface ipv4 set subinterface tun0 mtu=1234 store=active

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: netty-tun
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
repository-code: 'https://github.com/drasyl/netty-tun'
abstract: >-
  netty channel communicating via TUN devices (tested on
  macOS, Ubuntu/Linux, and Windows 10/11).
license: MIT
version: 1.2.2
date-released: '2023-04-25'

GitHub Events

Total
  • Issues event: 3
  • Watch event: 1
  • Delete event: 29
  • Issue comment event: 10
  • Push event: 34
  • Pull request event: 52
  • Fork event: 1
  • Create event: 27
Last Year
  • Issues event: 3
  • Watch event: 1
  • Delete event: 29
  • Issue comment event: 10
  • Push event: 34
  • Pull request event: 52
  • Fork event: 1
  • Create event: 27

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 189
  • Average time to close issues: 11 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 1.33
  • Average comments per pull request: 0.15
  • Merged pull requests: 152
  • Bot issues: 0
  • Bot pull requests: 184
Past Year
  • Issues: 1
  • Pull requests: 57
  • Average time to close issues: 4 days
  • Average time to close pull requests: 11 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.11
  • Merged pull requests: 34
  • Bot issues: 0
  • Bot pull requests: 55
Top Authors
Issue Authors
  • bgmoon (1)
  • dependabot[bot] (1)
  • Alt-er (1)
  • jaspercloud (1)
Pull Request Authors
  • dependabot[bot] (226)
  • HeikoBornholdt (4)
  • KevinRoebert (1)
Top Labels
Issue Labels
dependencies (1) java (1) bug (1)
Pull Request Labels
dependencies (226) java (184) github_actions (42)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 8
repo1.maven.org: org.drasyl:netty-tun

This artifact contains a Channel implementation that can be used to send or receive packets over a TUN interface.

  • Versions: 8
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Dependent repos count: 20.8%
Dependent packages count: 33.0%
Average: 39.7%
Stargazers count: 46.3%
Forks count: 58.6%
Last synced: 6 months ago

Dependencies

pom.xml maven
  • io.netty:netty-transport 4.1.77.Final
  • net.java.dev.jna:jna 5.12.0
  • org.junit.jupiter:junit-jupiter 5.8.2 test
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/deploy.yml actions
  • actions/cache v3.2.3 composite
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
.github/workflows/test.yml actions
  • actions/cache v3.2.3 composite
  • actions/checkout v3 composite
  • actions/setup-java v3 composite