8 unstable releases (3 breaking)

Uses new Rust 2024

new 0.4.1 May 3, 2025
0.4.0 May 2, 2025
0.3.2 Apr 20, 2025
0.2.1 Apr 11, 2025
0.1.0 Apr 10, 2025

#158 in Network programming

Download history 294/week @ 2025-04-06 218/week @ 2025-04-13 295/week @ 2025-04-20 73/week @ 2025-04-27

880 downloads per month

MIT license

145KB
3K SLoC

Netter

Netter is a tool for quickly and easily launching servers.

Table of Contents

Future

  • Desktop client (UI);
  • Support for other server types (besides HTTP/HTTPS): WebSocket, gRPC, TCP/UDP sockets;
  • Ability to integrate Rust plugins into RDL.

Features

  • Custom Route Definition Language (.rd) (hereinafter - RDL) - a config describing possible routes and the logic for handling requests to these routes;
  • Error handling in RDL;
  • TLS support;
  • Own daemon/service (depending on the OS);

Documentation

Install

To install the daemon or service, use the install command:

netter install

[!WARN] The service executable (netter_service) must be in the same directory as the CLI.

Service-Start

To start the service or daemon, use the service-start command:

netter service-start

Service-Stop

To stop the service or daemon, use the service-stop command:

netter service-stop

Service-Status

To get the status of the service or daemon, use the service-status command:

netter service-status

Uninstall

To remove the service or daemon, use the uninstall command:

netter uninstall

Ping

To check the connection with the service, use the ping command:

netter ping

List

To get a list of running servers (including IDs), use the list command:

netter list

Start

Start a server using the start command and the --config flag, which takes the path to the .rd server configuration file:

netter start --config path/to/file.rd

Stop

Stop a server using the stop command and the -i (or --id) flag, which takes the server ID:

netter stop -i id

Route Definition Language Documentation

Installation

Windows

Installation from Release Assets:

  • Download the archive for Windows;
  • Unpack it in a convenient location;
  • Navigate to the directory where you unpacked the archive;
  • Run the command ./netter install;
  • If the previous step was successful, run the command netter service-start;
  • Enjoy!

Building from Source Code:

Prerequisites: Rust must be installed on your device. You can download it either from the official website or using install_rust.bat

  • Clone the project: git clone https://github.com/bjfssd757/netter;
  • Navigate to the project directory;
  • Run the following commands:
cargo build --release; cargo build --release -p netter_service; cd target/release

[!INFO] cargo build --release will create the CLI executable netter in target/release; cargo build --release -p netter_service will create the service executable netter_service in target/release

  • After executing these commands, you will be in the build directory (target/release). Execute the following commands:
./netter install; ./netter service-start
  • These commands will create and start the NetterService service. To check the CLI connection with the service: ./netter ping
  • Optional: Add the path to netter.exe to your PATH environment variable.

Linux

Installation from Release Assets:

  • Download the archive for Linux;
  • Unpack it in a convenient location;
  • Navigate to the directory where you unpacked the archive;
  • Run the command ./netter install;
  • If the previous step was successful, run the command netter service-start;
  • Enjoy!

Building from Source Code:

Prerequisites: Rust must be installed on your device. You can download it either from the official website or using install_rust.sh

  • Clone the project: git clone https://github.com/bjfssd757/netter;
  • Navigate to the project directory;
  • Run the following commands:
cargo build --release; cargo build --release -p netter_service; cd target/release

[!INFO] cargo build --release will create the CLI executable netter in target/release; cargo build --release -p netter_service will create the daemon executable netter_service in target/release

  • After executing these commands, you will be in the build directory (target/release). Execute the following commands:
./netter install; ./netter service-start
  • These commands will create and start the daemon. To check the CLI connection with the daemon: ./netter ping
  • Optional: Add the path to the netter executable to your PATH environment variable.

Dependencies

~22–33MB
~571K SLoC