프로젝트 소개

CloudflareSpeedTest(CFST)는 오픈 소스 명령줄 네트워크 속도 측정 도구로, 주로 Cloudflare CDN이 공개한 대량의 IP 대역 중에서 자신의 네트워크 환경에 더 적합한 IP를 선별하는 데 사용됩니다. 프로젝트 설명에 따르면, Cloudflare가 중국 본토 방문자에게 할당하는 IP는 지연 시간이 높고 패킷 손실이 많으며 속도가 느린 경우가 많은데, 수많은 IP 중에서 수동으로 선택하는 것은 현실적이지 않기 때문에 이 도구는 자동 속도 측정으로 이 문제를 해결합니다. Cloudflare 외에도 다른 CDN이나 여러 개의 확인 IP를 가진 웹사이트에 대해서도 지연 시간 측정을 지원하지만, 다운로드 속도 측정 주소는 직접 지정해야 합니다. 주요 기능 - 지연 시간 측정: 기본적으로 TCPing 모드를 사용하며, -httping으로 HTTP 프로토콜 모드로 전환할 수 있습니다. HTTPing은 응답 헤더를 읽고 HTTP 상태 코드에 따라 사용 가능 여부를 판단할 수 있습니다. - 다운로드 속도 측정: 지연 시간 정렬 후 지연 시간이 가장 낮은 IP부터 순차적으로 다운로드 속도 측정을 진행하며, 기본적으로 10개를 측정하면 중지합니다. - 결과 정렬 및 출력: 먼저 지연 시간으로 정렬 및 필터링한 후 다운로드 속도로 정렬하며, 기본적으로 터미널에 가장 빠른 10개의 IP를 표시하고 result.csv 파일에 기록합니다. - 주소 지원: IPv4와 IPv6를 동시에 지원하며 혼합 측정이 가능합니다. IP 대역은 내장 파일, 사용자 정의 파일 또는 명령줄 매개변수에서 가져올 수 있습니다. - 지역 코드 식별: HTTPing 또는 다운로드 속도 측정 시 응답 헤더에서 IP의 현재 지역 코드를 가져오며, Cloudflare, AWS CloudFront, Fastly, Gcore, CDN77, Bunny 등의 CDN을 지원하고 -cfcolo로 지역별 필터링이 가능합니다. 주요 매개변수 - -n 지연 시간 측정 스레드 수, -t 단일 IP 측정 횟수, -dn 다운로드 속도 측정 수량, -dt 단일 IP 다운로드 속도 측정 시간. - -tp 측정 포트 지정, -url 측정 주소 지정. - -tl 평균 지연 시간 상한, -tll 평균 지연 시간 하한, -tlr 패킷 손실률 상한, -sl 다운로드 속도 하한. - -p 결과 표시 수량, -f IP 대역 파일 지정, -ip IP 대역 직접 지정, -o 결과 출력 파일 지정. - -dd 다운로드 속도 측정 비활성화, -allip IP 대역 내 모든 IPv4 주소 측정, -debug 디버그 로그 출력. 사용 방법 Windows, Linux, macOS용 사전 컴파일된 실행 파일을 제공하며, Windows에서는 직접 더블 클릭으로 실행하거나 scoop으로 설치할 수 있습니다. Linux/macOS에서는 터미널에서 실행하고 실행 권한을 부여해야 합니다. 문서에서는 CMD, PowerShell, 바로 가기에서 매개변수를 사용하여 실행하는 방법과 상대 경로 및 절대 경로에 대한 주의 사항도 설명합니다. 주의 사항 프로젝트는 Cloudflare CDN을 프록시 방식으로 사용하는 것이 금지되어 있음을 명확히 경고하며, 프록시로 CDN을 중계하는 경우 위험을 감수해야 합니다. 이 도구는 UDP 프로토콜을 사용하는 Cloudflare WARP 최적 IP에는 적합하지 않습니다. HTTPing은 본질적으로 네트워크 스캔 행위에 해당하므로 서버에서 실행할 때는 동시성을 낮추어 통신사나 CDN의 일시적 제한을 유발하지 않도록 권장합니다. 각 IP 대역에서 무작위로 IP를 선택하여 테스트하기 때문에 속도 측정 결과가 매번 다른 것은 정상적인 현상입니다.