Git Product home page Git Product logo

tcp_over_websocket's Introduction

tcp_over_websocket: bridge TCP services over WebSockets

  • on a server or a proxy, tcp2web serves a TCP service on a WebSocket
  • on a client, web2tcp connects to the websocket and makes the remote service accessible on a local socket

This "naive experiment" may get you around proxies (restricting internet to web only, even blocking tunneling). Be careful not to expose yourself to difficult situations and rather explain your needs to responsible teams: you may dangerously break your network security! I am not responsible for anything you do with this tiny piece of code.

Licenced under the WTFPL.

Installing

On the server:

mkdir tcp2web/build
cd tcp2web/build
cmake -GNinja ..
ninja

On the client:

mkdir web2tcp/build
cd web2tcp/build
cmake -GNinja ..
ninja

Running

On the server:

tcp2web -u [tcp_service_host:port] -w [websocket_serving_port]

example:

tcp2web -u localhost:22 -w 8080

On the client:

web2tcp -u [ws://websocket_service_host:port] -p [tcp_serving_port] -P [http_proxy_host:port]

example

web2tcp -u ws://tcp2web.example.com:8080 -p 8022 -P $http_proxy

then

ssh -o Port=8022 remote_user@localhost

tcp_over_websocket's People

Stargazers

 avatar

Watchers

 avatar

tcp_over_websocket's Issues

$http_proxy Missing value after '-P'.

After executing the command:./web2tcp -u ws://tcp2web.example.com:8080 -p 8022 -P $http_proxy
an error has occurred : Missing value after '-P'.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.