Skip to content

Instantly share code, notes, and snippets.

@palemoky
Created June 4, 2026 08:00
Show Gist options
  • Select an option

  • Save palemoky/a10f031dc47214f3b21337d8466efd34 to your computer and use it in GitHub Desktop.

Select an option

Save palemoky/a10f031dc47214f3b21337d8466efd34 to your computer and use it in GitHub Desktop.
Little Snitch dev package managers
{
"name": "Dev Package Managers",
"description": "Allow outgoing connections to common package registries and CDNs (Go, Python, Node, Docker, Rust, Java, Ruby, Dart, PHP, .NET, Swift, Elixir). Subscribe via the raw Gist URL in Little Snitch > Rules > New Rule Group Subscription.",
"rules": [
{
"note": "--- Go modules ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "golang.org, go.dev, sum.golang.org, proxy.golang.org, goproxy.cn, goproxy.io"
},
{
"note": "Go module storage backend (also generic Google CDN)",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "storage.googleapis.com"
},
{
"note": "--- Python: pip / uv / poetry ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "pypi.org, pythonhosted.org, files.pythonhosted.org, python.org"
},
{
"note": "Python mirrors (Tsinghua / Aliyun) — remove if unused",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "pypi.tuna.tsinghua.edu.cn, mirrors.aliyun.com"
},
{
"note": "--- Node: npm / pnpm / yarn ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "npmjs.org, registry.npmjs.org, npmjs.com, yarnpkg.com, registry.yarnpkg.com, nodejs.org"
},
{
"note": "--- Docker ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "docker.io, docker.com, registry-1.docker.io, production.cloudflare.docker.com, ghcr.io"
},
{
"note": "--- GitHub: clone / release / raw downloads ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "github.com, githubusercontent.com, objects.githubusercontent.com, codeload.github.com, ghcr.io"
},
{
"note": "--- Homebrew ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "brew.sh, formulae.brew.sh, ghcr.io"
},
{
"note": "--- Rust: cargo / rustup ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "crates.io, static.crates.io, index.crates.io, rust-lang.org, static.rust-lang.org, sh.rustup.rs"
},
{
"note": "--- Java / Kotlin: Maven / Gradle ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "repo.maven.apache.org, repo1.maven.org, central.sonatype.com, oss.sonatype.org, plugins.gradle.org, services.gradle.org, jitpack.io, gradle.org"
},
{
"note": "--- Ruby: gems / bundler ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "rubygems.org, api.rubygems.org, index.rubygems.org, rubyonrails.org"
},
{
"note": "--- Dart / Flutter ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "pub.dev, pub.dartlang.org, dart.dev, flutter.dev, storage.flutter-io.cn"
},
{
"note": "--- PHP: Composer / Packagist ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "packagist.org, repo.packagist.org, getcomposer.org"
},
{
"note": "--- .NET: NuGet ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "nuget.org, api.nuget.org, dotnet.microsoft.com, dot.net"
},
{
"note": "--- Swift Package Manager / CocoaPods ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "swift.org, cocoapods.org, cdn.cocoapods.org, cdn.jsdelivr.net"
},
{
"note": "--- Elixir / Erlang: Hex ---",
"action": "allow",
"process": "any",
"direction": "outgoing",
"remote-domains": "hex.pm, repo.hex.pm, builds.hex.pm"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment