GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Mirror packages from the configured upstreams by simonchrz · Pull Request #550 · git-pkgs/proxy

Conversation

@simonchrz

@simonchrz simonchrz commented Oct 22, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

proxy mirror and mirror API jobs resolved download URLs with a bare fetch.NewResolver(), so npm, cargo, gem, golang, hex, pub, maven and nuget packages came from the public registries whatever upstream.* says. The resolver now takes the configured upstreams through fetch.WithBaseURLs (registries v0.11.0, git-pkgs/registries#103).

npm packages in upstream.npm_routes get their own resolver with the route as base URL, so a public package can't stand in for a routed one. They're stored under the route's filename prefix, the way the npm handler stores them; without that a client would never see the mirrored tarball. The test mirrors a routed package, stops the route and checks the npm handler serves it from the cache.

With PROXY_UPSTREAM_NPM=http://127.0.0.1:1, proxy mirror pkg:npm/[email protected] downloads from registry.npmjs.org on main and now fails on the unreachable upstream.

Only the mirror resolves through the resolver; handlers serving clients take URLs from upstream metadata, so they're unaffected.

This doesn't depend on #548. Both add the same handler.RoutedPackageURL, and merging #548, #549 and this onto main gave no conflicts in the three orders I tried.

The rest of #414, resolving pypi, composer, conda, helm and the other ecosystems, still needs registry clients registered on the resolver, so this refs the issue.

Refs #414

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@simonchrz
Mirror packages from the configured upstreams
e92afe9
proxy mirror and mirror API jobs resolved download URLs with a bare
resolver, so npm, cargo, gem, golang, hex, pub, maven and nuget packages
came from the public registries whatever upstream.* says. The resolver
now takes the configured upstreams as base URLs.

npm packages in upstream.npm_routes are fetched from their route and
stored under the route's filename prefix, the way the npm handler does,
so a public package can't stand in for a routed one and clients are
served the mirrored tarball.

Refs git-pkgs#414
andrew
andrew approved these changes Oct 23, 2026
View reviewed changes
@andrew
andrew merged commit a960a5f into git-pkgs:main Oct 23, 2026
6 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@andrew andrew mentioned this pull request Oct 23, 2026
proxy mirror doesn't support julia, cran, homebrew, swift, apk, debian or rpm #414
Open
4 of 11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@andrew andrew andrew approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@simonchrz @andrew
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.