Commit Graph
639 Commits
Author SHA1 Message Date
xixu-me 0204501aba Redirect invalid and incomplete paths to homepage
Update request handling to redirect root, invalid platform prefixes, and platform prefixes without resource paths to the homepage. Adjust tests to expect 302 redirects instead of 404 or 400 responses for these cases.
2025-11-18 18:30:15 +08:00
xixu-me 7d757f99a6 Add Product Hunt badge to README
Included a Product Hunt badge in the README to highlight the project's presence on Product Hunt and improve visibility.
2025-11-18 17:50:46 +08:00
xixu-me 0af31b20af Add Product Hunt badge to README
Included a Product Hunt badge with a link and image to promote Xget on Product Hunt. This enhances project visibility and provides users with a quick way to access the Product Hunt page.
2025-11-18 17:50:07 +08:00
xixu-me 8391175a46 Merge branch 'main' of https://github.com/xixu-me/Xget 2025-11-18 13:20:21 +08:00
xixu-me 763d3bf7a0 Add EdgeOne Pages conversion workflow
Introduces a new GitHub Actions job to automate converting the Worker codebase for EdgeOne Pages deployment. The workflow copies runtime files, creates a catch-all Pages Function handler, updates exports, generates edgeone.json configuration, modifies package.json scripts, and force-pushes to a dedicated 'pages' branch.
2025-11-18 12:10:44 +08:00
xixu-me 5739ae027a Merge pull request #107 from xixu-me/dependabot/github_actions/actions/attest-build-provenance-3
ci(deps): bump actions/attest-build-provenance from 2 to 3
2025-11-18 11:01:40 +08:00
xixu-me eb75686488 Add concurrency to workflows and refine sync job
Renamed 'depoly.yml' to 'deploy.yml' and added concurrency groups to deploy, image, and sync workflows for better job management. Updated the sync workflow to copy only runtime-required files, removing documentation, tests, and development configs from the deployment process.
2025-11-17 19:52:40 +08:00
xixu-me a1c87d9cba Merge pull request #102 from xixu-me/dependabot/npm_and_yarn/wrangler-4.47.0
deps(deps-dev): bump wrangler from 4.35.0 to 4.47.0
2025-11-17 19:32:51 +08:00
dependabot[bot] ad0aa07083 ci(deps): bump actions/attest-build-provenance from 2 to 3
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 2 to 3.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest-build-provenance/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 11:31:44 +00:00
dependabot[bot] 8554732379 deps(deps-dev): bump wrangler from 4.35.0 to 4.47.0
Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.35.0 to 4.47.0.
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/wrangler/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.47.0/packages/wrangler)

---
updated-dependencies:
- dependency-name: wrangler
  dependency-version: 4.47.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 11:29:34 +00:00
