{"id":49228,"library":"reverse-wstunnel","title":"wstunnel","description":"A TCP tunnel over WebSocket for circumventing firewalls. Version 1.2.2 is the last published release, requiring Node.js ~0.10.21, and is in maintenance mode. It establishes a bidirectional tunnel by exposing a local port that forwards traffic through a WebSocket connection to a remote destination. Unlike newer alternatives like websocat or bore, wstunnel focuses on simplicity and direct proxy support (HTTP proxy, wss://).","status":"maintenance","version":"1.2.2","language":"javascript","source_language":"en","source_url":"https://github.com/mhzed/wstunnel","tags":["javascript","websocket","tunnel"],"install":[{"cmd":"npm install reverse-wstunnel","lang":"bash","label":"npm"},{"cmd":"yarn add reverse-wstunnel","lang":"bash","label":"yarn"},{"cmd":"pnpm add reverse-wstunnel","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"WebSocket client/server implementation","package":"websocket","optional":true},{"reason":"Command-line argument parsing","package":"optimist","optional":true}],"imports":[{"note":"Package is CommonJS-only, no ESM export.","wrong":"import wstunnel from 'wstunnel'","symbol":"wstunnel","correct":"require('wstunnel')"},{"note":"CLI uses short flags; long forms are not supported.","wrong":"wstunnel --server 8080","symbol":"wstunnel server","correct":"npx wstunnel -s 8080"},{"note":"Use -t not --tunnel for tunnel argument.","wrong":"wstunnel --tunnel 33:2.2.2.2:33 ws://host:8080","symbol":"wstunnel client","correct":"npx wstunnel -t 33:2.2.2.2:33 ws://host:8080"}],"quickstart":{"code":"npx wstunnel -s 8080","lang":"javascript","next":"On client, run: npx wstunnel -t 33:2.2.2.2:33 ws://host:8080","description":"Starts a WebSocket tunnel server on port 8080."},"warnings":[{"fix":"Consider migrating to an actively maintained alternative like websocat or bore.","message":"Package has not been updated since 2016 and relies on obsolete Node.js versions.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Only use -c in trusted environments or when connecting to your own server.","message":"Using -c flag disables certificate validation, exposing to MITM attacks.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use an older Node.js version or consider alternative tools.","message":"The package may not work with modern Node.js versions due to engine restriction (~0.10.21).","severity":"breaking","affected_versions":">=12.0.0"},{"fix":"Run 'wstunnel' alone to see usage.","message":"CLI help is shown by running wstunnel without arguments; there is no --help flag.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.10.21':19 '1.2.2':11 'altern':48 'bidirect':28 'bore':52 'circumv':8 'connect':41 'destin':45 'direct':58 'establish':26 'expos':31 'firewal':9 'focus':54 'forward':36 'http':61 'javascript':63 'last':14 'like':49 'local':33 'mainten':23 'mode':24 'newer':47 'node.js':18 'port':34 'proxi':59,62 'publish':15 'releas':16 'remot':44 'requir':17 'simplic':56 'support':60 'tcp':3 'traffic':37 'tunnel':4,29,65 'unlik':46 'version':10 'websocat':50 'websocket':6,40,64 'wstunnel':1,53","created_at":"2026-06-07T17:00:42.405531+00:00","updated_at":"2026-06-07T17:00:42.405531+00:00","problems":[{"fix":"Run 'npm install websocket' in your project or use npx which bundles dependencies.","cause":"WebSocket dependency not installed automatically.","error":"Error: Cannot find module 'websocket'"},{"fix":"Specify a different port with -s, e.g., 'wstunnel -s 9000'.","cause":"Port 8080 is already in use.","error":"Error: listen EADDRINUSE :::8080"},{"fix":"Run 'npx wstunnel' or install globally with 'npm install -g wstunnel'.","cause":"wstunnel is not installed globally or not in PATH.","error":"wstunnel: command not found"},{"fix":"Ensure correct syntax: 'wstunnel -t localPort:remoteHost:remotePort ws://server:port'.","cause":"Invalid arguments order or missing tunnel specification.","error":"TypeError: Cannot read property 'on' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/mhzed/wstunnel","github":"https://github.com/mhzed/wstunnel","docs":null,"changelog":null,"pypi":null,"npm":"reverse-wstunnel","openapi_spec":null,"status_page":null,"smithery":null,"categories":["networking"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}