{"id":13466982,"url":"https://github.com/mutagen-io/mutagen","last_synced_at":"2026-01-12T01:54:04.254Z","repository":{"id":37612246,"uuid":"78026877","full_name":"mutagen-io/mutagen","owner":"mutagen-io","description":"Fast file synchronization and network forwarding for remote development","archived":false,"fork":false,"pushed_at":"2025-04-16T23:12:47.000Z","size":6992,"stargazers_count":3560,"open_issues_count":113,"forks_count":159,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-05-19T14:14:20.328Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mutagen.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mutagen-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-04T15:19:22.000Z","updated_at":"2025-05-19T04:55:05.000Z","dependencies_parsed_at":"2023-12-07T23:29:33.253Z","dependency_job_id":"cf8c02d7-1895-4b03-86e3-904548d68836","html_url":"https://github.com/mutagen-io/mutagen","commit_stats":{"total_commits":2418,"total_committers":9,"mean_commits":268.6666666666667,"dds":0.2162944582299421,"last_synced_commit":"2414b7d53de089dd615e56edd442ceecd0e436a2"},"previous_names":["havoc-io/mutagen"],"tags_count":112,"template":false,"template_full_name":null,"purl":"pkg:github/mutagen-io/mutagen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutagen-io%2Fmutagen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutagen-io%2Fmutagen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutagen-io%2Fmutagen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutagen-io%2Fmutagen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mutagen-io","download_url":"https://codeload.github.com/mutagen-io/mutagen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutagen-io%2Fmutagen/sbom","scorecard":{"id":457742,"data":{"date":"2025-08-11","repo":{"name":"github.com/mutagen-io/mutagen","commit":"03c982a3a34e1dfe496f4bcd4ee7ced34307db68"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Maintained","score":1,"reason":"0 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/9 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/ci.yml:121"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.18.1 not signed: https://api.github.com/repos/mutagen-io/mutagen/releases/202145020","Warn: release artifact v0.18.0 not signed: https://api.github.com/repos/mutagen-io/mutagen/releases/181766080","Warn: release artifact v0.18.0-rc3 not signed: https://api.github.com/repos/mutagen-io/mutagen/releases/181515343","Warn: release artifact v0.18.0-rc2 not signed: https://api.github.com/repos/mutagen-io/mutagen/releases/181036640","Warn: release artifact v0.18.0-rc1 not signed: https://api.github.com/repos/mutagen-io/mutagen/releases/153547125","Warn: release artifact v0.18.1 does not have provenance: https://api.github.com/repos/mutagen-io/mutagen/releases/202145020","Warn: release artifact v0.18.0 does not have provenance: https://api.github.com/repos/mutagen-io/mutagen/releases/181766080","Warn: release artifact v0.18.0-rc3 does not have provenance: https://api.github.com/repos/mutagen-io/mutagen/releases/181515343","Warn: release artifact v0.18.0-rc2 does not have provenance: https://api.github.com/repos/mutagen-io/mutagen/releases/181036640","Warn: release artifact v0.18.0-rc1 does not have provenance: https://api.github.com/repos/mutagen-io/mutagen/releases/153547125"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:127: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:128: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:132: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:141: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:174: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:178: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/mutagen-io/mutagen/ci.yml/master?enable=pin","Warn: containerImage not pinned by hash: images/sidecar/linux/Dockerfile:2","Warn: containerImage not pinned by hash: images/sidecar/linux/Dockerfile:24","Warn: containerImage not pinned by hash: images/sidecar/linux/Dockerfile:40","Warn: containerImage not pinned by hash: images/sidecar/linux/Dockerfile:49","Warn: containerImage not pinned by hash: scripts/ci/docker/linux/Dockerfile:2: pin your Docker image by updating alpine:3.21 to alpine:3.21@sha256:b6a6be0ff92ab6db8acd94f5d1b7a6c2f0f5d10ce3c24af348d333ac6da80685","Warn: containerImage not pinned by hash: scripts/ci/docker/windows/Dockerfile:2: pin your Docker image by updating mcr.microsoft.com/windows/servercore:ltsc2022 to mcr.microsoft.com/windows/servercore:ltsc2022@sha256:d9e1a220c13cf25c7b213fbd96df2b63671e2dba0de3909003d4bb23a8bc8a1c","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 third-party GitHubAction dependencies pinned","Info:   0 out of   6 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T10:11:14.506Z","repository_id":37612246,"created_at":"2025-08-19T10:11:14.506Z","updated_at":"2025-08-19T10:11:14.506Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28331277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"ssl_error","status_checked_at":"2026-01-12T00:36:15.229Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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-07-31T15:00:51.955Z","updated_at":"2026-01-12T01:54:04.237Z","avatar_url":"https://github.com/mutagen-io.png","language":"Go","funding_links":[],"categories":["Go","others"],"sub_categories":[],"readme":"# Mutagen\n\nMutagen is a new kind of remote development tool that enables your existing\nlocal tools to work with code in remote environments like cloud servers and\ncontainers. It does this by providing high-performance real-time\n[file synchronization](https://mutagen.io/documentation/synchronization) and\nflexible [network forwarding](https://mutagen.io/documentation/forwarding).\nIt supports synchronization and forwarding between\n[local systems](https://mutagen.io/documentation/transports/local),\n[SSH-accessible locations](https://mutagen.io/documentation/transports/ssh),\nand [Docker containers](https://mutagen.io/documentation/transports/docker).\n\n\n## Getting started\n\nThe best way to understand Mutagen and its features is to read the\n[Overview](https://mutagen.io/documentation/introduction) and\n[Getting started](https://mutagen.io/documentation/introduction/getting-started)\nguides. You can find information about all of Mutagen's features in the\n[documentation](https://mutagen.io/documentation).\n\n\n## Installation\n\nYou can find\n[installation instructions](https://mutagen.io/documentation/introduction/installation)\nin the [Mutagen documentation](https://mutagen.io/documentation).\n\n\n## Community\n\nThe [Mutagen Community Slack Workspace](https://mutagen.io/slack) is the place\nto go for discussion, questions, and ideas.\n\nFor updates about the project and its releases, you can\n[follow Mutagen on Twitter](https://twitter.com/mutagen_io).\n\n\n## Status\n\nMutagen is built and tested on Windows, macOS, and Linux, and it's available for\n[many more platforms](https://github.com/mutagen-io/mutagen/releases/latest).\n\n| Tests                               | Report card                         |\n| :---------------------------------: | :---------------------------------: |\n| [![Tests][tests-badge]][tests-link] | [![Report card][rc-badge]][rc-link] |\n\n[tests-badge]: https://github.com/mutagen-io/mutagen/workflows/CI/badge.svg \"Test status\"\n[tests-link]: https://github.com/mutagen-io/mutagen/actions \"Test status\"\n[rc-badge]: https://goreportcard.com/badge/github.com/mutagen-io/mutagen \"Report card status\"\n[rc-link]: https://goreportcard.com/report/github.com/mutagen-io/mutagen \"Report card status\"\n\n\n## License\n\nFor license information, please see the [LICENSE](LICENSE) file.\n\n\n## Contributing\n\nIf you'd like to contribute to Mutagen, please see the\n[contribution documentation](CONTRIBUTING.md).\n\n\n## Security\n\nMutagen takes security very seriously. If you believe you have found a security\nissue with Mutagen, please practice responsible disclosure practices and send an\nemail directly to [security@docker.com](mailto:security@docker.com) instead of\nopening a GitHub issue. For more information, please see the\n[security documentation](SECURITY.md).\n\n\n## Versioning and support\n\nMutagen uses [semantic versioning](https://semver.org/) for tracking releases.\nBefore Mutagen reaches version 1.0, each minor release series will be supported\nfor one month after the first release in the next minor release series (e.g.\nv0.10.x will be supported until one month after the release of v0.11.0).\n\nThe builds for each minor release series are pinned to the same Go minor release\nand dependency versions used for developing that series (though patch releases\nwill be incorporated if they contain security fixes).\n\nWe reserve the right to break or bend these rules if necessary for the sake of\nsecurity, e.g. discontinuing support for a minor release to which a security fix\ncannot be backported or upgrading Go minor versions for a release series to\nincorporate important security fixes. Features marked as experimental may also\nsee breakage when necessary, though we will endeavor to keep this to a minimum.\n\n\n## Building\n\nPlease see the [build instructions](BUILDING.md).\n\n\n## External projects\n\nUsers have built a number of cool projects to extend and integrate Mutagen into\ntheir workflows:\n\n- [**Mutagen Helper**](https://github.com/gfi-centre-ouest/mutagen-helper) is a\n  tool that makes the orchestration of synchronization sessions even easier by\n  letting you define sessions with configuration files that live inside your\n  codebase. Thanks to [**@Toilal**](https://github.com/Toilal)!\n- [**docker-magento-mutagen**](https://github.com/mage2click/docker-magento-mutagen)\n  (from [Mage2click](https://mage2.click/)) is a Docker-based development\n  environment for Magento that uses Mutagen for file synchronization. Thanks to\n  [**@u-maxx**](https://github.com/u-maxx) and\n  [**@shkoliar**](https://github.com/shkoliar)!\n- [**MutagenMon**](https://github.com/rualark/MutagenMon) is a Python-based GUI\n  for monitoring Mutagen sessions. Thanks to\n  [**@rualark**](https://github.com/rualark)!\n- [**mutagenmon**](https://github.com/andrewmed/mutagenmon) is an alternative\n  (Go-based) native GUI for Mac, for monitoring Mutagen sessions, provides apple\n  notarized builds.\n\n\n## Unrelated projects\n\nPlease note that this project is unrelated to the\n[Mutagen](https://github.com/quodlibet/mutagen) Python module used for handling\naudio metadata.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutagen-io%2Fmutagen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmutagen-io%2Fmutagen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutagen-io%2Fmutagen/lists"}