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.
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.
Revised the README files to clarify that multi-platform support covers mainstream platforms in various development scenarios, improving the accuracy of the feature description.
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.
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.
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.
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.
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.
Deleted a duplicate or unnecessary line in both English and Chinese README files under the Quick Start section to streamline instructions and avoid repetition.
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.
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.
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.
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.
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.
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.
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.
Improved the deployment steps in both English and Chinese README files by adding direct links for forking the repository and updating the instructions for obtaining Cloudflare credentials and configuring GitHub secrets for clarity.
Streamlined the formatting of deployment steps in both English and Chinese README files by merging multi-line list items into single lines for improved readability.
Improved and clarified English documentation in README.en.md and README.md, including badge labels, section titles, and usage instructions for better accuracy and readability. Removed the obsolete scripts/test.js file.
Added detailed observability configuration for logs and traces, including persistence and invocation logs. Moved placement mode to a dedicated section and adjusted observability flags for improved monitoring and deployment control.
This commit deletes the configuration for npm dependency updates in .github/dependabot.yml, leaving only GitHub Actions workflow updates. This streamlines automated dependency management to focus on GitHub Actions.