Coder Social home page Coder Social logo

Comments (13)

MisterTea avatar MisterTea commented on May 24, 2024 5

Implemented in latest master.

from eternalterminal.

MisterTea avatar MisterTea commented on May 24, 2024 3

Alright, I tested this on my machines and it seems to work. I need other people to test before I can merge this in with confidence. This means you @michaelsuo @tonidy @bkarlson et al :-)

Please checkout branch reverse_tunnel, build the latest commit of that branch, and replace your et and etserver binaries on both client & server with the ones you build. Then you should be able to use reverse tunneling with the -rt command.

So, for example, to have the server communicate with a pbcopy daemon listening on port 2224:

et -rt="4321:2224" (hostname:port)

Then anything that goes to localhost:4321 on the server will be received by 2224 on the local machine. You can also do 2224:2224, but I made up 4321 so the example is easier to read.

from eternalterminal.

MisterTea avatar MisterTea commented on May 24, 2024 2

@bkarlson We are working on implementing jump hosts now but once that is done we can take a look at reverse tunnels.

from eternalterminal.

joshuarubin avatar joshuarubin commented on May 24, 2024 1

This works great except that I have a RemoteForward option in my ~/.ssh/config that causes a port conflict when I also use et -rt. Can you cause et to always disable the RemoteForward option when calling ssh? It doesn't seem like it should ever be correct for it to be enabled in ssh when using et.

from eternalterminal.

joshuarubin avatar joshuarubin commented on May 24, 2024 1

It would also be amazing to, in addition to the above comment, automatically parse the RemoteForward option that ssh would have used and apply it as an et -rt option.

from eternalterminal.

MisterTea avatar MisterTea commented on May 24, 2024

Ok I see the problem: this requires a remote forward, which is basically a tunnel in reverse. ET doesn't support this yet.

from eternalterminal.

MisterTea avatar MisterTea commented on May 24, 2024

There is a second issue where when tunneling fails, it b0rks your terminal.

from eternalterminal.

bkarlson avatar bkarlson commented on May 24, 2024

Any prospects on getting remote tunnels? I am trying to make work rsubl (i.e. rmate for Sublime) via roaming terminal, but both mosh and ET don't deliver in this area 😭
Thanks for great project!

from eternalterminal.

tonidy avatar tonidy commented on May 24, 2024

Same problem with @bkarlson, I need to use rmate for VS Code via terminal. Any progress on this issue @MisterTea ?

Thanks

from eternalterminal.

MisterTea avatar MisterTea commented on May 24, 2024

Sounds like this is the most needed feature that we don't already have :-). I should be able to code this up by next week.

from eternalterminal.

MisterTea avatar MisterTea commented on May 24, 2024

You can track progress by following this branch: https://github.com/MisterTea/EternalTCP/tree/reverse_tunnel

from eternalterminal.

frederickjh avatar frederickjh commented on May 24, 2024

@joshuarubin I think you should start a new issue for the ssh RemoteForward conflict as this one has been closed and I think it is important that this gets corrected.

from eternalterminal.

joshuarubin avatar joshuarubin commented on May 24, 2024

#228

from eternalterminal.

Related Issues (20)

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.