Ce projet est un redirecteur de flux sĂ©curisĂ©, dĂ©veloppĂ© en C#. Il redirige uniquement le trafic d'un port si le client est authentifiĂ© Ă lâaide dâun certificat SSL. Il repose sur lâutilisation de SSLStream
pour garantir une communication sécurisée entre le client et le serveur.
- đ Redirection de flux rĂ©seau entre client et serveur.
- đĄïž Authentification forte via certificats SSL.
- âïž GĂ©nĂ©ration automatique des certificats et configuration.
- đŒ Compatible Windows (avec .NET 8.0).
- đ§Ș Build & publish automatisĂ© avec
dotnet
. - đŠ Client embedded
đĄ Ce projet a Ă©tĂ© testĂ© uniquement sous Windows. Cependant il est possible d'hĂ©berger le serveur sur linux en remplaçant le
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
par<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
dansserver/server.csproj
- une machine sous windows (7, 8.1, 10, 11, serveur, etc) pour générer les executables avec
compile.bat
et héberger le serveur - PowerShell
- AccĂšs Ă Internet pour l'installation des composant
Le script Python fourni installe automatiquement :
- Le SDK .NET 8.0
- 7-Zip (version CLI
7zr.exe
/7za.exe
) - OpenSSL Windows (précompilé)
- GénÚre les certificats client/serveur
- Modifie les fichiers
Program.cs
avec les bons paramĂštres - Compile et publie les projets client et serveur
Modifier la configuration dans le fichier conf.json
et spécifiez vos adresse IP et les ports associés
{
"client": {
"RemoteIP": "127.0.0.1", // IP du serveur de redirection celui exposé sur internet
"RemotePort": 50000, // Port exposé sur internet
"ListenPort": 443 // Port sur lequel le flux sera dupliqué et auquel vous devez vous connecter (ex: localhost:443)
},
"server": {
"DestinationIP": "127.0.0.1", // IP de l'appareil qui doit recevoir la requĂȘte (ex: localhost:445) pour un service qui Ă©coute sur le port 445 de la machine local (peut ĂȘtre une machine sur le mĂȘme rĂ©seau tel qu'un nas).
"DestinationPort": 445, // Port sur lequel écoute le service comme spécifié plus haut
"ListenPort": 50000 // Port d'Ă©coute du redirecteur de flux -> doit ĂȘtre ouvert sur internet !
}
}
./server/bin/Release/net8.0-windows/server.exe
./client/bin/Release/net8.0-windows/client.exe