Remote connect with internal System.IO.Stream and without local Socket server
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 4.4k
- Forks
- 993
- Ø Merge
- 9 T. 21 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Being a library, an application can benefit from being able to connect to a remote socket without a localhost socket binding.
Scenario
(Real-world scenarios help with concrete details. However, this issue is not limited to this kind of scenario)
- A user is connecting to a PostgreSQL database server on an AWS server
- The PostgreSQL server is not directly accessible on the internet, but can be accessed via SSH
- The user is using DBeaver (an imaginary version built with .Net)
- The user would need to specify at least the SSH IP + PEM certificate
Without this new feature:
- The user would need to specify the Local Port and Remote Port on the SSH tab.
- A Socket server would be bound on localhost
- On the main tab, the user would need to specify whatever is on the local port
- (Let's ignore the fact that you can leave Local port and Remote port as 0 for dynamic port allocation)
- If the user wanted to connect to two remote PostgreSQL databases, the user would need to make sure they chose two different local ports that don't conflict.
Instead, with this new feature:
- The SSH tab settings indicates that whatever is specified on the Main tab is going to be forwarded via the SSH tunnel.
- The user types in localhost:5432 on the Main tab
- When the connection is loaded, the SSH tunnel is opened, the remote IP:port is opened and then that stream is used directly by the application.
- There is no localhost socket binding for forwarding
More Flexibility
This stream capability makes it possible for any application to connect to a remote IP:Port via SSH transparently and privately (without binding a socket server to a localhost port).
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Es werden keine Dateien oder Tests genannt. Beginne damit, den bestehenden Ablauf der lokalen SSH-Weiterleitung und seine Verbindungseinstiegspunkte nachzuverfolgen; abgeschlossen ist die Aufgabe, wenn eine Anwendung die per SSH weitergeleitete entfernte IP und den Port über einen internen System.IO.Stream verwenden kann, ohne einen Localhost-Socket zu binden, einschließlich mehrerer Verbindungen zu entfernten Datenbanken.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- networking
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100