xixu-me 84a9094463 Merge pull request #101 from xixu-me/dependabot/docker/node-25-slim
deps(deps): bump node from 22-slim to 25-slim
2025-11-17 19:29:08 +08:00
dependabot[bot] e031a45fe7 deps(deps): bump node from 22-slim to 25-slim
Bumps node from 22-slim to 25-slim.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25-slim
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 11:24:43 +00:00
xixu-me 73f6e58be8 Update workflows and dependabot config
Added npm and Docker support to dependabot.yml. Updated deploy and image workflows to use latest actions/checkout and set timeouts. Renamed and improved sync workflow to exclude docs and tests, and updated file copy logic.
2025-11-17 19:18:57 +08:00
xixu-me 130cb34bde Refactor Pages deployment workflows
Remove legacy EdgeOne Pages deployment and sync workflows, and add a new unified sync-worker-to-page.yml workflow for converting and syncing Worker code to a Pages-compatible branch. This streamlines the deployment process and updates the automation to use a more standard Cloudflare Pages Functions handler and configuration.
2025-11-17 18:54:28 +08:00
xixu-me 0215802799 Add workflow_dispatch trigger to sync-to-pages
Enables manual triggering of the sync-to-pages GitHub Actions workflow by adding the workflow_dispatch event.
2025-11-17 18:34:55 +08:00
xixu-me ef797b4a5b Add EdgeOne Pages deployment and sync workflows
Introduces two GitHub Actions workflows: one for deploying the 'pages' branch to EdgeOne Pages, and another for auto-syncing and converting the main Worker codebase to the 'pages' branch. This enables automated deployment and compatibility with EdgeOne Pages, including conversion steps, configuration, and branch management.
2025-11-17 18:33:05 +08:00
xixu-me b1239ed2a7 Update deployment URL to use server IP 2025-11-17 00:11:34 +08:00
xixu-me c2e49b17a4 Change deployment URL in README
Updated the deployment URL to use server IP instead of localhost.
2025-11-17 00:10:25 +08:00
xixu-me 07ca61d7e7 Merge pull request #99 from xixu-me/revert-98-claude/convert-worker-to-page-01DE45LDeFDo6Fre2ZPSq6Ng
Revert "Convert Cloudflare Worker to Cloudflare Pages"
2025-11-16 23:30:16 +08:00
xixu-me 3b1ee1cd2e Revert "Convert Cloudflare Worker to Cloudflare Pages" 2025-11-16 23:29:53 +08:00
xixu-me 5e9c965218 Merge pull request #98 from Jane-o-O-o-O/claude/convert-worker-to-page-01DE45LDeFDo6Fre2ZPSq6Ng
Convert Cloudflare Worker to Cloudflare Pages
2025-11-16 23:26:13 +08:00
Claude eabf0782d4 Convert Cloudflare Worker to Cloudflare Pages
This commit converts the entire Xget application from a Cloudflare Worker
to a Cloudflare Page, enabling static asset hosting while maintaining all
existing functionality.

Changes:
- Add functions/[[path]].js: Catch-all Pages Function handler
- Add public/index.html: Landing page with Xget information
- Update src/index.js: Export handleRequest for Pages Function import
- Update wrangler.toml: Configure for Pages deployment
- Update package.json: Change scripts to use Pages commands
- Update vitest.config.js: Include functions/ in coverage
- Update .github/workflows/depoly.yml: Deploy to Pages
- Update documentation: CLAUDE.md, README.md, README.en.md

