{"id":19045448,"url":"https://github.com/marirs/traffiq","last_synced_at":"2026-05-10T04:30:17.969Z","repository":{"id":221797313,"uuid":"755411930","full_name":"marirs/traffiq","owner":"marirs","description":"Traffiq is like a netcat which can listen for incoming network traffic from tcp(s)/http(s)/udp/uds. It can also scan or connect like netcat.","archived":false,"fork":false,"pushed_at":"2024-02-14T09:59:13.000Z","size":42331,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-02T08:30:43.425Z","etag":null,"topics":["listener","netcat","netcat-listener","remote-connection","rust","rust-lang","traffiq"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marirs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-10T05:42:15.000Z","updated_at":"2024-02-14T09:59:41.000Z","dependencies_parsed_at":"2024-02-14T10:50:38.115Z","dependency_job_id":null,"html_url":"https://github.com/marirs/traffiq","commit_stats":null,"previous_names":["marirs/traffiq"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marirs%2Ftraffiq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marirs%2Ftraffiq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marirs%2Ftraffiq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marirs%2Ftraffiq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marirs","download_url":"https://codeload.github.com/marirs/traffiq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240102167,"owners_count":19747958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["listener","netcat","netcat-listener","remote-connection","rust","rust-lang","traffiq"],"created_at":"2024-11-08T22:50:14.941Z","updated_at":"2026-05-10T04:30:17.925Z","avatar_url":"https://github.com/marirs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Traffiq\n\n[![Windows](https://github.com/marirs/traffiq/actions/workflows/windows.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/windows.yml)\n[![macOS](https://github.com/marirs/traffiq/actions/workflows/macos.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/macos.yml)\n[![Linux x86_64](https://github.com/marirs/traffiq/actions/workflows/linux_x86-64.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/linux_x86-64.yml)\n[![Linux Arm7](https://github.com/marirs/traffiq/actions/workflows/linux_arm7.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/linux_arm7.yml)\n\nTraffiq is a simple utility which reads and writes data across network connections, using HTTP, TCP or UDP protocol. It is designed to be a reliable \"back-end\" tool that can be used directly or easily driven by other programs and scripts.\n\nA netcat inspired implementation written in Rust. It implements the following features:\n\n- [x] Connect to Remote Host\n- [x] Create a tcp(s)/http(s)/udp/uds server\n- [x] Handle multiple connections to the server\n- [x] Send and receive data from the server\n- [x] Connect to hosts over TLS\n- [x] Reverse shell to execute code on remote hosts.\n\n### Requirements\n\n- Rust v1.75+\n\n### Usage\n```\n./traffiq --help\nA netcat equivalent in pure rust.\n\nUsage: traffiq \u003cCOMMAND\u003e\n\nCommands:\n  listen   Start a listener for incoming connections\n  connect  Connect to the controlling host\n  scan     Scan a host for open ports\n  help     Print this message or the help of the given subcommand(s)\n\nOptions:\n  -h, --help     Print help\n  -V, --version  Print version\n```\nor\n\n```\n./traffiq listen --help\nUsage: traffiq listen [OPTIONS] --port \u003cPORT\u003e \u003cBIND_HOST\u003e\n\nArguments:\n  \u003cBIND_HOST\u003e  The host to bind the listener to\n\nOptions:\n  -p, --port \u003cPORT\u003e          The port to bind the listener to\n      --tls                  Use TLS for the connection. Used with TCP and HTTP\n      --cert \u003cCERT\u003e          The path to the certificate to use for TLS\n      --key \u003cKEY\u003e            The path to the key to use for TLS\n      --udp                  Use UDP for the connection\n      --http                 Use a HTTP server for the connection\n      --uds                  Use aa UDS server (Unix only) for the connection\n      --uds-path \u003cUDS_PATH\u003e  The path to the UDS socket (Unix only)\n  -e, --exec \u003cEXEC\u003e          Execute a command on each incoming connection. (Use Caution!)\n  -h, --help                 Print help\n  -V, --version              Print version\n \n ```\n\nor\n```\n./traffiq connect --help\nUsage: traffiq connect [OPTIONS] --port \u003cPORT\u003e \u003cHOST\u003e\n\nArguments:\n  \u003cHOST\u003e  The host to connect to\n\nOptions:\n  -p, --port \u003cPORT\u003e                The port to connect to\n      --tls                        Use TLS for the connection\n      --uds                        Connect to a UDS socket (Unix only)\n      --uds-path \u003cUDS_PATH\u003e        The path to the UDS socket (Unix only)\n      --ca \u003cCA\u003e                    The path to the certificate to use for TLS\n      --udp                        Connect using UDP\n      --listen-port \u003cLISTEN_PORT\u003e  The port to listen on for UDP connections\n  -e, --exec \u003cEXEC\u003e                Execute a command on the remote host upon connection. (Use Caution!)\n  -h, --help                       Print help\n  -V, --version                    Print version\n\n ```\n\n### Examples\n```bash\n# Start a tcp server on port 9000\ntraffiq listen localhost --port 9000\n```\n```bash\n# Connect to a tcp server on port 9000\ntraffiq connect --port 9000 localhost\n```\n```bash\n# Start a tcp server on port 9000 and execute a command on each incoming connection\ntraffiq listen localhost --port 9000 --exec \"echo 'Hello World'\"\n```\n```bash\n# Start a TLS server on port 9000\ntraffiq listen localhost --port 9000 --tls --cert /path/to/cert --key /path/to/key\n```\n```bash\n# Start a UDP Server on port 8000\ntraffiq listen localhost --port 8000 --udp\n```\n```bash\nStart a HTTP server on port 9000\ntraffiq listen localhost --port 9000 --http\n```\n\n---\nSriram\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarirs%2Ftraffiq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarirs%2Ftraffiq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarirs%2Ftraffiq/lists"}