title: How tunneling services like 'Localtunnel' works without SSH?
body: <p>I want to understand how my local IP address (localhost) can be exposed to Internet. For that I've read <a href="https://stuff-things.net/2016/01/20/tunneling-to-localhost/" rel="noreferrer">[here]</a> a method of port forwarding using SSH. Which basically does routing from publicly available server to our localhost using SSH.</p>
  
  <p>But I wonder how the service like 'LocalTunnel' works? In above article it's written as following: </p>
  
  <blockquote>
    <p>There services (localtunnel for example) creates a tunnel from their server back to port 3000 on your dev box. It functions pretty much exactly like an SSH tunnel, but doesn’t require that you have a server. </p>
  </blockquote>
  
  <p>I've tried reading code from it's github repository and what I understood is:</p>
  
  <ul>
  <li><p>These services have a server which is publicly available, which generates different URLs, and when we hit that URL, It forward the request to localhost corresponding to that URL. </p></li>
  <li><p>So basically it's works like a proxy server. </p></li>
  </ul>
  
  <p>Is these understanding correct? If yes then <strong>what I don't understand is that how these server has access to some localhost running on my computer? How it perform request to it?</strong> What I'm missing here? <a href="https://github.com/localtunnel/server" rel="noreferrer">Here</a> is the code which I referred. </p>