From 64ce7dbb30306a39d505d3d8b3a24c70caa8ea13 Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:06:26 -0500 Subject: [PATCH 1/9] Update env.sh --- env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env.sh b/env.sh index b02d61a0..001beb50 100644 --- a/env.sh +++ b/env.sh @@ -7,7 +7,7 @@ # 3. SMTP # 4. IRC -PROTOCOL=1 +PROTOCOL=2 # Don't modify the next line echo "PROTOCOL=${PROTOCOL}" >> "$GITHUB_ENV" From eaf8ac5f0065dbb352b0dbec43c88e1b53a980ff Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:07:17 -0500 Subject: [PATCH 2/9] Update run.sh --- run.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run.sh b/run.sh index a4751015..b44ca5c3 100644 --- a/run.sh +++ b/run.sh @@ -2,4 +2,5 @@ # Replace the next shell command with the entrypoint of your solution -echo $@ \ No newline at end of file +cd client +dotnet run From 1227253f4fec9cdf6d27e6af59942dd4f96c2733 Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:08:32 -0500 Subject: [PATCH 3/9] Add files via upload --- client/Program.cs | 469 ++++++++++++++++++ client/Redes socket version.csproj | 11 + .../net8.0/Redes socket version.deps.json | 23 + .../bin/Debug/net8.0/Redes socket version.dll | Bin 0 -> 13312 bytes .../bin/Debug/net8.0/Redes socket version.exe | Bin 0 -> 142848 bytes .../bin/Debug/net8.0/Redes socket version.pdb | Bin 0 -> 14152 bytes .../Redes socket version.runtimeconfig.json | 12 + .../Redes socket version.AssemblyInfo.cs | 22 + ...es socket version.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 13 + .../Redes socket version.GlobalUsings.g.cs | 8 + .../net8.0/Redes socket version.assets.cache | Bin 0 -> 160 bytes ...ket version.csproj.CoreCompileInputs.cache | 1 + ...socket version.csproj.FileListAbsolute.txt | 42 ++ .../obj/Debug/net8.0/Redes socket version.dll | Bin 0 -> 13312 bytes ...edes socket version.genruntimeconfig.cache | 1 + .../obj/Debug/net8.0/Redes socket version.pdb | Bin 0 -> 14152 bytes client/obj/Debug/net8.0/apphost.exe | Bin 0 -> 142848 bytes .../Debug/net8.0/ref/Redes socket version.dll | Bin 0 -> 5632 bytes .../net8.0/refint/Redes socket version.dll | Bin 0 -> 5632 bytes ...es socket version.csproj.nuget.dgspec.json | 61 +++ .../Redes socket version.csproj.nuget.g.props | 15 + ...edes socket version.csproj.nuget.g.targets | 2 + client/obj/project.assets.json | 66 +++ client/obj/project.nuget.cache | 8 + 25 files changed, 755 insertions(+) create mode 100644 client/Program.cs create mode 100644 client/Redes socket version.csproj create mode 100644 client/bin/Debug/net8.0/Redes socket version.deps.json create mode 100644 client/bin/Debug/net8.0/Redes socket version.dll create mode 100644 client/bin/Debug/net8.0/Redes socket version.exe create mode 100644 client/bin/Debug/net8.0/Redes socket version.pdb create mode 100644 client/bin/Debug/net8.0/Redes socket version.runtimeconfig.json create mode 100644 client/obj/Debug/net8.0/Redes socket version.AssemblyInfo.cs create mode 100644 client/obj/Debug/net8.0/Redes socket version.AssemblyInfoInputs.cache create mode 100644 client/obj/Debug/net8.0/Redes socket version.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 client/obj/Debug/net8.0/Redes socket version.GlobalUsings.g.cs create mode 100644 client/obj/Debug/net8.0/Redes socket version.assets.cache create mode 100644 client/obj/Debug/net8.0/Redes socket version.csproj.CoreCompileInputs.cache create mode 100644 client/obj/Debug/net8.0/Redes socket version.csproj.FileListAbsolute.txt create mode 100644 client/obj/Debug/net8.0/Redes socket version.dll create mode 100644 client/obj/Debug/net8.0/Redes socket version.genruntimeconfig.cache create mode 100644 client/obj/Debug/net8.0/Redes socket version.pdb create mode 100644 client/obj/Debug/net8.0/apphost.exe create mode 100644 client/obj/Debug/net8.0/ref/Redes socket version.dll create mode 100644 client/obj/Debug/net8.0/refint/Redes socket version.dll create mode 100644 client/obj/Redes socket version.csproj.nuget.dgspec.json create mode 100644 client/obj/Redes socket version.csproj.nuget.g.props create mode 100644 client/obj/Redes socket version.csproj.nuget.g.targets create mode 100644 client/obj/project.assets.json create mode 100644 client/obj/project.nuget.cache diff --git a/client/Program.cs b/client/Program.cs new file mode 100644 index 00000000..83e5e636 --- /dev/null +++ b/client/Program.cs @@ -0,0 +1,469 @@ +using System; +using System.IO; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections.Generic; // Necesario para List + + +Socket socket; +Socket data_socket; +Socket dataSocketListener; +string server; +int port; +bool active; +string user; +string password; +string path; + +// Funciones auxiliares +void SendCommand(string command) +{ + byte[] commandBytes = Encoding.ASCII.GetBytes(command + "\r\n"); + socket.Send(commandBytes); + Console.WriteLine("Enviado: " + command); +} + +string ReceiveResponse() +{ + byte[] buffer = new byte[1024]; + int bytesReceived = socket.Receive(buffer); + return Encoding.ASCII.GetString(buffer, 0, bytesReceived); +} + +void SendData(Socket dataSocket, string filePath) + { + byte[] buffer = new byte[1024]; + using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) + { + int bytesRead; + while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0) + { + dataSocket.Send(buffer, bytesRead, SocketFlags.None); + } + } + } + +void Init(){ + server = "10.10.10.6"; + port = 21; + active = true; + user = string.Empty; + password = string.Empty; + path = "/"; +} + +void SetActiveMode(){ + // 1. Crear un socket para escuchar las conexiones de datos entrantes + dataSocketListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 0); // Escucha en cualquier IP disponible y deja que el sistema operativo asigne un puerto + dataSocketListener.Bind(localEndPoint); + dataSocketListener.Listen(1); // Solo acepta una conexión + + active = true; + + // 2. Obtener la dirección IP y el puerto asignado + IPEndPoint dataEndpoint = (IPEndPoint)dataSocketListener.LocalEndPoint; + string ipAddress = GetLocalIPAddress(); // Método auxiliar para obtener la IP local + int port = dataEndpoint.Port; + + // 3. Formatear el comando PORT + Port(ipAddress, port); + + string GetLocalIPAddress(){ + Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, 0); + socket.Connect("8.8.8.8", 65530); + IPEndPoint endPoint = socket.LocalEndPoint as IPEndPoint; + return endPoint.Address.ToString(); + } +} + +void SetPassiveMode() + { + SendCommand("PASV"); + string response = ReceiveResponse(); + Console.WriteLine(response); + + active = false; + + int startIndex = response.IndexOf("(") + 1; + int endIndex = response.IndexOf(")"); + string data = response.Substring(startIndex, endIndex - startIndex); + + string[] parts = data.Split(','); + + //if (parts.Length == 6){ + string ipAddress = $"{parts[0]}.{parts[1]}.{parts[2]}.{parts[3]}"; + int port = int.Parse(parts[4]) * 256 + int.Parse(parts[5]); + + // Crear el socket de datos y conectarse + data_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + data_socket.Connect(ipAddress, port); + + Console.WriteLine($"Conectado al modo pasivo: {ipAddress}:{port}\n"); + //} + } + +string ReceiveData(Socket dataSocket) + { + StringBuilder sb = new StringBuilder(); + byte[] buffer = new byte[1024]; + int bytesRead; + + while ((bytesRead = dataSocket.Receive(buffer)) > 0) + { + sb.Append(Encoding.ASCII.GetString(buffer, 0, bytesRead)); + } + + return sb.ToString(); + } + + +//Funciones Principales +void Connect(string _user, string _password) +{ + socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + socket.Connect(server, port); + Console.WriteLine(ReceiveResponse()); //Recibe el mensaje de bienvenida + + user = _user; + password = _password; + + SendCommand("USER " + user); + Console.WriteLine(ReceiveResponse()); + + SendCommand("PASS " + password); + Console.WriteLine(ReceiveResponse()); +} + +//No disponible en FreeFTPd +void Reinitialize(){ + Init(); + + SendCommand("REIN"); + Console.WriteLine(ReceiveResponse()); +} + +void Help(){ + SendCommand("HELP"); + Console.WriteLine(ReceiveResponse()); +} + +void ChangeWorkingDirectory(string directory) +{ + path = directory; + + SendCommand("CWD " + directory); + Console.WriteLine(ReceiveResponse()); +} + +void ChangeDirectoryUP(string directory) +{ + path = path.Substring(0, path.LastIndexOf('/')); + + SendCommand("CDUP"); + Console.WriteLine(ReceiveResponse()); +} + +//No disponible en FreeFTPd +void StructureMount(string path) + { + SendCommand("SMNT " + path); + Console.WriteLine(ReceiveResponse()); + } + +void Port(string ipAddress, int _port) +{ + server = ipAddress; + port = _port; + + string[] ipParts = ipAddress.Split('.'); + int p1 = port / 256; + int p2 = port % 256; + + SendCommand($"PORT {ipParts[0]},{ipParts[1]},{ipParts[2]},{ipParts[3]},{p1},{p2}"); + Console.WriteLine(ReceiveResponse()); +} + +void SetTransferType(char type) + { + if(type != 'A' && type != 'I'){ + Console.WriteLine("Solo argumentos A, I"); + } + + SendCommand("TYPE " + type); + Console.WriteLine(ReceiveResponse()); + } + +//No disponible en FreeFTPd. Obsoleto en la mayoria de clientes y servidores FTP modernos +void SetFileStructure(char structure) + { + if(structure != 'F' && structure != 'R' && structure != 'P'){ + Console.WriteLine("Solo argumentos F, R, P"); + } + + SendCommand("STRU " + structure); + Console.WriteLine(ReceiveResponse()); + } + +//Solo disponible S en FreeFTPd +void SetTransferMode(char mode) + { + if(mode != 'S' && mode != 'C' && mode != 'B'){ + Console.WriteLine("Solo argumentos S, C, B"); + } + + SendCommand("MODE " + mode); + Console.WriteLine(ReceiveResponse()); + } + +void Nothing(){ + SendCommand("NOOP"); + Console.WriteLine(ReceiveResponse()); +} + +void Features(){ + SendCommand("FEAT"); + Console.WriteLine(ReceiveResponse()); +} + +void Close() +{ + SendCommand("QUIT"); + Console.WriteLine(ReceiveResponse()); + socket.Close(); +} + +//Por ahora solo funciona el pasivo +void UploadFile(string localFilePath, string remoteFileName) + { + if(active){ + SetActiveMode(); + + data_socket = dataSocketListener.Accept(); + Console.WriteLine("Mode setted up\n"); + + SendCommand("STOR " + remoteFileName); + string response = ReceiveResponse(); + Console.WriteLine(response); + + SendData(data_socket, localFilePath); // Enviar datos a traves del dataSocket + data_socket.Shutdown(SocketShutdown.Send); // Indica al servidor que no se enviarán más datos + data_socket.Close(); + + Console.WriteLine(ReceiveResponse()); //Recibe la respuesta final del servidor + + dataSocketListener.Close(); //Limpiar el listener para la proxima operacion, si es que la hay + } + else{ + SendCommand("STOR " + remoteFileName); + string response = ReceiveResponse(); + Console.WriteLine(response); + + SendData(data_socket, localFilePath); // Enviar datos a traves del dataSocket + data_socket.Close(); + + SetPassiveMode(); + + Console.WriteLine(ReceiveResponse()); //Recibe la respuesta final del servidor + } + + } + +void DownloadFile(string remoteFilePath, string localFilePath) +{ + SetPassiveMode(); + + SendCommand($"RETR {remoteFilePath}"); + Console.WriteLine(ReceiveResponse()); + + // 2. Recibir el archivo y guardarlo + FileStream fileStream = new FileStream(localFilePath, FileMode.Create, FileAccess.Write); + + byte[] buffer = new byte[4096]; + int bytesRead = int.MaxValue; + + data_socket.ReceiveTimeout = 10000; // 10 segundos de timeout + + Console.WriteLine("Conexión de datos establecida. Iniciando descarga..."); + while (bytesRead > 0) + { + try + { + bytesRead = data_socket.Receive(buffer, buffer.Length, SocketFlags.None); + fileStream.Write(buffer, 0, bytesRead); + } + catch (SocketException ex) + { + // Si ocurre una excepción de timeout, asumir que no hay más datos + if (ex.SocketErrorCode == SocketError.TimedOut) break; + } + } + Console.WriteLine($"Archivo descargado a {localFilePath}\n"); + + // 3. Cerrar la conexión de datos (importante) + fileStream.Close(); + data_socket.Shutdown(SocketShutdown.Both); + data_socket.Close(); + + // Console.WriteLine($"Transferencia completada: " + ReceiveResponse()); +} + +void AppendFile(string remoteFilePath, string localFilePath) +{ + SetPassiveMode(); + + SendCommand($"APPE {remoteFilePath}"); + Console.WriteLine(ReceiveResponse()); + + // 2. Recibir el archivo y guardarlo + FileStream fileStream = new FileStream(localFilePath, FileMode.Append, FileAccess.Write); + + byte[] buffer = new byte[4096]; + int bytesRead = int.MaxValue; + + data_socket.ReceiveTimeout = 10000; // 10 segundos de timeout + + while (bytesRead > 0) + { + try + { + bytesRead = data_socket.Receive(buffer, buffer.Length, SocketFlags.None); + fileStream.Write(buffer, 0, bytesRead); + } + catch (SocketException ex) + { + // Si ocurre una excepción de timeout, asumir que no hay más datos + if (ex.SocketErrorCode == SocketError.TimedOut) break; + } + } + + // 3. Cerrar la conexión de datos (importante) + fileStream.Close(); + data_socket.Shutdown(SocketShutdown.Both); + data_socket.Close(); + + // Console.WriteLine($"Transferencia completada: " + ReceiveResponse()); +} +//Implemento el comando ACCT ? + +void RenameFile(string oldName, string newName) +{ + // 1. Enviar el comando RNFR + SendCommand("RNFR " + oldName); + string rnfrResponse = ReceiveResponse(); + Console.WriteLine(rnfrResponse); + + // 2. Verificar la respuesta (esperar "350 File exists, ready for destination name") + if (!rnfrResponse.StartsWith("350")) + { + Console.WriteLine("Error: El servidor no aceptó el comando RNFR."); + return; + } + + // 3. Enviar el comando RNTO + SendCommand("RNTO " + newName); + string rntoResponse = ReceiveResponse(); + Console.WriteLine(rntoResponse); + + // 4. Verificar la respuesta (esperar "250 Rename successful") + if (!rntoResponse.StartsWith("250")) + { + Console.WriteLine("Error: El servidor no aceptó el comando RNTO."); + return; + } + + Console.WriteLine("Archivo renombrado exitosamente."); +} + +void AbortCommand() + { + // 1. Enviar el comando ABOR + SendCommand("ABOR"); + string abortResponse = ReceiveResponse(); + Console.WriteLine(abortResponse); + + // 3. Cerrar la conexión de datos (si está abierta) + if (data_socket != null) + { + data_socket.Close(); + } + } + +void DeleteFile(string filePath, string fileName) +{ + string fullPath = $"{filePath.TrimStart('/')}/{fileName}"; + + try + { + SetPassiveMode(); + + // Eliminar archivo + SendCommand($"DELE {fullPath}"); + Console.WriteLine(ReceiveResponse()); + + data_socket.Close(); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } +} + +void MakeDirectory(string directoryName) +{ + SendCommand("MKD " + directoryName); + string mkdResponse = ReceiveResponse(); + Console.WriteLine(mkdResponse); +} + +void RemoveDirectory(string directoryName) +{ + SendCommand("RMD " + directoryName); + string mkdResponse = ReceiveResponse(); + Console.WriteLine(mkdResponse); +} + +void PrintWorkingDirectorySocket() + { + // 1. Enviar el comando PWD + SendCommand("PWD"); + string pwdResponse = ReceiveResponse(); + Console.WriteLine(pwdResponse); + + + // 3. Analizar la respuesta para extraer el directorio + string currentDirectory = null; + Regex regex = new Regex("\"(.*?)\""); + Match match = regex.Match(pwdResponse); + if (match.Success) + { + currentDirectory = match.Groups[1].Value; + } + + Console.WriteLine("Directorio de trabajo actual: " + currentDirectory); + } + +string ListFiles(string path = "") + { + SetPassiveMode(); + + SendCommand("LIST " + path); + string response = ReceiveResponse(); + Console.WriteLine(response); + + //Recibir datos a traves del dataSocket + string fileList = ReceiveData(data_socket); + data_socket.Close(); + + //Volver a establecer el modo pasivo para la proxima transferencia + SetPassiveMode(); + + return fileList; + } + + +Init(); +System.Console.WriteLine("Hola mundo"); +Console.ReadLine(); \ No newline at end of file diff --git a/client/Redes socket version.csproj b/client/Redes socket version.csproj new file mode 100644 index 00000000..82446804 --- /dev/null +++ b/client/Redes socket version.csproj @@ -0,0 +1,11 @@ + + + + Exe + net8.0 + Redes_socket_version + enable + enable + + + diff --git a/client/bin/Debug/net8.0/Redes socket version.deps.json b/client/bin/Debug/net8.0/Redes socket version.deps.json new file mode 100644 index 00000000..16e8825f --- /dev/null +++ b/client/bin/Debug/net8.0/Redes socket version.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Redes socket version/1.0.0": { + "runtime": { + "Redes socket version.dll": {} + } + } + } + }, + "libraries": { + "Redes socket version/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/client/bin/Debug/net8.0/Redes socket version.dll b/client/bin/Debug/net8.0/Redes socket version.dll new file mode 100644 index 0000000000000000000000000000000000000000..47a8531e49f359e0173147808caade6a95f83bce GIT binary patch literal 13312 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