The conversion maintains full backward compatibility with existing tests
and functionality. All caching strategies, security headers, and protocol
handling remain unchanged.
2025-11-16 15:18:34 +00:00
xixu-me f74850e5a2 Revise and expand project documentation in CLAUDE.md
Updated the CLAUDE.md file to provide a more comprehensive and structured overview of the Xget project. The changes include expanded feature lists, clearer architecture and testing sections, detailed command references, platform support instructions, security considerations, and deployment guidance. The documentation is now more accessible for new contributors and better reflects the current state and best practices of the project.
2025-11-16 21:51:09 +08:00
xixu-me 973daacf2c Update multi-platform support description in README
Revised the README files to clarify that multi-platform support covers mainstream platforms in various development scenarios, improving the accuracy of the feature description.
2025-11-16 21:03:37 +08:00
xixu-me ef3dec1754 Improve cache handling and error resilience
Enhances cache logic to ensure compatibility with non-Cloudflare environments by checking for cache API availability. Refactors cache key construction to always use GET method, adds error handling for cache operations, and ensures only GET requests are cached. Improves robustness and prevents runtime errors when cache API is unavailable.
2025-11-16 20:50:13 +08:00
xixu-me 5a6ae81a9a Add GPLv3 license headers to source files
Added GNU General Public License v3 headers to index.js, config/index.js, and config/platforms.js to clarify licensing and copyright information.
2025-11-16 19:46:48 +08:00
xixu-me cadf5b1275 Add Podman support and update badges in docs
Added Podman deployment instructions and badges to both English and Chinese README files. Updated several badge colors for consistency. Introduced new scripts for badge color fixes. Updated dependencies in package.json and package-lock.json. Added scripts/README.md and scripts/fix-badge-colors.js for badge management.
2025-11-16 19:31:19 +08:00
xixu-me 43fb0534ff Add attestations permission to workflow
Grants the workflow 'attestations: write' permission, likely to enable the creation or management of attestations during the job execution.
2025-11-16 18:12:03 +08:00
xixu-me 73108629fc Update Docker workflow and badges in README files
Added Docker badge and updated Cloudflare Workers badge links in both English and Chinese README files. In the GitHub Actions workflow, assigned an id to the Docker build-and-push step and updated the provenance attestation to use the correct digest output.
2025-11-16 18:09:48 +08:00
xixu-me ad2bf1933c Update docs, Dockerfile, and CI for container registry support
Expanded documentation in both English and Chinese READMEs to include detailed container registry acceleration usage and deployment instructions. Refactored Dockerfile to use a multi-stage build with workerd for self-hosted deployment. Improved .dockerignore for cleaner builds. Updated GitHub Actions workflows to refine path ignores and metadata extraction. Added config.capnp for workerd configuration. Removed obsolete .html file and enhanced CLAUDE.md with comprehensive architecture and development guidance.
2025-11-16 17:46:48 +08:00
xixu-me 04410291e2 Merge pull request #97 from xixu-me/dependabot/npm_and_yarn/npm_and_yarn-3c67cbb9cd
chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in the npm_and_yarn group across 1 directory
2025-11-16 15:22:16 +08:00
dependabot[bot] e15aa360eb chore(deps-dev): bump js-yaml
Bumps the npm_and_yarn group with 1 update in the / directory: [js-yaml](https://github.com/nodeca/js-yaml).


Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-16 07:16:33 +00:00
xixu-me 699d85180b Add DartNode badge to README
Appended a 'Powered by DartNode' badge with a link and image to the end of the README to acknowledge infrastructure support.
2025-11-16 11:56:38 +08:00
xixu-me 6e5eb6878d Update disclaimers and contribution/contact info in docs
Revised the disclaimer sections in both README files for clarity, legal accuracy, and broader coverage of use cases. Updated CONTRIBUTING.md to improve language consistency and removed references to GitHub Discussions. Removed author contact and sponsorship sections from the README files.
2025-11-15 17:32:02 +08:00
xixu-me f187e22934 Fix misplaced closing div in README files
Moved the closing </div> tag to the correct position in both README.en.md and README.md to ensure proper HTML structure in the badges section.
2025-11-15 12:52:09 +08:00
xixu-me 5168db3f8c Reorder badges and Trendshift banner in README files
Moved the Trendshift banner above the badges and adjusted the README headers for better visual hierarchy in both English and Chinese README files.
2025-11-15 12:51:12 +08:00
xixu-me 65119b4bdc Add rocket emoji to project title in README files
Updated both English and Chinese README files to include a rocket emoji in the project title for improved visual appeal.
2025-11-14 17:14:24 +08:00
xixu-me 12e77c4f3f Remove redundant quick start usage line from README
Deleted a duplicate or unnecessary line in both English and Chinese README files under the Quick Start section to streamline instructions and avoid repetition.
2025-11-14 17:04:25 +08:00
xixu-me 6c903f021a Update badge anchor links in README.en.md
Changed badge anchor links from Chinese to English section headers for better consistency and accessibility in the English README.
2025-11-14 17:02:44 +08:00
xixu-me e2e79946ed Update badges and layout in README files
Reorganized and updated badges in both English and Chinese README files for improved clarity and consistency. Added new badges for Cloudflare Workers, Chromium, and Firefox, and adjusted the layout for better visual alignment.
2025-11-14 17:00:47 +08:00
xixu-me 6fd84371e9 Update README header formatting
Simplified the README header by replacing the custom HTML heading and logo with a Markdown heading. Moved the Trendshift badge below the badges section for better organization.
2025-11-14 16:58:57 +08:00
xixu-me 497fc7d7d6 Refactor heading markup and add .html file
Unified the heading markup in README.md to use inline-flex styling for better alignment and created a new .html file with the same heading structure.
2025-11-14 16:57:21 +08:00
xixu-me 2aada8160f Enhance README with logo and badges
Added a centered logo, improved badge layout, and reorganized the top section of the README for better visual appeal and clarity.
2025-11-14 16:53:51 +08:00
xixu-me 6245da9e6f Add support for GitHub Gist platform
Added GitHub Gist ('gist') to the supported platforms in the configuration, updated documentation in both English and Chinese READMEs, and included related tests to ensure correct path transformation and base URL.
2025-11-10 20:45:58 +08:00
xixu-me 2a02852a5d Add isGitLFS checks to request handling logic
Updated the request handling logic in src/index.js to include isGitLFS in conditions for setting request body, copying headers, and returning responses. This ensures proper handling of Git LFS operations alongside Git, Docker, and AI requests.
2025-11-09 17:28:18 +08:00
xixu-me 17f94416d6 Add Git LFS protocol support and tests
Introduces detection and handling for Git LFS (Large File Storage) operations, including LFS-specific endpoints, headers, and user agents. Updates request validation, header management, and cache logic to properly support LFS requests and ensure real-time data synchronization. Adds comprehensive integration and unit tests for LFS scenarios, and documents the new behavior in CLAUDE.md.
2025-11-09 15:51:39 +08:00
xixu-me 5fa02528de Merge pull request #90 from xixu-me/claude/add-docker-hub-support-011CUwtvnEPwVgw2HJrZiUFL
Add Docker Hub support
2025-11-09 15:26:25 +08:00
Claude f94c8b0115 Update documentation with Docker Hub container registry support
This commit updates all documentation to reflect the new Docker Hub support:

Documentation updates:
- Add Docker Hub to container registry tables in README.md and README.en.md
- Add Docker Hub examples showing both official and user images
- Update CLAUDE.md with Docker Hub platform category and special handling notes

Docker Hub usage examples:
- Official images: /cr/docker/v2/nginx/manifests/latest
- User images: /cr/docker/v2/nginxinc/nginx-unprivileged/manifests/latest

Docker Hub is now listed as the first container registry in documentation tables, reflecting its position as the most widely used container registry.
2025-11-09 07:21:31 +00:00
Claude 57e30e8aaa Add Docker Hub container registry support with library prefix handling
This commit adds support for Docker Hub (registry-1.docker.io) as a container registry platform with special authentication handling for official images.

Changes:
- Add 'cr-docker' platform pointing to https://registry-1.docker.io in platforms.js
- Implement special authentication scope handling for Docker Hub official images
- Docker Hub stores official images (nginx, redis, etc.) as library/nginx, library/redis
- Single-component image names are automatically prefixed with 'library/' for authentication
- Multi-component names (user/image) are passed through unchanged
- Add comprehensive tests for Docker Hub support

This resolves the issue where pulling public images from Docker Hub would prompt for authentication incorrectly. The library prefix is now automatically added to the authentication scope for single-name images, allowing proper anonymous access to public official images.

Test coverage:
- Official images (single-name): /cr/docker/v2/nginx/manifests/latest
- User images (namespaced): /cr/docker/v2/nginxinc/nginx-unprivileged/manifests/latest
- GET and HEAD request methods verified

All Docker Hub specific tests pass.
2025-11-09 07:16:03 +00:00
xixu-me d67bbc819a Emphasize link to technical analysis article in README
Updated the formatting of the technical analysis article link in the README to use bold and italics for greater emphasis.
2025-11-07 15:49:32 +08:00