Coursera, edX, Udemy 같은 온라인 학습 플랫폼은 강의 영상, 자막, 썸네일, 로그인 API, 결제 페이지가 서로 다른 도메인과 CDN을 사용합니다. 그래서 전체 트래픽을 무조건 프록시로 보내면 국내 웹사이트까지 느려지고, 반대로 모든 요청을 직접 연결하면 해외 강의 영상이 버퍼링되거나 로그인 과정이 실패할 수 있습니다. Clash로 온라인 강의 트래픽만 선택적으로 프록시하는 분할 라우팅을 구성하면 필요한 서비스의 연결 안정성은 높이고, 국내 트래픽의 불필요한 지연은 줄일 수 있습니다. 이 글에서는 Coursera·edX·Udemy를 기준으로 도메인 규칙을 작성하고, Windows·macOS·Android의 Clash 또는 Mihomo 환경에 적용하는 방법을 단계별로 설명합니다.
온라인 강의 트래픽을 분리해야 하는 이유
온라인 강의 사이트는 단순한 단일 웹페이지가 아닙니다. 강의 목록과 계정 정보는 기본 도메인에서 제공하지만, 실제 영상은 별도의 CDN에서 전송되는 경우가 많습니다. 자막 파일, 진도 저장 요청, 결제 모듈, 동영상 재생 토큰도 각각 다른 호스트 이름을 사용할 수 있습니다. 기본 도메인만 프록시 규칙에 넣으면 강의 페이지는 열리지만 영상이 재생되지 않거나 자막이 늦게 로드되는 문제가 생기는 이유입니다.
반대로 GEOIP,CN,DIRECT 같은 규칙을 너무 앞에 배치하면 해외 서비스가 사용하는 CDN IP가 국내 IP로 판정되어 직접 연결될 수 있습니다. Clash의 규칙은 위에서 아래로 평가되며 처음으로 일치한 규칙 하나만 적용되므로, 서비스별 도메인 규칙을 국내 IP 규칙보다 앞에 두는 것이 중요합니다.
- 강의 플랫폼 도메인: Coursera·edX·Udemy의 로그인, 강의 목록, 결제 요청을 프록시합니다.
- 영상 및 정적 파일 CDN: 재생 서버, 자막, 썸네일, 플레이어 리소스를 필요에 따라 프록시합니다.
- 국내 일반 트래픽: 검색, 쇼핑, 금융, 사내 서비스 등은 직접 연결하여 지연을 줄입니다.
- 기타 해외 서비스: 온라인 강의 규칙과 섞지 않고 기본 정책에 맡겨 예기치 않은 프록시 사용을 방지합니다.
DOMAIN-SUFFIX 중심으로 구성하는 편이 유지보수에 유리합니다.Coursera·edX·Udemy 도메인 규칙 정리
가장 안전한 시작점은 플랫폼의 대표 도메인과 자주 사용하는 하위 도메인을 DOMAIN-SUFFIX로 묶는 것입니다. 이 규칙은 지정한 도메인 자체와 모든 하위 도메인에 적용됩니다. 예를 들어 DOMAIN-SUFFIX,coursera.org는 www.coursera.org, api.coursera.org와 같은 주소에도 매칭됩니다.
| 서비스 | 기본 도메인 | 용도 | 권장 정책 |
|---|---|---|---|
| Coursera | coursera.org | 강의, 계정, 진도, 결제 | 프록시 |
| edX | edx.org | 강의 페이지, 로그인, 학습 데이터 | 프록시 |
| Udemy | udemy.com | 강의, 플레이어, 사용자 계정 | 프록시 |
| 영상 CDN | 플랫폼별 별도 호스트 | 영상, 자막, 썸네일 | 연결 상태에 따라 추가 |
모든 CDN을 무작정 프록시 목록에 넣는 것은 권장하지 않습니다. CDN 호스트는 플랫폼마다 다르고 지역별로 동적으로 선택되기 때문입니다. 먼저 대표 도메인만 적용한 뒤, 대시보드의 연결 목록에서 영상 재생 시 실제로 사용된 호스트를 확인하세요. 해당 호스트가 강의 재생에 필요하고 직접 연결에서 실패한다면 그 도메인만 추가하는 방식이 가장 안정적입니다.
DOMAIN과 DOMAIN-SUFFIX의 차이
DOMAIN은 정확히 하나의 호스트 이름에만 적용됩니다. DOMAIN,player.example.com은 해당 호스트에만 매칭되고 다른 하위 도메인에는 적용되지 않습니다. DOMAIN-SUFFIX는 서비스 전체를 묶을 때 편리하지만, 너무 넓은 도메인을 사용하면 해당 기업의 다른 서비스까지 프록시될 수 있습니다. 따라서 처음에는 플랫폼의 공식 최상위 도메인을 사용하고, 문제가 발생하는 경우에만 구체적인 CDN 도메인을 별도로 추가하세요.
Clash에서 온라인 강의 분할 라우팅 설정하기
다음 단계는 Clash Verge, Clash Verge Rev, Mihomo 또는 호환되는 Clash 클라이언트에서 공통으로 적용할 수 있습니다. 클라이언트마다 메뉴 이름은 조금 다르지만, 핵심은 현재 사용하는 프로필의 YAML 파일에 프록시 그룹과 규칙을 추가하는 것입니다. 기존 설정을 직접 덮어쓰기 전에 프로필을 복사해 백업하세요.
- Clash 클라이언트를 실행하고 현재 활성화된 프로필을 확인합니다.
- 사용할 프록시 그룹 이름을 확인합니다. 아래 예제에서는
PROXY라는 그룹을 사용합니다. rules항목의 위쪽에 온라인 학습 플랫폼 규칙을 추가합니다.- 설정을 저장한 뒤 프로필을 다시 적용하거나 업데이트합니다.
- Coursera 또는 Udemy에 로그인하고 강의 영상을 재생하면서 연결 목록을 확인합니다.
proxy-groups: - name: Learning-Proxy type: select proxies: - PROXY - DIRECT rules: # 온라인 학습 플랫폼은 먼저 매칭 - DOMAIN-SUFFIX,coursera.org,Learning-Proxy - DOMAIN-SUFFIX,edx.org,Learning-Proxy - DOMAIN-SUFFIX,udemy.com,Learning-Proxy # 국내 트래픽은 직접 연결 - GEOIP,CN,DIRECT # 나머지는 기본 프록시 정책 사용 - MATCH,PROXY
기존 프로필에 이미 proxy-groups와 rules가 있다면 같은 키를 두 번 만들지 마세요. YAML에서 동일한 최상위 키를 중복 선언하면 클라이언트에 따라 마지막 항목만 읽히거나 프로필 파싱 오류가 발생할 수 있습니다. 기존 PROXY 그룹을 그대로 사용하려면 새 그룹을 만들지 않고 다음처럼 규칙만 추가해도 됩니다.
rules: - DOMAIN-SUFFIX,coursera.org,PROXY - DOMAIN-SUFFIX,edx.org,PROXY - DOMAIN-SUFFIX,udemy.com,PROXY - GEOIP,CN,DIRECT - MATCH,PROXY
강의 서비스만 프록시하고 나머지 해외 사이트는 직접 연결하고 싶다면 마지막 규칙을 MATCH,DIRECT로 바꿀 수 있습니다. 다만 이 경우 다른 해외 사이트가 직접 연결되어 접속되지 않을 수 있으므로, 일반적으로는 기존 프로필의 기본 정책을 유지하는 것이 좋습니다.
영상 CDN과 재생 문제 해결
강의 페이지는 정상적으로 열리는데 영상만 멈춘다면 플랫폼 대표 도메인과 영상 CDN의 경로가 다를 가능성이 높습니다. 이때는 브라우저 개발자 도구보다 Clash의 연결 로그가 더 빠른 단서를 제공합니다. 대시보드의 Connections 또는 연결 목록에서 강의 영상을 재생한 직후 새로 생성된 호스트 이름을 확인하세요. 해당 연결이 DIRECT로 표시되고 타임아웃이 반복된다면 그 도메인을 프록시 규칙에 추가합니다.
- 영상 요청이 프록시 그룹을 사용하지만 버퍼링이 심하면 다른 노드로 전환합니다.
- 영상은 재생되지만 자막이 없으면 자막 파일 호스트가 별도로 직접 연결되는지 확인합니다.
- 로그인만 실패하면 인증, OAuth, CAPTCHA 관련 호스트가 누락되었는지 살펴봅니다.
- 강의 페이지 전체가 반복해서 새로고침되면 쿠키, 시간 동기화, 브라우저 확장 프로그램도 함께 점검합니다.
rules: - DOMAIN-SUFFIX,coursera.org,Learning-Proxy - DOMAIN-SUFFIX,edx.org,Learning-Proxy - DOMAIN-SUFFIX,udemy.com,Learning-Proxy # 연결 로그에서 확인한 CDN만 추가 - DOMAIN-SUFFIX,video-cdn.example,Learning-Proxy - DOMAIN,subtitles.example.net,Learning-Proxy - GEOIP,CN,DIRECT - MATCH,PROXY
video-cdn.example과 subtitles.example.net은 형식만 보여 주는 예시입니다. 실제 환경에서는 연결 로그에 표시된 정확한 호스트를 사용하세요. 확인하지 않은 와일드카드 CDN 도메인을 추가하면 다른 사용자의 트래픽까지 프록시되거나 불필요한 지연이 발생할 수 있습니다.DNS와 TUN 모드 점검
도메인 규칙을 올바르게 작성했는데도 규칙이 매칭되지 않는다면 DNS 처리 방식이나 트래픽 캡처 모드를 확인해야 합니다. 일반 시스템 프록시 모드에서는 브라우저 트래픽만 Clash를 통과하고, 일부 앱이나 별도 플레이어는 우회할 수 있습니다. Mihomo와 Clash Verge 계열에서 TUN 모드를 활성화하면 시스템 전체의 TCP·UDP 연결을 캡처할 수 있어 온라인 강의 앱을 사용할 때 유리합니다.
다만 TUN 모드를 켠 뒤에는 DNS 설정이 서로 충돌하지 않는지 확인하세요. 운영체제, 브라우저, 보안 프로그램이 각각 다른 DNS를 사용하면 도메인 규칙과 실제 연결 대상이 어긋날 수 있습니다. fake-ip 모드를 사용하는 경우에는 로컬 네트워크 장치, 프린터, 일부 게임이나 화상회의 도메인을 fake-ip-filter에 넣어야 할 수 있습니다.
tun: enable: true stack: mixed auto-route: true auto-detect-interface: true dns: enable: true enhanced-mode: fake-ip nameserver: - https://dns.cloudflare.com/dns-query - https://dns.google/dns-query fake-ip-filter: - '*.lan' - '*.local' - 'localhost.ptlogin2.qq.com'
이 예시는 모든 환경에 그대로 복사하는 완성 설정이 아니라 방향을 보여 주는 템플릿입니다. 기존 프로필에 이미 TUN 또는 DNS 항목이 있다면 필요한 값만 합쳐야 합니다. 특히 다른 프로그램이 이미 DNS 포트 53을 사용하고 있다면 Clash의 DNS 리스너 충돌이 발생할 수 있으므로 클라이언트 로그를 확인하세요.
속도 테스트와 장기 유지보수
설정이 끝난 뒤에는 단순히 웹페이지가 열린다는 이유만으로 성공했다고 판단하지 마세요. 실제 강의 영상을 5분 이상 재생하고, 화질 변경, 일시정지 후 재개, 자막 전환, 다음 강의 이동, 모바일 앱 로그인까지 확인해야 합니다. 영상 재생은 지속적인 연결과 큰 데이터 전송을 사용하므로 일반 페이지 로딩과 다른 결과가 나올 수 있습니다.
- 강의 페이지를 열기 전에 Clash 대시보드에서 기존 연결을 정리합니다.
- 강의 영상을 재생하고 새 연결의 도메인과 적용 규칙을 확인합니다.
- 영상, 자막, API 연결이 같은 프록시 그룹을 사용하는지 비교합니다.
- 노드별로 3분 이상 재생하여 버퍼링과 평균 지연을 기록합니다.
- 문제가 없는 CDN 규칙은 유지하고, 더 이상 사용되지 않는 호스트는 정리합니다.
- 저화질에서도 끊김: 노드의 국제 회선, UDP 지원, 혼잡 상태를 먼저 확인합니다.
- 고화질에서만 끊김: 대역폭이 부족하거나 CDN과 노드 간 경로가 좋지 않을 수 있습니다.
- 처음만 느림: DNS 해석 또는 TLS 핸드셰이크 지연일 가능성이 있습니다.
- 특정 강의만 실패: 강의별 CDN이나 지역 제한 도메인이 별도로 사용되는지 확인합니다.
플랫폼의 도메인 구조는 언제든 바뀔 수 있으므로 규칙을 한 번 작성하고 끝내기보다 한 달에 한 번 정도 연결 로그를 점검하는 것이 좋습니다. 여러 기기에서 같은 규칙을 사용한다면 Rule Provider로 학습 플랫폼 도메인 목록을 분리할 수도 있습니다. 단, 외부 규칙 목록을 사용할 때는 출처와 업데이트 상태를 확인하고, 최종 규칙에 MATCH가 정상적으로 남아 있는지 반드시 검증하세요.
안정적인 온라인 학습용 프로필 운영 팁
온라인 강의 전용 프로필을 별도로 만드는 것도 좋은 방법입니다. 평소에는 일반 프로필을 사용하고, Coursera나 Udemy를 학습할 때만 학습용 프로필을 선택하면 규칙 충돌을 쉽게 피할 수 있습니다. 학습용 프로필에는 필요한 플랫폼 규칙, 하나 이상의 안정적인 프록시 그룹, DNS와 TUN 설정만 포함해 구조를 단순하게 유지하세요.
또한 프록시 그룹에 DIRECT를 함께 넣으면 문제의 원인을 비교하기 쉽습니다. 같은 영상을 프록시와 직접 연결로 각각 재생해 보면 노드 품질 문제인지, 라우팅 누락인지 빠르게 구분할 수 있습니다. 다만 지역 제한이나 서비스 약관이 적용되는 콘텐츠는 해당 플랫폼의 정책과 현지 법률을 준수해야 하며, 프록시는 연결 안정성 개선을 위한 네트워크 도구로 사용해야 합니다.
Clash의 분할 라우팅은 복잡한 설정을 많이 작성하는 것이 목표가 아니라, 어떤 트래픽이 어느 경로로 가야 하는지를 명확히 나누는 작업입니다. Coursera·edX·Udemy의 대표 도메인을 먼저 프록시하고 실제 재생 연결을 확인한 뒤 필요한 CDN만 보완하면, 강의 영상은 안정적으로 재생하면서 국내 웹사이트와 일상적인 트래픽은 빠른 직접 연결로 유지할 수 있습니다.
Clash로 트래픽을 완전히 제어하세요
Windows, macOS, Linux, Android, iOS 지원. 유연한 규칙, 간단한 설정.