LaQ-ocDpEL|N4kCp3`FPHVhyx zINsnvI{U(kXAiFUdiw3Jdyi?qZ{I_tnv!HFCP@(>i3F2z1`$=45{)W>#1U5<)Zz%< zQIo|8$?0X&jl~g7R~AQ%xNa(OJPkuv7e|u4hHRLM6i-YhPDM=xY(`@0ZtyT> z$XXn1$^K-2+-L+_V(Q++)cuL6x2alk>H*!9B|HobdL*ab88HbEIvTpJB-3aU0Ylsn z)01!y0(OU_}yBAJs^KW8#{w z#^bUKSu(sP$00+GCvOHFS0FNuPUG?9ZAnY!POUif2L=ltK@Z8PPa5bGVvLV$8@(&> zRBV%?CDZt*NY>;C24ittC)hqa(Wp`QfUnYVP!bBk5>KWLg5#M-AO;X_qy*2PLJB{m zdl?^hkH{@IxmJ0PQ|hfII3tH$=eQ@~1W=a{Hnc^e){Z^BBi)W`BPUxO=6+j_ZS24o zUL)~2(@A!Ch`_H72DdQ5F<+uNm&@JoQ;tLtkDCfo~vn#!B!*vvDa_jd( zP1xE$``YX?xn<4Y{r4}wPWlEcs$M^0+^kad&*~R_LFp(4u=j+`hf7rSvKUQUB+x;V|U#Hn)A&*;Cy{XeeObVY8%L^p5Wp~WpSy1 z)tayfdoGt9z)tBxPF`eFoI#CaALVN)ajOxrzm|}5ahC3jy|*Oli9Vvf1B;IYop=|{ zqwU0HB>94;6PZ%*cP%mrEOB%rzWbDjGrpq8xJ&q*We@t`te3B0Jb91j+}8tF7AN_f zOPa{4IJe>qopbqsmt|G0=n<{5LMP6&YWc2SW+(QD8JPzz>9Y$t3crN}H|ske{Om!_ zc3nI<2br5NaW+Gapx-aS=TPwp>NO5R&Z`P8PX_m?V}awY3Fd@aSX>$6SjAiQrB0dnz&}< zV0+D0SmOcv7_x-|!!7NW*Izp39I@SYvyu;vKen`wTLsS!jS@oEUPha$>TBzC-@JC( d31HZ~wmL%m5y=1M+8+L&0W9jjzkc^T@IS&-@)ZC8 literal 0 HcmV?d00001 diff --git a/client/bin/Debug/net8.0/Redes socket version.exe b/client/bin/Debug/net8.0/Redes socket version.exe new file mode 100644 index 0000000000000000000000000000000000000000..6a19cac4c4cbe24fa7bcf612399897260189af79 GIT binary patch literal 142848 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 literal 0 HcmV?d00001 diff --git a/client/bin/Debug/net8.0/Redes socket version.pdb b/client/bin/Debug/net8.0/Redes socket version.pdb new file mode 100644 index 0000000000000000000000000000000000000000..83ce5ed50a56b9a04d3b265342ab01e032d8a0d8 GIT binary patch literal 14152 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 DqK;S} literal 0 HcmV?d00001 diff --git a/client/bin/Debug/net8.0/Redes socket version.runtimeconfig.json b/client/bin/Debug/net8.0/Redes socket version.runtimeconfig.json new file mode 100644 index 00000000..1de3a5db --- /dev/null +++ b/client/bin/Debug/net8.0/Redes socket version.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/client/obj/Debug/net8.0/Redes socket version.AssemblyInfo.cs b/client/obj/Debug/net8.0/Redes socket version.AssemblyInfo.cs new file mode 100644 index 00000000..6b126b58 --- /dev/null +++ b/client/obj/Debug/net8.0/Redes socket version.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Redes socket version")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Redes socket version")] +[assembly: System.Reflection.AssemblyTitleAttribute("Redes socket version")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/client/obj/Debug/net8.0/Redes socket version.AssemblyInfoInputs.cache b/client/obj/Debug/net8.0/Redes socket version.AssemblyInfoInputs.cache new file mode 100644 index 00000000..c429ddf9 --- /dev/null +++ b/client/obj/Debug/net8.0/Redes socket version.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +fef6bb71f432102af3e2fe260947df9c641672f508b10791d1e4e231762ce2d4 diff --git a/client/obj/Debug/net8.0/Redes socket version.GeneratedMSBuildEditorConfig.editorconfig b/client/obj/Debug/net8.0/Redes socket version.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 00000000..5762b1e5 --- /dev/null +++ b/client/obj/Debug/net8.0/Redes socket version.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Redes_socket_version +build_property.ProjectDir = c:\Users\Raidel Miguel\Desktop\computer_networks_project-main\client\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/client/obj/Debug/net8.0/Redes socket version.GlobalUsings.g.cs b/client/obj/Debug/net8.0/Redes socket version.GlobalUsings.g.cs new file mode 100644 index 00000000..ac22929d --- /dev/null +++ b/client/obj/Debug/net8.0/Redes socket version.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/client/obj/Debug/net8.0/Redes socket version.assets.cache b/client/obj/Debug/net8.0/Redes socket version.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..7e8315702dbcda68a663733c22f680a6a2624664 GIT binary patch literal 160 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

