mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-08 13:49:15 -05:00
[GH-ISSUE #593] TCP resource #1523
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @roadkingvrod on GitHub (Apr 24, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/593
I may be misunderstanding how this should work. I have successfully set up https proxies and they work great, and as expected.
However, I'm trying to figure out how to set up an RDP type resource. Here's my scenario:"
I have newt installed in a separate subnet and connected (site shows connected in Pangolin). I am now trying to set up an rdp connection to a server in that network via the tcp resources. I have set up a resource to the best of my understanding, and in the newt logs, I see thsi:
nelIP:100.89.128.4]}
INFO: 2025/04/24 11:21:41 WireGuard device created. Lets ping the server now...
INFO: 2025/04/24 11:21:41 Ping attempt 1
INFO: 2025/04/24 11:21:41 Pinging 100.89.128.1
INFO: 2025/04/24 11:21:41 Ping latency: 9.9418ms
INFO: 2025/04/24 11:21:41 Starting ping check
INFO: 2025/04/24 11:21:41 Started tcp proxy from 100.89.128.4:43996 to 192.168.52.10:3389
INFO: 2025/04/24 11:22:11 Pinging 100.89.128.1
INFO: 2025/04/24 11:22:11 Ping latency: 4.6659ms
INFO: 2025/04/24 11:22:41 Pinging 100.89.128.1
INFO: 2025/04/24 11:22:41 Ping latency: 2.6014ms
192.168.52.10:3389 is the server I want to remote desktop to once I'm authenicated into Pangolin.
How do I actually connect to it?
Thanks for helping with my basic knowledge!
@roadkingvrod commented on GitHub (Apr 24, 2025):
Important to note that Newt is running directly on Windows so there are no container issues (and windows fiirewall is turned off)
@miloschwartz commented on GitHub (Apr 24, 2025):
Assuming the proxy is working, to connect you'd use the VPS IP as the hostname, and use the port you set when you defined the resource as the port.
@roadkingvrod commented on GitHub (Apr 24, 2025):
That's how I thought it should work but no luck. Knowing that, I'll keep tinkering and report back anything I find. Thanks!
@miloschwartz commented on GitHub (Apr 24, 2025):
Just doing my due diligence by asking, have you triple checked the following:
@roadkingvrod commented on GitHub (Apr 24, 2025):
OS firewall is off. But I have a question on the outside firewall/router. I was hoping that you'd have to authenticate to gain access to the TCP port (as RDP open to the web can be quite dangerous). Does Pangolin just enrypt the data without authentication?
@TuncTaylan commented on GitHub (Apr 25, 2025):
Just for this I just tested on my setup, here is a quick summary and points you might be missing:
config/traefik/traefik_config.ymldocker-compose-ymlallow_raw_resourcesflag in yourconfig/config.ymlis set to true.docker compose up -d --force-recreateThat's it, it works as described.
To your question about encryption, pingolin sends the raw TCP, everything else is handled by the RDP, and RDP is encapsulated and encrypted within TCP.
@roadkingvrod commented on GitHub (Apr 25, 2025):
Thank you @TuncTaylan and @miloschwartz . I appreciate the help.
@akehir commented on GitHub (Apr 26, 2025):
Small question to @TuncTaylan , I haven't found this in the docs explicitly; but it's a question asked by @roadkingvrod .
He asked:
However to my understanding, raw ports are always forwarded directly without authentication. Therefore, this is basically the same as exposing the RDP port directly to the internet; or am I missing something?
@TuncTaylan commented on GitHub (Apr 26, 2025):
Grüezi!
Yes, that’s correct — Pangolin does not provide authentication or encryption for raw TCP/UDP resources. I was referring to the RDP protocol, which should be encrypted within the TCP communication.
That said, exposing RDP directly to the internet is risky. I personally wouldn’t do it, as Microsoft hasn’t historically been known for strong inherent security.
@github-actions[bot] commented on GitHub (May 11, 2025):
This issue has been automatically marked as stale due to 14 days of inactivity. It will be closed in 14 days if no further activity occurs.
@github-actions[bot] commented on GitHub (May 25, 2025):
This issue has been automatically closed due to inactivity. If you believe this is still relevant, please open a new issue with up-to-date information.
@krevelen commented on GitHub (Oct 27, 2025):
you could use an SSH tunnel instead, and then initiate rdp on your (extended) localhost