{"id":20566041,"url":"https://github.com/fischerscode/ftpconnect","last_synced_at":"2026-04-22T09:31:35.198Z","repository":{"id":104904935,"uuid":"358445546","full_name":"fischerscode/ftpConnect","owner":"fischerscode","description":"A simple and robust dart FTP Client Library to interact with FTP Servers with possibility of zip and unzip files.","archived":false,"fork":false,"pushed_at":"2023-01-09T18:21:43.000Z","size":7349,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-06T08:57:35.813Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":false,"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/fischerscode.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2021-04-16T01:54:42.000Z","updated_at":"2024-07-03T22:36:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"e629b14b-57d0-4fc1-8b07-ac764db1c947","html_url":"https://github.com/fischerscode/ftpConnect","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/fischerscode/ftpConnect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fischerscode%2FftpConnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fischerscode%2FftpConnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fischerscode%2FftpConnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fischerscode%2FftpConnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fischerscode","download_url":"https://codeload.github.com/fischerscode/ftpConnect/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fischerscode%2FftpConnect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32129596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T08:34:57.708Z","status":"ssl_error","status_checked_at":"2026-04-22T08:34:55.583Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-11-16T04:39:51.903Z","updated_at":"2026-04-22T09:31:35.173Z","avatar_url":"https://github.com/fischerscode.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  Flutter FTP Connect\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n  \u003ca href=\"https://flutter.io\" target=\"_blank\"\u003eFlutter\u003c/a\u003e simple and robust dart FTP Connect Library to interact with FTP Servers with possibility of zip and unzip files.\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/salim-lachdhaf/ftpConnect/actions\"\u003e\u003cimg src=\"https://github.com/salim-lachdhaf/ftpConnect/workflows/build/badge.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://pub.dev/packages/ftpconnect\"\u003e\u003cimg src=\"https://img.shields.io/pub/v/ftpconnect?color=blue\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/salim-lachdhaf/ftpConnect\"\u003e\u003cimg src=\"https://codecov.io/gh/salim-lachdhaf/ftpConnect/branch/master/graph/badge.svg\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#key-features\"\u003eKey Features\u003c/a\u003e •\n  \u003ca href=\"https://github.com/salim-lachdhaf/ftpconnect/blob/master/example\"\u003eExamples\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n\n## Key Features\n* Upload files to FTP\n* Download files/directories from FTP\n* List FTP directory contents\n* Manage FTP files (rename/delete)\n* Manage file zipping/unzipping\n* Completely asynchronous functions\n\n\n## Example upload file\n###example 1:\n```dart\nimport 'dart:io';\nimport 'package:ftpconnect/ftpConnect.dart';\n\nmain() async{\n    FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');\n    File fileToUpload = File('fileToUpload.txt');\n    await ftpConnect.connect();\n    bool res = await ftpConnect.uploadFileWithRetry(fileToUpload, pRetryCount: 2);\n    await ftpConnect.disconnect();\n    print(res);\n}\n```\n\n###example 2: step by step\n```dart\nimport 'dart:io';\nimport 'package:ftpconnect/ftpConnect.dart';\n\nmain() async{\n  FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');\n try {\n      File fileToUpload = File('fileToUpload.txt');\n      await ftpConnect.connect();\n      await ftpConnect.uploadFile(fileToUpload);\n      await ftpConnect.disconnect();\n    } catch (e) {\n      //error\n    }\n}\n```\n\n## Download file\n###example 1:\n```dart\nimport 'dart:io';\nimport 'package:ftpconnect/ftpConnect.dart';\n\nmain() async{\n    FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');\n    String fileName = 'toDownload.txt';\n    await ftpConnect.connect();\n    bool res = await ftpConnect.downloadFileWithRetry(fileName, File('myFileFromFTP.txt'));\n    await ftpConnect.disconnect();\n    print(res)\n}\n```\n\n###example 2: step by step\n```dart\nimport 'dart:io';\nimport 'package:ftpconnect/ftpConnect.dart';\n\nmain() {\n  FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');\n try {\n      String fileName = 'toDownload.txt';\n      await ftpConnect.connect();\n      await ftpConnect.downloadFile(fileName, File('myFileFromFTP.txt'));\n      await ftpConnect.disconnect();\n    } catch (e) {\n      //error\n    }\n}\n```\n## Other Features\n###Directory functions:\n```dart\n//Get directory content\nftpConnect.listDirectoryContent({LISTDIR_LIST_COMMAND cmd=LISTDIR_LIST_COMMAND.MLSD});\n\n//Create directory\nftpConnect.makeDirectory('newDir');\n\n//Change directory\nftpConnect.changeDirectory('moveHereDir');\n\n//get current directory\nftpConnect.currentDirectory();\n\n//Delete directory\nftpConnect.deleteDirectory('dirToDelete');\n\n//check for directory existance\nftpConnect.checkFolderExistence('dirToCheck');\n\n//create a directory if it does not exist\nftpConnect.createFolderIfNotExist('dirToCreate');\n```\n###File functions:\n```dart\n//rename file\nftpConnect.rename('test1.txt', 'test2.txt');\n\n//file size\nftpConnect.sizeFile('test1.txt');\n\n//file existence\nftpConnect.existFile('test1.txt');\n\n//delete file\nftpConnect.deleteFile('test2.zip');\n```\n###Zip functions:\n```dart\n//compress a list of files/directories into Zip file\nFTPConnect.zipFiles(List\u003cString\u003e paths, String destinationZipFile);\n\n//unzip a zip file\nFTPConnect.unZipFile(File zipFile, String destinationPath, {password});\n```\n\n## Paramaters\n\n|  Properties |   Description|\n| ------------ | ------------ |\n|`host`|Hostname or IP Address|\n|`port`|Port number (Defaults to 21)|\n|`user`|Username (Defaults to anonymous)|\n|`pass`|Password if not anonymous login|\n|`debug`|Enable Debug Logging|\n|`timeout`|Timeout in seconds to wait for responses (Defaults to 30)|\n\n# [View more Examples](https://github.com/salim-lachdhaf/ftpconnect/tree/master/example)\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffischerscode%2Fftpconnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffischerscode%2Fftpconnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffischerscode%2Fftpconnect/lists"}