{"id":17101903,"url":"https://github.com/maskray/rftp","last_synced_at":"2025-03-23T19:18:51.714Z","repository":{"id":12829406,"uuid":"15504742","full_name":"MaskRay/RFTP","owner":"MaskRay","description":"FTP client and server","archived":false,"fork":false,"pushed_at":"2013-12-29T06:37:01.000Z","size":180,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-29T02:27:10.457Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/MaskRay.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}},"created_at":"2013-12-29T06:32:48.000Z","updated_at":"2022-04-12T15:36:46.000Z","dependencies_parsed_at":"2022-08-30T12:02:08.609Z","dependency_job_id":null,"html_url":"https://github.com/MaskRay/RFTP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaskRay%2FRFTP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaskRay%2FRFTP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaskRay%2FRFTP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaskRay%2FRFTP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaskRay","download_url":"https://codeload.github.com/MaskRay/RFTP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245153892,"owners_count":20569408,"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-10-14T15:27:20.020Z","updated_at":"2025-03-23T19:18:51.677Z","avatar_url":"https://github.com/MaskRay.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RFTP\n\n## Features\n\n### Client\n\n- Command line editing with GNU Readline\n- Resume of uploading/downloading\n- IPv6 (supporting `EPRT`, `EPSV`)\n- Active/passive modes\n- Multiple log levels\n\n```\n% ~/Dev/RFTP/build/ftp -d '[::1]'\n\u003c-- 220 ProFTPD 1.3.4d Server (ProFTPD Default Server) [::1]\nrftp@::1 \u003e\u003e= ?\nAll commands: active, cat, cd, cdup, chdir, chmod, connect, close, debug, dir, get, help, lcd, login, list, lpwd, ls, md, mkdir, mv, open, passive, put, pwd, quit, quote, rhelp, rd, rmdir, site, size, ?\nrftp@::1 \u003e\u003e= login\nLogin (anonymous):\n--\u003e USER anonymous\n\u003c-- 331 Anonymous login ok, send your complete email address as your password\nPassword:\n--\u003e PASS anonymous@\n\u003c-- 230 Anonymous access granted, restrictions apply\n--\u003e PWD\n\u003c-- 257 \"/\" is the current directory\nrftp@::1 / \u003c\u003e /tmp \u003e\u003e= ls\n--\u003e EPSV\n\u003c-- 229 Entering Extended Passive Mode (|||12408|)\n--\u003e LIST\n\u003c-- 150 Opening ASCII mode data connection for file list\n-rw-r--r--   1 ftp      ftp             9 Dec 27 09:19 a\ndrwxr-xr-x   2 ftp      ftp          4096 Feb  1  2013 distfiles\ndrwxrwxrwx  12 ftp      ftp          4096 Dec 27 09:25 upload\n\u003c-- 226 Transfer complete\nrftp@::1 / \u003c\u003e /tmp \u003e\u003e= cd upload\n--\u003e CWD upload\n\u003c-- 250 CWD command successful\n--\u003e PWD\n\u003c-- 257 \"/upload\" is the current directory\nrftp@::1 /upload \u003c\u003e /tmp \u003e\u003e= get ii -o iii\n--\u003e EPSV\n\u003c-- 229 Entering Extended Passive Mode (|||47310|)\n--\u003e TYPE I\n\u003c-- 200 Type set to I\n--\u003e RETR ii\n\u003c-- 150 Opening BINARY mode data connection for ii\n\u003c-- 226 Transfer complete\nTransfer complete, file size 0\n```\n\n### Server\n\n```\n% build/ftpd\nFTP server.\n\nUsage: build/ftpd [options] root\nOptions:\n  -6, --ipv6      ipv6 (default is ipv4)\n  -d, --debug\n  -n, --nodaemon  Do not background the process or disassociate it from the controlling terminal\n  -p, --port      listening port\n  -q, --quiet\n  -u, --user      Change user identity\n  -h, --help      display this help and exit\n\nReport bugs to i@maskray.me\n```\n\n## Test\n\n```\n% make --no-p test\nmake -C tests/sock test\necho 5 | socat - tcp-l:9999,reuseaddr \u0026\nsleep 0.05\n./main\n5\nhello, world\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaskray%2Frftp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaskray%2Frftp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaskray%2Frftp/lists"}