mirror of
https://github.com/tuxdotrs/trok.git
synced 2026-02-04 05:46:47 +05:30
f586506180cbe16dafeb286ff766715f68851a5b
trok
Accessing your local service should be simple
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.
Languages
Go
42.8%
TypeScript
35.4%
Nix
12.5%
HTML
5.3%
Shell
2.7%
Other
1.3%