{"id":22381808,"url":"https://github.com/007tickooayush/ftp-rustified","last_synced_at":"2026-07-13T22:31:21.897Z","repository":{"id":255652066,"uuid":"853305444","full_name":"007tickooayush/ftp-rustified","owner":"007tickooayush","description":"A File Transfer Protocol (FTP) server made with Rust programming language using tokio library.","archived":false,"fork":false,"pushed_at":"2024-11-29T15:40:43.000Z","size":324,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-19T22:57:59.846Z","etag":null,"topics":["rust","rust-lang","serde","serde-json","tokio","tokio-io"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/007tickooayush.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-06T11:52:59.000Z","updated_at":"2024-11-29T17:09:38.000Z","dependencies_parsed_at":"2025-10-19T16:27:48.574Z","dependency_job_id":"533d6301-3ad4-44fd-9938-793cb151a6bd","html_url":"https://github.com/007tickooayush/ftp-rustified","commit_stats":null,"previous_names":["007tickooayush/ftp-rustified"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/007tickooayush/ftp-rustified","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/007tickooayush%2Fftp-rustified","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/007tickooayush%2Fftp-rustified/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/007tickooayush%2Fftp-rustified/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/007tickooayush%2Fftp-rustified/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/007tickooayush","download_url":"https://codeload.github.com/007tickooayush/ftp-rustified/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/007tickooayush%2Fftp-rustified/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35439213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-13T02:00:06.543Z","response_time":119,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["rust","rust-lang","serde","serde-json","tokio","tokio-io"],"created_at":"2024-12-05T00:10:31.583Z","updated_at":"2026-07-13T22:31:21.877Z","avatar_url":"https://github.com/007tickooayush.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FTP Server Project\n\n### NOTE: *The project currently supports only gFTP FTP client and has only a few FTP commands and is a work in progress. The TLS and SSL support is not implemented yet.*\n\n## Overview\n\nThis project is an FTP server implemented in Rust. It supports various FTP commands and provides functionalities for file transfer, directory management, and user authentication. The server is designed to handle multiple clients concurrently using asynchronous programming with `tokio`.\n\n## Features\n\n- **File Transfer**: Upload and download files.\n- **Directory Management**: Create, delete, and list directories.\n- **User Authentication**: Basic user authentication.\n- **Asynchronous Handling**: Efficient handling of multiple clients using `tokio`.\n\n## Dependencies\n\nThe project uses the following dependencies:\n\n- `tokio`: Asynchronous runtime for Rust.\n- `serde`: Serialization and deserialization framework.\n- `dotenv`: Load environment variables from a `.env` file.\n\n## FTP Commands\n\n### USER\n\n**Description**: Specify the user for authentication.\n\n**Usage**: `USER \u003cusername\u003e`\n\n**Example**:\n\nUSER anonymous\n\n\n### PASS\n\n**Description**: Specify the password for authentication.\n\n**Usage**: `PASS \u003cpassword\u003e`\n\n**Example**:\n\nPASS guest\n\n### QUIT\n\n**Description**: Terminate the connection.\n\n**Usage**: `QUIT`\n\n**Example**:\n\nQUIT\n\n\n### RETR\n\n**Description**: Retrieve a file from the server.\n\n**Usage**: `RETR \u003cfilename\u003e`\n\n**Example**:\n\nRETR example.txt\n\n### STOR\n\n**Description**: Store a file on the server.\n\n**Usage**: `STOR \u003cfilename\u003e`\n\n**Example**:\n\nSTOR example.txt\n\n### DELE\n\n**Description**: Delete a file from the server.\n\n**Usage**: `DELE \u003cfilename\u003e`\n\n**Example**:\n\nDELE example.txt\n\n### RMD\n\n**Description**: Remove a directory.\n\n**Usage**: `RMD \u003cdirectory\u003e`\n\n**Example**:\n\nRMD /example_directory\n\n### MKD\n\n**Description**: Create a directory.\n\n**Usage**: `MKD \u003cdirectory\u003e`\n\n**Example**:\n\nMKD /example_directory\n\n### PWD\n\n**Description**: Print the current working directory.\n\n**Usage**: `PWD`\n\n**Example**:\n\nPWD\n\n### LIST\n\n**Description**: List files in the current directory.\n\n**Usage**: `LIST`\n\n**Example**:\n\nLIST\n\n### SIZE\n\n**Description**: Return the size of a file.\n\n**Usage**: `SIZE \u003cfilename\u003e`\n\n**Example**:\n\nSIZE example.txt\n\nEnsure that you have a `.env` file with the necessary environment variables, such as `ROOT_DIR` for the server's root directory.\n\n## Usage\n\nTo run the server, use the following command:\n\n```bash\ncargo run\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F007tickooayush%2Fftp-rustified","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F007tickooayush%2Fftp-rustified","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F007tickooayush%2Fftp-rustified/lists"}