Introduced Dockerfile, .dockerignore, and GitHub Actions workflow for building and publishing Docker images. Added server.js as the Express entrypoint for standalone deployment. Updated README with Docker, Docker Compose, and Kubernetes deployment instructions.
Introduces Vercel deployment support by adding Edge Function handlers in the api directory, Vercel configuration files, and related ignore rules. Updates documentation to include Vercel one-click deployment instructions and badges. Adds Vercel-specific scripts to package.json for development and deployment workflows.
Added information about the new URL converter (xuc.xi-xu.me) to both English and Chinese README files. Also adjusted formatting for public instance mentions for consistency.
Replaces 'npx wrangler auth login' with 'npx wrangler login' in both English and Chinese README files to reflect the updated Wrangler CLI authentication command.
Changed the example base_url for Xget-accelerated OpenAI API from '/ip/openai' to '/ip/openai/v1' in both English and Chinese README files to reflect the correct endpoint.
Improved language, consistency, and technical accuracy throughout the README.en.md file. Updated terminology (e.g., 'link' to 'URL', 'conversion' to 'transformation'), clarified instructions, corrected section titles, and enhanced example explanations. Streamlined descriptions for platform support, usage scenarios, and configuration steps to provide a clearer and more professional guide for users.
Expanded the README to document support for AI inference API acceleration, including a new badge, provider table, usage examples, environment variable configuration, and performance comparisons. This update details how to use Xget to accelerate API calls to over 25 mainstream AI inference providers, with code samples and production deployment recommendations.
Revised README to clarify 'AI 推理 API' terminology, updated Gemini API example URLs to use 'gemini-2.5-flash', and adjusted the related test case in platforms.test.js to match the new Gemini API path.
Renamed several AI provider keys and references (e.g., 'ip-google' to 'ip-gemini', 'ip-mistral' to 'ip-mistralai', etc.) in the codebase, documentation, and tests for improved clarity and alignment with provider branding. Updated README usage examples and provider tables to match the new keys.
Updated documentation and templates to consistently use 'URL' instead of '链接' when referring to web addresses. This improves clarity and aligns terminology across the README, issue, and pull request templates.
Expanded README with detailed documentation and usage examples for AI inference provider acceleration, including a new badge, platform table entries, and code samples for Python and JavaScript. Updated src/config/platforms.js to use the correct Hugging Face inference API endpoint.
Expanded and reordered the list of AI inference providers in the platform configuration to include new providers such as ip-github, ip-nvidia, ip-braintrust, ip-jina, ip-voyageai, ip-burncloud, and ip-poe. Updated the corresponding test to match the new provider list and order.
Introduces isAIInferenceRequest to detect AI inference API requests and updates request validation, caching, and header logic to support AI endpoints. Ensures proper content type and User-Agent headers for AI requests and skips caching for these operations, similar to Git and Docker requests.
Added major AI/ML inference providers to the PLATFORMS config. Introduced comprehensive tests to ensure all providers are defined, their paths are transformed correctly, and valid URLs are constructed.
Updated README.en.md to include Homebrew badge, mirror table entries, usage examples, and detailed configuration instructions for accelerating Homebrew with Xget. Removed Homebrew performance comparison section from README.md.
Added Homebrew, Homebrew API, and Homebrew Bottles platform support in the configuration. Updated the README with Homebrew usage instructions and examples. Introduced comprehensive tests for Homebrew path transformations to ensure correct behavior.
Added Apache as a supported platform in the documentation and configuration. Updated both English and Chinese README files with instructions and examples for accelerating Apache software downloads via Xget, and registered the Apache platform in the platforms.js config.
Added support and documentation for AOSP (Android Open Source Project), CPAN (Perl), and CTAN (TeX/LaTeX) mirrors in both English and Chinese README files. Updated src/config/platforms.js to include these platforms. No functional changes to request handling logic.
Adds special handling for HEAD requests to guarantee the Content-Length header is present. If the initial HEAD response lacks this header, a GET request is performed to retrieve or calculate the correct Content-Length value.
This commit removes all code, documentation, and tests related to the PyTorch platform. PyTorch is no longer listed as a supported platform in the configuration, README files, or test suites.
Refactors PyTorch path transformation logic and enhances URL rewriting for PyTorch wheel index pages to handle both absolute and relative links. Removes unnecessary cache skipping for PyTorch index pages and adds dedicated tests for PyTorch URL rewriting and path transformation.
Added special handling for PyTorch pip index requests to skip cache and set shorter cache duration for index pages. Updated URL rewriting logic to correctly rewrite PyTorch download URLs in HTML responses. Refactored code to distinguish between npm and PyTorch URL rewriting and clarified path transformation for PyTorch in the config.
Introduces PyTorch platform support with URL rewriting for wheel index pages in src/index.js. Updates documentation in both English and Chinese READMEs to reflect new PyTorch installation URLs and verification steps. Adds comprehensive tests for PyTorch proxying, URL transformation, and error handling in test/index.test.js and new test/pytorch.test.js.
Introduces PyTorch as a supported platform in the configuration, updates test utilities and test cases for PyTorch URLs, and adds detailed usage and acceleration instructions for PyTorch in both English and Chinese README files.
Updated both English and Chinese README files to use more precise and consistent names for various container registries in the supported registries table and related documentation sections. This improves clarity for users by specifying full registry names and aligning terminology across both language versions.
Introduces a createConfig function to generate configuration from environment variables, enabling dynamic overrides for deployment environments. Refactors request validation and error responses to use the new config and a standardized error response helper. Updates caching logic to only cache GET and HEAD requests, and rewrites response body handling for platform-specific URL rewrites. Sets package type to 'module' in package.json.
Changed references of ggplot2 from version 3.4.4 to 3.5.2 in both English and Chinese README files and updated related test cases in cran.test.js to ensure consistency with the latest package version.
Replaced outdated Gradle plugin and metadata example URLs with new plugin examples in both English and Chinese README files to provide more relevant and up-to-date references.
Added badges, conversion examples, and configuration instructions for CRAN (R), Rust Crates, openSUSE, and F-Droid mirrors. Improved and clarified documentation for multi-platform integration, updated section titles, and enhanced usage examples for new platforms. Various language and formatting improvements for clarity and consistency.
Removed all references and documentation for APKMirror from the README and dropped APKMirror from the supported platforms in platforms.js. Expanded and improved the F-Droid mirror documentation, including usage examples and developer integration instructions.
Added F-Droid and APKMirror to the supported platforms in both the documentation and the platform configuration. Updated the README with usage instructions, examples, and automation scripts for accelerating Android app downloads from F-Droid and APKMirror.
Changed the badge links for various Linux distributions in the README to point to their specific configuration sections instead of a general section. This improves navigation and clarity for users seeking distribution-specific instructions.
Added openSUSE to the supported platforms in the documentation and configuration. Updated README with openSUSE usage instructions and examples. Introduced tests to verify openSUSE path transformation logic.
Added CRAN (R package repository) support to the platform configuration and updated the README with usage instructions and examples for CRAN. Introduced tests for CRAN path transformation and configuration in a new test/cran.test.js file.
Added Rust crates.io platform support in the documentation and platforms config. Implemented special path transformation logic for crates.io API endpoints in transformPath. Added tests to verify correct path transformation for various crates.io API routes.
Relocated the academic resource acceleration (arXiv download) section above the container image acceleration section in both English and Chinese README files for improved documentation structure and visibility.
Added support and documentation for additional platforms including Gitea, Codeberg, SourceForge, Maven, Gradle, RubyGems, Go, NuGet, Packagist, and various Linux distributions. Expanded usage examples and configuration instructions for these platforms, improved clarity and consistency in language, and updated sections on Git global acceleration, academic resource acceleration, and package manager integration. Minor language and formatting improvements throughout. Also updated a test README for clearer language.
Added arXiv as a supported platform in the platforms configuration and updated the README with usage instructions, badge, and examples for accelerating arXiv paper downloads.
Expanded documentation and platform config to include RubyGems, Go modules, NuGet, Packagist, and major Linux distributions (Debian, Ubuntu, Fedora, Rocky Linux, Arch Linux). Updated README with usage instructions and examples for these new platforms.
Added Maven and Gradle badges, usage instructions, and conversion examples to the README. Updated platforms.js to include Maven and Gradle platform URLs for enhanced package management support.
Merged and reorganized Git全局加速配置 section into the main Git操作与配置 section for clarity. Removed redundant development environment configuration and IDE integration instructions to streamline documentation.
Extended platform support by adding Gitea, Codeberg, and SourceForge to the configuration and documentation. Updated tests to cover new platforms and their path transformations, and enhanced README with usage examples and badges for the new platforms.
Eliminated Docker Hub-specific configuration, path/scope transforms, and related documentation. Deleted src/config/docker.js and its tests, removed Docker Hub from supported platforms, and refactored code to use generic container registry logic. This simplifies the codebase by dropping special handling for Docker Hub library images.
Changed import statements to use explicit .js extensions for ES module compatibility. Updated Docker request detection to include '/cr/' paths and improved logic to avoid duplicating '/v2' prefix when constructing target paths.
Introduces Docker Hub-specific configuration and utilities, including path and scope transformation for library images. Updates the main logic to handle Docker Hub authentication and path rewriting. Adds tests for Docker Hub path, scope, and authentication header parsing. Updates documentation to reflect Docker Hub support and usage examples.
Replaced the static star history chart image with a <picture> element that supports both dark and light themes in README.en.md and README.md. This enhances the visual experience for users with different color scheme preferences.
Introduces the [experimental] section with preview_url set to false in wrangler.toml, allowing configuration of preview URL behavior for development and testing purposes.
CODE_OF_CONDUCT.md and SECURITY.md have been translated into Chinese and significantly expanded. The security policy now includes detailed vulnerability reporting instructions, supported versions, security features, best practices, checklists, update procedures, and emergency contact information. The code of conduct is now fully localized and retains all original guidelines and enforcement procedures.
Improved clarity, consistency, and accuracy throughout both English and Chinese README files. Enhanced descriptions, updated terminology, added new usage examples, expanded integration and configuration sections, and corrected minor errors. These changes provide more comprehensive guidance for users and contributors.
Updated both English and Chinese README files to specify 'HTTP Range request' instead of just 'Range request' for improved clarity regarding parallel chunked downloads.
Set workers_dev to false in wrangler.toml to prevent deployment to the workers.dev subdomain. This change is likely for production or custom domain deployment.
Added README.en.md with comprehensive English documentation for Xget. Updated README.md to include a link to the English version for improved accessibility.
Added instructions for pulling the distroless base image from Google Container Registry using the registry mirror. This helps users quickly access the image via the documented mirror.
Updated README to clarify container registry usage and examples, including new supported registries and configuration instructions. Removed NVIDIA NGC from supported registries in code and tests. Standardized test cases and examples to use 'nginxinc/nginx-unprivileged' for container registry paths, improving consistency across documentation and tests.
Eliminates support for Docker Hub ('cr-docker') from platform configuration, request handling logic, and all related tests. Updates terminology and test cases to use other container registries (e.g., GHCR) and removes Docker-specific path and scope transformations. This simplifies container registry support and focuses on currently supported platforms.
Simplifies Docker authentication and registry path handling by removing redundant logic and enforcing /cr/ prefix for Docker registry requests. Updates allowed HTTP methods for Git and Docker, streamlines DockerHub library image path transformation, and improves unauthorized response handling.
Moves Docker authentication handling to the beginning of request processing for priority and clarity. Improves error handling and response formatting for Docker auth endpoint, and removes duplicate logic from later in the function.
Enhances Docker registry proxy logic to better handle authentication challenges, support DELETE method, and improve path transformations for Docker Hub library images. Adds more robust handling for /v2/auth endpoint, upstream authentication checks, and anonymous token fetching for public repositories. Also refines error messaging and routing for Docker requests.
Simplifies and improves handling of 401 Unauthorized responses for Docker registry requests by passing through the authentication challenge with a modified WWW-Authenticate header, allowing the Docker client to handle authentication. Removes token fetching logic and ensures relevant headers are preserved in the response.
Simplifies unauthorized response structure and updates the service name in the WWW-Authenticate header. Refactors Docker registry path handling to require /cr/ prefix for all requests, removes special handling for /v2/auth, and improves token fetching logic for public repositories. Unauthorized errors now return a more helpful message when authentication fails.
Adds special handling for the Docker /v2/auth endpoint, allowing requests without the /cr/ prefix. Refines anonymous token retrieval for Docker Hub public images and ensures proper scope extraction for manifests and blobs. If anonymous access fails, the original authentication challenge is passed through instead of returning a custom unauthorized response.
Enhanced the unauthorized response to include proper headers and JSON error details. Added logic to attempt anonymous token retrieval for public Docker images and retry requests with the token if available, improving support for unauthenticated access.
Implements Docker registry request detection, authentication handling, and proxy logic in src/index.js. Adds comprehensive tests for Docker registry support, including API version checks, URL transformation, authentication, HTTP methods, error handling, header preservation, and platform support in test/docker-registry.test.js.
Introduces detection and special handling for Docker API requests, including protocol compliance and header management. Docker requests are now proxied similarly to Git operations, with caching and header logic adjusted to avoid interfering with protocol-sensitive requests.
Removes transformPath from CONFIG and imports it directly where needed. Updates platform configuration to use a simpler mapping. Improves error handling by checking for Error instances before accessing message properties.
Simplifies PLATFORMS to map platform keys to base URLs and introduces a unified transformPath function for path normalization. Updates usage in src/index.js and refactors tests to validate the new structure and container registry support.
Reformatted the ESLint configuration file to use consistent array/object formatting and removed unnecessary quotes from rule names. No functional changes were made; this improves maintainability and clarity. Other config files had only minor formatting updates.