Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pythops/oryx

πŸ•΅οΈβ€β™‚οΈ TUI for sniffing network traffic using eBPF on Linux
https://github.com/pythops/oryx

bpf ebpf firewall kernel linux network observability ratatui rust security sniffing sysadmin tui

Last synced: 8 days ago
JSON representation

πŸ•΅οΈβ€β™‚οΈ TUI for sniffing network traffic using eBPF on Linux

Awesome Lists containing this project

README

        


TUI for sniffing network traffic using eBPF


## πŸ“Έ Demo

![](https://github.com/user-attachments/assets/e64dc4b6-9143-4b05-b4a8-b5d0455e5d5e)

## ✨ Features

- Real-time traffic inspection and visualization.
- Comprehensive Traffic Statistics.
- Firewall functionalities.
- Fuzzy search.

## πŸ’‘ Prerequisites

A Linux based OS.

> [!NOTE]
> You might need to install [nerdfonts](https://www.nerdfonts.com/) for the icons to be displayed correctly.

## πŸš€ Installation

### πŸ“₯ Binary release

You can download the pre-built binaries from the release page [release page](https://github.com/pythops/oryx/releases)

### 🐧Arch Linux

You can install `oryx` from the [AUR](https://aur.archlinux.org/packages/oryx) with using an [AUR helper](https://wiki.archlinux.org/title/AUR_helpers).

```bash
paru -S oryx
```

### βš’οΈ Build from source

To build `oryx`:

#### 1. Install Rust nightly toolchain

```
rustup toolchain install nightly --component rust-src
```

#### 2. Install [bpf-linker](https://github.com/aya-rs/bpf-linker)

##### For `x86_64`

Simply run the following command:

```
cargo install bpf-linker
```

##### For `arm64`

For Debian based distributions, make sure you have the following dependencies installed:

- `llvm-19`
- `llvm-19-dev`
- `libpolly-19-dev`

then run the following command:

```
cargo install bpf-linker --no-default-features
```

> Check [bpf-linker Installation section](https://github.com/aya-rs/bpf-linker?tab=readme-ov-file#installation) for more infos.

#### 3. Build

```
cargo xtask build --release
```

This will produce an executable file at `target/release/oryx` that you can copy to a directory in your `$PATH`.

## πŸͺ„ Usage

Run the following command to start `oryx`:

```
sudo oryx
```

## ⌨️ Key Bindings

`?`: Show help.

`Tab` or `Shift + Tab`: Switch between different sections.

`j` or `Down` : Scroll down.

`k` or `Up`: Scroll up.

`esc`: Dismiss the different pop-ups and modes.

`q` or `ctrl + c`: Quit the app.

`Space`: Select/Deselect interface or filter.

`f`: Update the applied filters.

`ctrl + r`: Reset the app.

`ctrl + s`: Export the capture to `~/oryx/capture` file.

#### Inspection Section

`i`: Show more infos about the selected packet.

`/`: Start fuzzy search.

#### Firewall Section

`Space`: Toggle firewall rules status.

`n` : Add new firewall rule.

`e`: Edit a firewall rule.

`s`: Save firewall rules to `~/oryx/firewall.json`

`Enter`: Create or Save a firewall rule.

## βš–οΈ License

GPLv3