{"id":21880475,"url":"https://github.com/brucewind/gcorecdnipselector","last_synced_at":"2025-07-14T18:12:01.857Z","repository":{"id":62785480,"uuid":"549335912","full_name":"BruceWind/GcoreCDNIPSelector","owner":"BruceWind","description":"🔍 to choose the best Gcore‘IPs for connection 📶 with lowest latency.(gcore优选ip)","archived":false,"fork":false,"pushed_at":"2025-06-30T00:01:49.000Z","size":467,"stargazers_count":32,"open_issues_count":0,"forks_count":7,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-30T01:19:17.199Z","etag":null,"topics":["cdn","cloudflare","cloudfront","gcore","ip-selector","latency"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BruceWind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-10-11T03:06:03.000Z","updated_at":"2025-06-30T00:01:52.000Z","dependencies_parsed_at":"2023-10-16T14:22:10.701Z","dependency_job_id":"adff5281-b5ee-48b6-a6c7-e84e63c2a945","html_url":"https://github.com/BruceWind/GcoreCDNIPSelector","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/BruceWind/GcoreCDNIPSelector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceWind%2FGcoreCDNIPSelector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceWind%2FGcoreCDNIPSelector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceWind%2FGcoreCDNIPSelector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceWind%2FGcoreCDNIPSelector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BruceWind","download_url":"https://codeload.github.com/BruceWind/GcoreCDNIPSelector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceWind%2FGcoreCDNIPSelector/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265327827,"owners_count":23747789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdn","cloudflare","cloudfront","gcore","ip-selector","latency"],"created_at":"2024-11-28T09:14:05.011Z","updated_at":"2025-07-14T18:12:01.813Z","avatar_url":"https://github.com/BruceWind.png","language":"JavaScript","readme":"# GcoreCDNIPSelector\n\n[中文](https://github.com/BruceWind/GcoreCDNIPSelector/blob/main/README_zh.md)｜[English](https://github.com/BruceWind/GcoreCDNIPSelector/blob/main/README.md)\n\nSelect the optimal IP from [Gcore-CDN](https://gcore.com/cdn/) for the lowest latency and most stable connections📶.\n\n\u003e I use Github Actions（[![Scan and Push](https://github.com/BruceWind/GcoreCDNIPSelector/actions/workflows/daily-cron-action.yml/badge.svg)](https://github.com/BruceWind/GcoreCDNIPSelector/actions/workflows/daily-cron-action.yml)）to run the repo in LAN, which generates a [result.txt](/result.txt) in case of available results. If U R Chinese guys, I recommand you open the file to look results, instead of running the repo. If you found latancies are 0 in result.txt, you should not trust them.\n\n### Overview\nGcore's CDN delivers a seamless experience globally. However, network connections from China sometimes experience packet loss and high latency. To address this, some users prefer to bind Gcore's domain to low-latency IP addresses. This script helps select the IP addresses with the lowest latency for such situations.\n\n\n### Usage Instructions\n\n1. set up node environment.\nIn case people haven't set up node. I highly recommend [nvm](https://github.com/nvm-sh/nvm) or [nvm-windows](https://github.com/coreybutler/nvm-windows.) to set up.\n\n2. run this JS file.\n```\nnpm install\nnode .\n```\n\n3. wait for a few minutes to receive result.txt, which contains the optimal IP addresses saved in this folder.\n\n\nFor choosing the best one of result, you may need [站长ping](https://ping.chinaz.com/) to make sure that the connection is almost stable on every China citis. Otherwise, you can use your HTTP service to test bandwidth.\n\n\n## In addition\n----------------------------------\n\nAt present, I use https://api.gcorelabs.com/cdn/public-net-list to query IPs. In case it expired, this script will be invalid. If you find this script is invalid, please put up an issue or find new URL to replace it.\n\n###  Spacial for post-Soviet countries\n\u003cdetails\u003e\n  \u003csummary\u003eclick to expand \u003c/summary\u003e\n  I know some countries, like China, have a strong internet censorship system called the Great Firewall (GFW). It's even stricter than China's version. You might have trouble downloading IP ranges during running this script. To fix this, I have a backup plan. I use Github actions to save IP ranges in this repository every week. You can turn off the code `fetchWithTimeout()`. If you don't do that, it will still work, but it might take more time to finish.\n  \n\u003c/details\u003e\n\n\n\n## Have you tried AWS'CDN Cloudfront?\n\nI have written another IP-selector for Cloudfront: https://github.com/BruceWind/CloudFrontIPSelector, you can try it.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucewind%2Fgcorecdnipselector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrucewind%2Fgcorecdnipselector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucewind%2Fgcorecdnipselector/lists"}