{"id":20331024,"url":"https://github.com/fracerqueira/packagestransfer","last_synced_at":"2026-05-04T17:34:24.514Z","repository":{"id":89572055,"uuid":"606177348","full_name":"FRACerqueira/PackagesTransfer","owner":"FRACerqueira","description":"Transfer packages between source to target with protocols Nuget and Npm","archived":false,"fork":false,"pushed_at":"2023-03-02T11:26:00.000Z","size":62386,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T12:30:21.760Z","etag":null,"topics":["azure-devops","npm","npm-publish","nuget","nuget-publisher","package-management","transfer-files"],"latest_commit_sha":null,"homepage":"","language":"C#","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/FRACerqueira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"FRACerqueira"}},"created_at":"2023-02-24T19:24:28.000Z","updated_at":"2023-03-01T12:51:50.000Z","dependencies_parsed_at":"2023-06-26T01:51:23.663Z","dependency_job_id":null,"html_url":"https://github.com/FRACerqueira/PackagesTransfer","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/FRACerqueira/PackagesTransfer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRACerqueira%2FPackagesTransfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRACerqueira%2FPackagesTransfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRACerqueira%2FPackagesTransfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRACerqueira%2FPackagesTransfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FRACerqueira","download_url":"https://codeload.github.com/FRACerqueira/PackagesTransfer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRACerqueira%2FPackagesTransfer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32617954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","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":["azure-devops","npm","npm-publish","nuget","nuget-publisher","package-management","transfer-files"],"created_at":"2024-11-14T20:18:30.256Z","updated_at":"2026-05-04T17:34:24.480Z","avatar_url":"https://github.com/FRACerqueira.png","language":"C#","funding_links":["https://github.com/sponsors/FRACerqueira"],"categories":[],"sub_categories":[],"readme":"# \u003cimg align=\"left\" width=\"100\" height=\"100\" src=\"./docs/images/icon.png\"\u003eWelcome to PackagesTransfer\n[![Build](https://github.com/FRACerqueira/PackagesTransfer/workflows/Build/badge.svg)](https://github.com/FRACerqueira/PackagesTransfer/actions/workflows/build.yml)\n[![Publish](https://github.com/FRACerqueira/PackagesTransfer/actions/workflows/publish.yml/badge.svg)](https://github.com/FRACerqueira/PackagesTransfer/actions/workflows/publish.yml)\n[![License](https://img.shields.io/github/license/FRACerqueira/PackagesTransfer)](https://github.com/FRACerqueira/PackagesTransfer/blob/master/LICENSE)\n\n**Interactive command-line to transfer packages between source to target with protocols Nuget and Npm.**\n\n## Download Runtime artefact\n\n- [Click here for Windows-X64 plataform](https://github.com/FRACerqueira/PackagesTransfer/releases/latest/download/Runtime-Windows64.zip) \n    - Extract the files in a folder and then run \"./PackagesTransfer.exe\" \n\n- [Click here for Linux-X64 plataform](https://github.com/FRACerqueira/PackagesTransfer/releases/latest/download/Runtime-Linux64.zip) \n    - Extract the files in a folder and then run \"./PackagesTransfer\" \n\n## Snapshot\n\n### Exemple 1\n![](./docs/images/snapshot.png)\n### Exemple 2\n![](./docs/images/snapshot1.png)\n\n## Features\n[**Top**](#welcome-to-packagestransfer)\n\n- Runs cross-platform (Windows/Linux)\n\n- Verbose log to file (Folder Logs)\n\n- Two types of protocols\n    - NUGET (buit-in protocol)\n    - NPM (must have the corresponding client version installed on your machine)\n\n- Three types of transfer:\n    - Between Azure-devops\n    - File System to Azure-devops\n    - Azure-devops to File System\n\n- Option to skip packages by Upstream-Source\n\n- Shows in advance the count of distinct and versioned packages by protocol type\n\n- Pre-skip already existing packets at the destination\n\n- When the origin is a file system, it allows up to 10 levels of search sub-folders\n\n- Authentication with Azure-devops is performed with PAT (Personal Access Token)\n\n- Display of a summary of successful and failed transfers\n\n- All entries are saved (except passwords) in the usersettings.json file for the next run to be done in the \"Next–Next–Finished\" template\n\n## Application configuration\n\nDefault settings are saved in the appsettings.json file\n\n```csharp\n{\n  \"DefaultSettings\": {\n    \"showtips\": false,\n    \"prefixurifeedsource\": \"feeds\",\n    \"prefixurifeedtarget\": \"feeds\",\n    \"prefixuripkgsource\": \"pkgs\",\n    \"prefixuripkgtarget\": \"pkgs\",\n    \"sourceuri\": \"https://\",\n    \"targeturi\": \"https://\",\n    \"pagelength\": 10,\n    \"takequery\": 50,\n    \"timeouthistorydays\": 30,\n    \"timeoutcmd\": 15000,\n    \"timeoutpush\": 60000,\n    \"maxhistory\": 5,\n    \"tmpfolder\": \"TransferTmp\",\n    \"sufixnuget\": \".nupkg;\",\n    \"sufixnpm\": \".tgz;.jar;\"\n  }\n}\n```\n\n- showtips : default value to show/hide tooltips for controls\n- prefixurifeedsource : default text for source azure-devops feed url prefix\n- prefixurifeedtarget : default text for target azure-devops feed url prefix\n- prefixuripkgsource : default text for source azure-devops package url prefix\n- prefixuripkgtarget : default text for target azure-devops package url prefix\n- sourceuri : default text for source azure-devops url \n- targeturi : default text for target azure-devops url\n- pagelength : number of items per page for list controls\n- takequery: maximum amount of items per query to azure-devops\n- timeouthistorydays: timeout history for inputs, after timeout the item will be removed.\n- timeoutcmd : timeout in milliseconds for executing local protocol commands\n- timeoutpush: timeout in milliseconds to transfer package\n- maxhistory : Maximum number of items in history. when reaching the maximum, the items will be rotated by the oldest.\n- tmpfolder : default text for temporary transfer folder\n- sufixnuget : default extensions of nuget protocol files. extensions are separated by semicolons\n    - the first extension in the list will be used by default\n- sufixnpm : default extensions of npm protocol files. extensions are separated by semicolons\n    - the first extension in the list will be used by default\n\n## Supported platforms\n[**Top**](#welcome-to-packagestransfer)\n\n- Windows\n    - Command Prompt, PowerShell, Windows Terminal\n- Linux (Ubuntu, etc)\n    - Windows Terminal (WSL 2)\n\n## Release Notes \n[**Top**](#welcome-to-packagestransfer)\n\n**PackagesTransfer (V1.0.0)**\n\n- GA access\n\n## License\n[**Top**](#welcome-to-packagestransfer)\n\nThis project is licensed under the [MIT License](https://github.com/FRACerqueira/PackagesTransfer/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffracerqueira%2Fpackagestransfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffracerqueira%2Fpackagestransfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffracerqueira%2Fpackagestransfer/lists"}