LaQ-ocDpEL|N4kCp3`FPHVhyx zINsnvI{U(kXAiFUdiw3Jdyi?qZ{I_tnv!HFCP@(>i3F2z1`$=45{)W>#1U5<)Zz%< zQIo|8$?0X&jl~g7R~AQ%xNa(OJPkuv7e|u4hHRLM6i-YhPDM=xY(`@0ZtyT> z$XXn1$^K-2+-L+_V(Q++)cuL6x2alk>H*!9B|HobdL*ab88HbEIvTpJB-3aU0Ylsn z)01!y0(OU_}yBAJs^KW8#{w z#^bUKSu(sP$00+GCvOHFS0FNuPUG?9ZAnY!POUif2L=ltK@Z8PPa5bGVvLV$8@(&> zRBV%?CDZt*NY>;C24ittC)hqa(Wp`QfUnYVP!bBk5>KWLg5#M-AO;X_qy*2PLJB{m zdl?^hkH{@IxmJ0PQ|hfII3tH$=eQ@~1W=a{Hnc^e){Z^BBi)W`BPUxO=6+j_ZS24o zUL)~2(@A!Ch`_H72DdQ5F<+uNm&@JoQ;tLtkDCfo~vn#!B!*vvDa_jd( zP1xE$``YX?xn<4Y{r4}wPWlEcs$M^0+^kad&*~R_LFp(4u=j+`hf7rSvKUQUB+x;V|U#Hn)A&*;Cy{XeeObVY8%L^p5Wp~WpSy1 z)tayfdoGt9z)tBxPF`eFoI#CaALVN)ajOxrzm|}5ahC3jy|*Oli9Vvf1B;IYop=|{ zqwU0HB>94;6PZ%*cP%mrEOB%rzWbDjGrpq8xJ&q*We@t`te3B0Jb91j+}8tF7AN_f zOPa{4IJe>qopbqsmt|G0=n<{5LMP6&YWc2SW+(QD8JPzz>9Y$t3crN}H|ske{Om!_ zc3nI<2br5NaW+Gapx-aS=TPwp>NO5R&Z`P8PX_m?V}awY3Fd@aSX>$6SjAiQrB0dnz&}< zV0+D0SmOcv7_x-|!!7NW*Izp39I@SYvyu;vKen`wTLsS!jS@oEUPha$>TBzC-@JC( d31HZ~wmL%m5y=1M+8+L&0W9jjzkc^T@IS&-@)ZC8 literal 0 HcmV?d00001 diff --git a/client/obj/Debug/net8.0/Redes socket version.genruntimeconfig.cache b/client/obj/Debug/net8.0/Redes socket version.genruntimeconfig.cache new file mode 100644 index 00000000..c7b388f3 --- /dev/null +++ b/client/obj/Debug/net8.0/Redes socket version.genruntimeconfig.cache @@ -0,0 +1 @@ +31e875c584f7c79e063bdcb88ed6a8b9e68ddfafe9380ae6904ea11aca12307a diff --git a/client/obj/Debug/net8.0/Redes socket version.pdb b/client/obj/Debug/net8.0/Redes socket version.pdb new file mode 100644 index 0000000000000000000000000000000000000000..83ce5ed50a56b9a04d3b265342ab01e032d8a0d8 GIT binary patch literal 14152 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 DqK;S} literal 0 HcmV?d00001 diff --git a/client/obj/Debug/net8.0/apphost.exe b/client/obj/Debug/net8.0/apphost.exe new file mode 100644 index 0000000000000000000000000000000000000000..6a19cac4c4cbe24fa7bcf612399897260189af79 GIT binary patch literal 142848 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 literal 0 HcmV?d00001 diff --git a/client/obj/Debug/net8.0/ref/Redes socket version.dll b/client/obj/Debug/net8.0/ref/Redes socket version.dll new file mode 100644 index 0000000000000000000000000000000000000000..5063512bf9785da57516e737090649bedca40094 GIT binary patch literal 5632 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 + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Raidel Miguel\.nuget\packages\ + PackageReference + 6.8.1 + + + + + \ No newline at end of file diff --git a/client/obj/Redes socket version.csproj.nuget.g.targets b/client/obj/Redes socket version.csproj.nuget.g.targets new file mode 100644 index 00000000..35a7576c --- /dev/null +++ b/client/obj/Redes socket version.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/client/obj/project.assets.json b/client/obj/project.assets.json new file mode 100644 index 00000000..345844ef --- /dev/null +++ b/client/obj/project.assets.json @@ -0,0 +1,66 @@ +{ + "version": 3, + "targets": { + "net8.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net8.0": [] + }, + "packageFolders": { + "C:\\Users\\Raidel Miguel\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Raidel Miguel\\Desktop\\computer_networks_project-main\\client\\Redes socket version.csproj", + "projectName": "Redes socket version", + "projectPath": "C:\\Users\\Raidel Miguel\\Desktop\\computer_networks_project-main\\client\\Redes socket version.csproj", + "packagesPath": "C:\\Users\\Raidel Miguel\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Raidel Miguel\\Desktop\\computer_networks_project-main\\client\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Raidel Miguel\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Users\\Raidel Miguel\\Documents\\Code\\dotnet-sdk-8.0.107-win-x64\\sdk\\8.0.107\\Sdks": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Users\\Raidel Miguel\\Documents\\Code\\dotnet-sdk-8.0.107-win-x64\\sdk\\8.0.107/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/client/obj/project.nuget.cache b/client/obj/project.nuget.cache new file mode 100644 index 00000000..92a30ea2 --- /dev/null +++ b/client/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "lG5U5AFRaenwCV3IKZPpAJjOkaQ3VpY1van/NYDb58Z28PXzHcDoSaMJKQIkEkNpS3iADOvN3OOAP5DJFvhTsg==", + "success": true, + "projectFilePath": "C:\\Users\\Raidel Miguel\\Desktop\\computer_networks_project-main\\client\\Redes socket version.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file From 61304030352bdb99c3976c4c8a321048f9e39388 Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:22:15 -0500 Subject: [PATCH 4/9] Add files via upload --- client/Program.cs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/client/Program.cs b/client/Program.cs index 83e5e636..7526fdfd 100644 --- a/client/Program.cs +++ b/client/Program.cs @@ -6,8 +6,9 @@ using System.Text.RegularExpressions; using System.Collections.Generic; // Necesario para List - -Socket socket; +class Client +{ + Socket socket; Socket data_socket; Socket dataSocketListener; string server; @@ -463,7 +464,15 @@ string ListFiles(string path = "") return fileList; } +} -Init(); -System.Console.WriteLine("Hola mundo"); -Console.ReadLine(); \ No newline at end of file +class Program +{ + public static void Main(string[] args){ + foreach (var item in args) + { + System.Console.WriteLine(item); + } + Console.ReadLine(); + } +} \ No newline at end of file From 0e3cc706964c04bd1320beacf2a757758b2ca85e Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 18:32:46 -0500 Subject: [PATCH 5/9] Update run.sh --- run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run.sh b/run.sh index b44ca5c3..f93e40e4 100644 --- a/run.sh +++ b/run.sh @@ -3,4 +3,4 @@ # Replace the next shell command with the entrypoint of your solution cd client -dotnet run +dotnet run -- $@ From 940ca86d5031c56a070f08ad682c546b55b764c7 Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 18:38:26 -0500 Subject: [PATCH 6/9] Add files via upload --- client/Program.cs | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/client/Program.cs b/client/Program.cs index 7526fdfd..ea7671ff 100644 --- a/client/Program.cs +++ b/client/Program.cs @@ -1,14 +1,10 @@ -using System; -using System.IO; -using System.Net; +using System.Net; using System.Net.Sockets; using System.Text; using System.Text.RegularExpressions; -using System.Collections.Generic; // Necesario para List -class Client -{ - Socket socket; + +Socket socket; Socket data_socket; Socket dataSocketListener; string server; @@ -46,12 +42,13 @@ void SendData(Socket dataSocket, string filePath) } } -void Init(){ - server = "10.10.10.6"; - port = 21; +void Init(string _server, int _port, string _user, string _password){ + server = _server; + port = _port; + user = _user; + password = _password; + active = true; - user = string.Empty; - password = string.Empty; path = "/"; } @@ -132,7 +129,7 @@ void Connect(string _user, string _password) password = _password; SendCommand("USER " + user); - Console.WriteLine(ReceiveResponse()); + // Console.WriteLine(ReceiveResponse()); SendCommand("PASS " + password); Console.WriteLine(ReceiveResponse()); @@ -140,7 +137,7 @@ void Connect(string _user, string _password) //No disponible en FreeFTPd void Reinitialize(){ - Init(); + Init(server, port, user, password); SendCommand("REIN"); Console.WriteLine(ReceiveResponse()); @@ -464,15 +461,7 @@ string ListFiles(string path = "") return fileList; } -} -class Program -{ - public static void Main(string[] args){ - foreach (var item in args) - { - System.Console.WriteLine(item); - } - Console.ReadLine(); - } -} \ No newline at end of file +Init(args[1], int.Parse(args[3]), args[5], args[7]); +Connect(user, password); +// Console.ReadLine(); \ No newline at end of file From df3bc58df199d9ea3a7782d247431f950a49699e Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 19:01:00 -0500 Subject: [PATCH 7/9] Update Program.cs --- client/Program.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/Program.cs b/client/Program.cs index ea7671ff..cdd4ac61 100644 --- a/client/Program.cs +++ b/client/Program.cs @@ -130,6 +130,7 @@ void Connect(string _user, string _password) SendCommand("USER " + user); // Console.WriteLine(ReceiveResponse()); + ReceiveResponse(); SendCommand("PASS " + password); Console.WriteLine(ReceiveResponse()); @@ -464,4 +465,4 @@ string ListFiles(string path = "") Init(args[1], int.Parse(args[3]), args[5], args[7]); Connect(user, password); -// Console.ReadLine(); \ No newline at end of file +// Console.ReadLine(); From b549965f30c907564f341e4789d72d012d6da2a1 Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 19:19:24 -0500 Subject: [PATCH 8/9] Program.cs Upload --- client/Program.cs | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/client/Program.cs b/client/Program.cs index cdd4ac61..73787ca9 100644 --- a/client/Program.cs +++ b/client/Program.cs @@ -19,7 +19,7 @@ void SendCommand(string command) { byte[] commandBytes = Encoding.ASCII.GetBytes(command + "\r\n"); socket.Send(commandBytes); - Console.WriteLine("Enviado: " + command); + // Console.WriteLine("Enviado: " + command); } string ReceiveResponse() @@ -424,7 +424,7 @@ void RemoveDirectory(string directoryName) Console.WriteLine(mkdResponse); } -void PrintWorkingDirectorySocket() +void PrintWorkingDirectory() { // 1. Enviar el comando PWD SendCommand("PWD"); @@ -465,4 +465,24 @@ string ListFiles(string path = "") Init(args[1], int.Parse(args[3]), args[5], args[7]); Connect(user, password); -// Console.ReadLine(); + +if(args.Length >= 9){ + string command = args[9]; + string param_1; + string param_2; + + if(args.Length >= 11) param_1 = args[11]; + if(args.Length >= 13) param_2 = args[13]; + + switch (command) + { + case "PWD": + { + PrintWorkingDirectory(); + break; + } + default: + break; + } +} +// Console.ReadLine(); \ No newline at end of file From 559030a40d2b534be92ffbd819df951dd3d8bf1b Mon Sep 17 00:00:00 2001 From: JustRaidell <129128894+JustRaidell@users.noreply.github.com> Date: Fri, 14 Feb 2025 23:46:10 -0500 Subject: [PATCH 9/9] Program.cs update --- client/Program.cs | 107 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 92 insertions(+), 15 deletions(-) diff --git a/client/Program.cs b/client/Program.cs index 73787ca9..0a8cc71b 100644 --- a/client/Program.cs +++ b/client/Program.cs @@ -117,7 +117,6 @@ string ReceiveData(Socket dataSocket) return sb.ToString(); } - //Funciones Principales void Connect(string _user, string _password) { @@ -157,7 +156,7 @@ void ChangeWorkingDirectory(string directory) Console.WriteLine(ReceiveResponse()); } -void ChangeDirectoryUP(string directory) +void ChangeDirectoryUP() { path = path.Substring(0, path.LastIndexOf('/')); @@ -260,14 +259,26 @@ void UploadFile(string localFilePath, string remoteFileName) string response = ReceiveResponse(); Console.WriteLine(response); - SendData(data_socket, localFilePath); // Enviar datos a traves del dataSocket - data_socket.Close(); + data_socket.SendTimeout = 5000; + data_socket.ReceiveTimeout = 5000; - SetPassiveMode(); + try + { + SendData(data_socket, localFilePath); // Enviar datos a traves del dataSocket + } + catch (SocketException ex) + { + if (ex.SocketErrorCode == SocketError.TimedOut) AbortCommand(); + Console.WriteLine(ReceiveResponse()); //Recibe la respuesta final del servidor + } + finally + { + data_socket.Close(); + } + + // SetPassiveMode(); - Console.WriteLine(ReceiveResponse()); //Recibe la respuesta final del servidor } - } void DownloadFile(string remoteFilePath, string localFilePath) @@ -345,7 +356,6 @@ void AppendFile(string remoteFilePath, string localFilePath) // Console.WriteLine($"Transferencia completada: " + ReceiveResponse()); } -//Implemento el comando ACCT ? void RenameFile(string oldName, string newName) { @@ -380,8 +390,7 @@ void AbortCommand() { // 1. Enviar el comando ABOR SendCommand("ABOR"); - string abortResponse = ReceiveResponse(); - Console.WriteLine(abortResponse); + Console.WriteLine(ReceiveResponse()); // 3. Cerrar la conexión de datos (si está abierta) if (data_socket != null) @@ -468,19 +477,87 @@ string ListFiles(string path = "") if(args.Length >= 9){ string command = args[9]; - string param_1; - string param_2; + string param_1 = string.Empty; + string param_2 = string.Empty; + + if(args.Length >= 11){ + param_1 = args[11]; + + // Descomentar para usar en Windows con Git bash + // param_1 = param_1.Substring(20, param_1.Length - 20); + } + if(args.Length >= 13){ + param_2 = args[13]; + + // Descomentar para usar en Windows con Git bash + // param_1 = param_1.Substring(20, param_1.Length - 20); + } - if(args.Length >= 11) param_1 = args[11]; - if(args.Length >= 13) param_2 = args[13]; - switch (command) { + case "NOOP": + { + Nothing(); + break; + } case "PWD": { PrintWorkingDirectory(); break; } + case "CWD": + { + ChangeWorkingDirectory(param_1); + break; + } + case "CDUP": + { + ChangeDirectoryUP(); + break; + } + case "QUIT": + { + Close(); + break; + } + case "RETR": + { + SetPassiveMode(); + DownloadFile(param_1, "."); + break; + } + case "STOR": + { + SetPassiveMode(); + UploadFile(param_1, param_2); + break; + } + case "ABOR": + { + SetPassiveMode(); + AbortCommand(); + break; + } + case "RNFR": + { + RenameFile(param_1, param_2); + break; + } + case "DELE": + { + DeleteFile(path, param_1); + break; + } + case "MKD": + { + MakeDirectory(param_1); + break; + } + case "RMD": + { + RemoveDirectory(param_1); + break; + } default: break; }