{"id":22994212,"url":"https://github.com/matcom/computer_networks_fall_2024","last_synced_at":"2025-04-22T17:25:20.797Z","repository":{"id":268009689,"uuid":"903005442","full_name":"matcom/computer_networks_fall_2024","owner":"matcom","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-10T20:19:13.000Z","size":23918,"stargazers_count":0,"open_issues_count":1,"forks_count":32,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T17:11:49.582Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-13T18:13:23.000Z","updated_at":"2025-02-10T20:19:17.000Z","dependencies_parsed_at":"2024-12-13T19:29:41.775Z","dependency_job_id":"ded4d7eb-437a-4d4a-a7a5-b386e7061510","html_url":"https://github.com/matcom/computer_networks_fall_2024","commit_stats":null,"previous_names":["matcom/computer_networks_fall_2024"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcom%2Fcomputer_networks_fall_2024","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcom%2Fcomputer_networks_fall_2024/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcom%2Fcomputer_networks_fall_2024/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcom%2Fcomputer_networks_fall_2024/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcom","download_url":"https://codeload.github.com/matcom/computer_networks_fall_2024/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250286131,"owners_count":21405370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T05:17:29.228Z","updated_at":"2025-04-22T17:25:20.777Z","avatar_url":"https://github.com/matcom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Repositorio para la entrega de proyectos de la asignatura de Redes de Computadoras. Otoño 2024 - 2025\n\n### Requisitos para la ejecución de las pruebas:\n\n1. Ajustar la variable de entorno `procotol` dentro del archivo `env.sh` al protocolo correspondiente. \n\n2. Modificar el archivo `run.sh` con respecto a la ejecución de la solución propuesta.\n\n### Ejecución de los tests:\n\n1. En cada fork del proyecto principal, en el apartado de `actions` se puede ejecutar de forma manual la verificación del código propuesto.\n\n2. Abrir un `pull request` en el repo de la asignatura a partir de la propuesta con la solución.\n\n### Descripción general del funcionamineto de las pruebas:\n\nTodas las pruebas siguen un modelo de ejecución simple. Cada comprobación ejecuta un llamado al scrip `run.sh` contenido en la raíz del proyecto, inyectando los parametros correspondientes.\n\nLa forma de comprobación es similar a todos los protocolos y se requiere que el ejecutable provisto al script `run.sh` sea capaz de, en cada llamado, invocar el método o argumento provisto y terminar la comunicación tras la ejecución satisfactoria del metodo o funcionalidad provista.\n\n### Argumentos provistos por protocolo:\n\n#### HTTP:\n1. -m method. Ej. `GET`\n2. -u url. Ej `http://localhost:4333/example`\n3. -h header. Ej `{}` o `{\"User-Agent\": \"device\"}`\n4. -d data. Ej `Body content`\n\n#### SMTP:\n1. -p port. Ej. `25`\n2. -u host. Ej `127.0.0.1`\n3. -f from_mail. Ej. `user1@uh.cu`\n4. -f to_mail. Ej. `[\"user2@uh.cu\", \"user3@uh.cu\"]`\n5. -s subject. Ej `\"Email for testing purposes\"`\n6. -b body. Ej `\"Body content\"`\n7. -h header. Ej `{}` o ```{\"CC\": \"cc@examplecom\"}```\n\n#### FTP:\n1. -p port. Ej. `21`\n2. -h host. Ej `127.0.0.1`\n3. -u user. Ej. `user`\n4. -w pass. Ej. `pass`\n5. -c command. Ej `STOR`\n6. -a first argument. Ej `\"tests/ftp/new.txt\"`\n7. -b second argument. Ej `\"new.txt\"`\n\n#### IRC\n1. -p port. Ej. `8080`\n2. -H host. Ej `127.0.0.1`\n3. -n nick. Ej. `TestUser1`\n4. -c command. Ej `/nick`\n5. -a argument. Ej `\"NewNick\"`\n\n### Comportamiento de la salida esperada por cada protocolo:\n\n1. ``HTTP``: Json con formato ```{\"status\": 200, \"body\": \"server output\"}```\n\n2. ``SMTP``: Json con formato ```{\"status_code\": 333, \"message\": \"server output\"}```\n\n3. ``FTP``: Salida Unificada de cada interacción con el servidor.\n\n4. ``IRC``:  Salida Unificada de cada interacción con el servidor.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatcom%2Fcomputer_networks_fall_2024","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatcom%2Fcomputer_networks_fall_2024","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatcom%2Fcomputer_networks_fall_2024/lists"}