Giter Site home page Giter Site logo

tpf's Introduction

tpf

A 0-bullshit tool to forward ports using Tor

Why?

Are you:

  • Behind restrictive NAT?
  • Behind an overly restrictive firewall?
  • Fed up with bullshit from services like ngrok?

Do you want to forward ports:

  • From behind all imaginable NATs and firewalls?
  • Without exposing your machine's IP?
  • With secure end-to-end encryption?
  • With secure authentication?
  • For any TCP-based protocol?

Were you looking for a simple tool that can do all that?

Now, there is such a tool.

How do I use tpf?

To forward RDP with native Tor key-based authentication:

Generate your client keypair on your client machine:

tpf client key --keyfile key.ckey generate
Public key: PUBLIC_KEY_BASE32

Copy this public key to your server machine (hint: you can use Onionshare for that).

Run Tor Browser on your client. Make sure it connects and is connected to the Tor network.

Start the onion service on your server, with client authentication enabled:

tpf service --keyfile service.skey serve --detached --clientkey PUBLIC_KEY_BASE32 3389
Serving on ONION_ADDR
...

On your client computer, make sure Tor Browser is running and connected, and load your client key into Tor:

tpf client key --keyfile key.ckey load ONION_ADDR

On your client computer, use the forward command of tpf to forward ports via Tor (this is not needed for simple HTTP sharing):

tpf forward --fromaddr 33389 --toaddr ONION_ADDR:3389
Forwarding localhost:33391 -> 127.0.0.1:9150 -> ONION_ADDR:3389

Connect to localhost:33389 with your RDP client of choice.

To stop the forwarding, on the server run:

tpf service --keyfile service.skey stop

tpf's People

Contributors

x0wllaar avatar

Watchers

 avatar

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.