Skip to content

Repository files navigation

trok

Accessing your local service should be simple

wakatime home GitHub repo size GitHub commit activity

Table of Contents

Features

  • TCP Tunneling
  • UDP Tunneling (planned)
  • HTTP Tunneling
  • HTTPS Tunneling (planned)

Installation

curl -fsSL https://trok.cloud/install.sh | sh

Nix

# If you want to quickly test trok
nix run github:tuxdotrs/trok

Flake

# Add to your flake inputs
trok = {
  url = "github:tuxdotrs/trok";
  inputs.nixpkgs.follows = "nixpkgs";
};

# Add this in your nixos config
environment.systemPackages = [ inputs.trok.packages.${system}.default ];

Usage

Start a TCP tunnel:

trok tcp PORT_NUMBER

Example:

trok tcp 3000

Selfhosted Server:

trok tcp 3000 -s SERVER_URL

This will expose your local service running on port 3000 to a public endpoint via the trok server.

Selfhost

You can host your own trok server with NixOS:

# Add to your flake inputs
trok = {
  url = "github:tuxdotrs/trok";
  inputs.nixpkgs.follows = "nixpkgs";
};

# Add this in your nixos config
{inputs, ...}: {
  imports = [
    inputs.trok.nixosModules.default
  ];

  tux.services.trok = {
    enable = true;
    host = "0.0.0.0";
    port = 1337;
    openFirewall = true;
    user = "trok";
    group = "trok";
  };
}

Once deployed, your trok server will be ready to handle tunneling requests from clients.

About

Accessing your local service should be simple

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages