증상: 본문은 되는데 JS·미디어·캡차만 실패하는 이유
사용자 입장에서는 모두 「Reddit이 안 된다」로 보이지만, 네트워크 스택은 요청마다 다른 SNI를 씁니다. 문서 HTML과 초기 JSON은 reddit.com 아래에서 빨리 받아지는데, 실제 인터랙션을 살리는 번들·폰트·스크립트는 redditstatic.com 같은 정적 호스트로 넘어갑니다. 썸네일·클립·외부 임베드는 redditmedia.com·외부 CDN으로 이어지고, 로그인 직전이나 비정상 트래픽 의심 시 hCaptcha(hcaptcha.com·에셋 서브도메인)나 Google reCAPTCHA(google.com·gstatic.com·recaptcha.net 등 환경별 조합)가 한 번 더 길을 막습니다. 이 중 하나만 느리거나 잘못된 정책 그룹에 남으면 화면은 반쯤 그려진 채 스피너만 돌거나, 앱은 스플래시에서 멈춘 것처럼 보입니다.
Clash는 연결 단위로 규칙을 평가하므로, 같은 탭 안에서도 호스트마다 DIRECT와 프록시가 섞일 수 있습니다. 메인 도메인만 안정 노드로 보내고 정적·캡차는 국내 직행에 두면, TLS는 성공해도 응답이 끝없이 기다려지는 「가짜 정상」이 나올 수 있습니다. 반대로 캡차만 특정 지역 노드로 보내고 본문은 다른 지역이면 세션 쿠키·리전 신호가 어긋나 로그인 플로우가 반복되기도 합니다. 그래서 증상 문장이 같아도 실패한 요청의 호스트 접미사를 먼저 적어 두는 것이 중요합니다.
2026년에도 Reddit은 글로벌 커뮤니티 트래픽이 크고, 클라이언트·실험 기능(A/B)에 따라 호스트 표가 조금씩 바뀌는 편입니다. 한 번 맞춘 YAML이 영원하지 않으니, 분기마다 개발자 도구 네트워크 탭과 Clash 라이브 연결을 짧게 샘플링해 빈 줄을 메우는 운영이 필요합니다.
reddit.com인지 redditstatic.com인지, hcaptcha.com인지부터 구분하면 같은 「로딩」이라도 고칠 규칙 줄이 달라집니다.
네 묶음으로 나누기: 코어, 정적, 미디어, 인증·캡차
운영 설계를 단순화하려면 다음 네 덩어리를 머릿속에 그립니다. (1) 코어 웹·API — reddit.com·www.reddit.com과 GraphQL·OAuth에 가까운 서브도메인 묶음. (2) 정적 자산 — redditstatic.com 등 JS·CSS·폰트 번들. (3) 미디어·임베드 — redditmedia.com·외부 플레이어·썸네일로 이어지는 호스트. (4) 인증·봇 방지 — hCaptcha·reCAPTCHA·Google 정적(gstatic.com) 등 로그인 전후에만 보이는 트리. 한 묶음만 느린 노드나 DIRECT에 남으면 「피드만」「댓글만」「앱만」처럼 증상이 쪼개져 보입니다.
짧은 리다이렉트(redd.it 등)가 관측되면 코어 묶음과 같은 의도의 정책 그룹에 넣되, 실제 목적지가 바뀌는지 네트워크 탭으로 확인하세요. 미디어 묶음은 대역을 많이 쓰므로 API·캡차와 한 노드에 몰면 지터로 짧은 요청만 타임아웃 나는 일이 생깁니다. 가능하면 REDDIT_MEDIA처럼 이름을 나누고 변경 이유를 YAML 주석으로 남깁니다.
팀 단말에 제로트러스트나 SSL 검사가 있으면 또 다른 변수가 생깁니다. 이 경우에도 호스트 목록을 먼저 확보하고 IT 정책과 충돌하는지 확인하는 순서가 안전합니다. 규칙 라우팅 모범 사례와 같이 읽으면 유지보수가 쉬워집니다.
스트리밍·AI 글과 무엇이 다른가
Netflix나 Disney+ 글은 재생 CDN·DRM·지역 감지 호스트에 무게를 둡니다. Reddit은 장시간 비디오 스트림보다 짧은 JSON·정적 번들·캡차의 조합이 중심이라, 스트리밍 전용 규칙을 그대로 가져와도 빈구멍이 남습니다. ChatGPT·Copilot류 글은 대화·OAuth·IDE 마켓 트리에 초점이 있어 호스트 표가 다릅니다. 즉 「한 번 잘 된 YAML」을 다른 제품군에 복붙하면 캡차나 정적 도메인이 빠지기 쉽습니다.
공통으로 남는 주제는 Electron·브라우저·네이티브 앱이 서로 다른 프록시 경로를 탈 수 있다는 점입니다. 이론은 TUN 모드 심화를 참고하되, 실제로는 연결 로그의 정책 적중이 우선입니다.
Reddit 측 장애·레이트 리밋·계정 상태도 비슷한 증상을 냅니다. 라우팅을 크게 뜯기 전에 서비스 상태와 로그인 세션을 함께 확인하면 불필요한 설정 변경을 줄일 수 있습니다.
정책 그룹: Reddit 전용 출구를 API·캡차와 섞지 않기
예시로 REDDIT_CORE·REDDIT_STATIC·REDDIT_MEDIA·CAPTCHA 같은 정책 그룹을 두고, 뒤의 select·url-test·fallback을 분리합니다. 캡차 트래픽은 짧지만 지연에 민감해, 대용량 미디어와 같은 노드에 몰면 사용자는 「버튼이 안 눌린다」로 느낍니다. 측정 URL이 실제 Reddit API 경로와 다르면 url-test만 믿지 말고 라이브 연결로 교차 검증하세요. 클라이언트 UI가 로그를 얼마나 잘 보여 주는지는 클라이언트 선택에서도 다룹니다.
정책 그룹은 뒤의 노드만큼만 안정적입니다. 규칙이 완벽해도 출구 TLS가 흔들리면 여전히 타임아웃이 납니다. 그때는 연결 로그·TLS 가이드로 노드 층을 먼저 의심하고, 그다음에 도메인 구멍을 좁히세요.
운영 중에는 「어떤 호스트가 어느 그룹에 속하는지」를 팀 위키에 한 페이지로 모아 두면 온콜이 빨라집니다. YAML만 흩어져 있으면 같은 증상을 반복해 처음부터 파고듭니다.
관측 우선·예시 DOMAIN-SUFFIX YAML
아래는 형태를 보여 주는 예시입니다. 실제 클라이언트 빌드·리전·기업 프록시에 따라 서브도메인이 더 늘 수 있으니, 실패한 요청의 SNI와 Clash 로그를 기준으로 덧붙이세요. 기본적으로 DOMAIN-SUFFIX,reddit.com,REDDIT_CORE로 코어를 묶고, 정적·미디어는 각각 redditstatic.com·redditmedia.com 접미사로 빼며, hCaptcha는 hcaptcha.com을, Google reCAPTCHA 관련은 관측된 recaptcha.net·gstatic.com 등을 CAPTCHA 그룹으로 모읍니다. gstatic.com은 범위가 넓어 다른 사이트까지 끌어올 수 있으니, 가능하면 DevTools에 찍힌 정확한 호스트로 좁히세요.
DOMAIN-SUFFIX가 DOMAIN-KEYWORD보다 예측 가능합니다. 키워드 규칙은 임시 진단용으로만 쓰고, 확인된 접미사로 옮기세요.
Illustrative YAML fragment
rules:
- DOMAIN-SUFFIX,reddit.com,REDDIT_CORE
- DOMAIN-SUFFIX,redditstatic.com,REDDIT_STATIC
- DOMAIN-SUFFIX,redditmedia.com,REDDIT_MEDIA
- DOMAIN-SUFFIX,redd.it,REDDIT_CORE
- DOMAIN-SUFFIX,hcaptcha.com,CAPTCHA
- DOMAIN-SUFFIX,recaptcha.net,CAPTCHA
- DOMAIN-SUFFIX,gstatic.com,CAPTCHA
- GEOIP,KR,DIRECT
- MATCH,DIRECT
위 예시에서 gstatic.com 한 줄은 다른 Google 서비스 트래픽까지 끌어올 수 있습니다. 운영 환경에서는 실패한 요청의 호스트를 DOMAIN,specific.host.example,CAPTCHA처럼 한 줄로 좁히거나, 신뢰 경계 안의 원격 규칙 세트를 쓰는 편이 안전합니다. 광범위한 접미사는 임시 조치로만 두고 빠르게 구체화하세요.
MATCH가 전역 DIRECT인 프로필에서는 목록에 없는 신규 엔드포인트가 직행하다가 그 경로만 막혀 「글 목록만 됨」처럼 보일 수 있습니다. 전역 프록시로 때우기보다 관측 기반 규칙 보강이 안전합니다.
네이티브 앱·PWA·브라우저가 다른 경로를 탈 때
iOS·Android Reddit 앱은 시스템 VPN·프록시 설정을 다르게 따릅니다. OS가 시스템 프록시만 켜진 상태에서 앱이 직접 소켓을 열면, 브라우저는 잘 나가는데 앱이 안 열리는 패턴이 납니다. 반대로 앱만 기업 MDM 프로필로 별도 경로를 타면 같은 Wi-Fi에서도 결과가 갈립니다. 실험할 때는 한 번에 한 축만 바꾸고, 재현 순서(앱 콜드 스타트 → 피드 → 댓글 → 로그인)를 고정하세요.
PWA나 인앱 브라우저는 호스트 표가 데스크톱 크롬과 비슷해 보여도 쿠키·스토리지 격리로 증상이 달라질 수 있습니다. 이때도 네트워크 탭의 호스트 목록이 기준입니다.
배터리 절약·데이터 세이버가 켜져 있으면 백그라운드에서 미디어 프리페치가 끊겨 로딩이 길어지는 경우가 있습니다. 네트워크 스택을 의심하기 전에 OS 측 설정을 한 번 끄고 비교해 보세요.
시스템 프록시만 켠 채 앱이 안 열릴 때와 TUN
브라우저는 OS 시스템 프록시를 잘 따르지만, 일부 네이티브 앱은 그렇지 않습니다. Clash가 시스템 프록시만 켜 두면 웹은 정상인데 앱만 예외인 경우가 있습니다. TUN 모드는 커널 라우팅으로 트래픽을 한 레이어에서 모아 누락을 줄입니다. 반면 기업 VPN·다른 터널과 라우트 우선순위가 겹치면 TUN이 기대대로 안 잡히기도 하니, 두 모드를 번갈아 시험해 실제 적중을 확인하세요.
브라우저 확장 프로그램이 별도 프록시를 강제하면 Clash와 이중으로 겹칠 수 있습니다. 확장을 끄고 재현해 보는 것이 빠른 분기입니다.
모바일 테더링·위성 회선처럼 지터가 큰 경로에서는 짧은 캡차·API 요청이 더 자주 실패합니다. 이때는 노드 지역을 한동안 고정하고 재시도 동작을 관찰하는 편이 낫습니다.
RULE-SET 순서와 광범위 차단
원격 규칙 세트는 갱신 부담을 줄여 주지만, 삽입 위치가 어긋면 수동으로 넣은 Reddit·캡차 규칙을 가리거나, 광범위한 차단 세트가 정적 호스트를 먼저 잡아 화면만 멈추게 할 수 있습니다. 일반적으로는 (1) 신뢰할 수 있는 소수의 제품별 DOMAIN-SUFFIX, (2) 지오·지연 측정, (3) 원격 세트, (4) MATCH 순으로 읽기 쉬운 배치를 선호합니다. 팀마다 다르므로 「위에서 아래로 먼저 이긴다」는 원칙만 공유하고, 변경 후 로그 diff로 검증하세요.
구독 URL·규칙 공급자 갱신도 안정 출구가 필요합니다. 갱신만 실패하면 노드 목록이 낡아 모든 사이트가 동시에 나빠 보입니다. 운영 체크는 구독·노드 유지보수 글과 같은 맥락입니다.
원격 세트를 여러 겹 쌓을수록 디버깅은 어려워집니다. Reddit 전용 수동 규칙은 가능하면 한 블록으로 모으고, 공용 차단 세트와의 경계를 주석으로 표시해 두면 나중에 되돌리기 쉽습니다.
DNS·fake-ip·DoH 충돌
fake-ip 모드에서는 앱이 보는 주소와 실제 확인 경로가 달라질 수 있어, DOMAIN 규칙 커버리지가 얇으면 「이름은 빨리 풀리는데 TCP는 영원히 안 붙는다」 패턴이 납니다. Reddit·정적·캡차 호스트를 명시하거나 fake-ip 필터를 조정해 DNS 판단과 라우팅 판단을 맞춥니다. OS DoH·사내 DNS·다른 VPN 스택을 겹치면 우선순위 싸움이 나므로, Clash Meta DNS 가이드와 FAQ로 DNS 축을 먼저 정리한 뒤 규칙을 손대면 시행착오가 줄어듭니다.
일부 환경에서는 캡차 에셋 호스트가 예상과 다른 리전 이름으로 풀립니다. 로그에 새 이름이 보이면 DOMAIN 한 줄을 더하는 편이 안전합니다.
라우터 단 광고 차단 DNS가 gstatic.com 일부를 오탐으로 막으면 reCAPTCHA만 실패하는 일이 생깁니다. 이때는 차단 목록과 허용 목록을 함께 검토하세요.
검증: 개발자 도구·연결 로그·재현 순서
재현 절차를 고정하세요. 브라우저에서 피드 → 글 본문 → 댓글 로딩 → 로그아웃 상태에서 로그인 시도까지 같은 순서로 밟고, 각 단계에서 개발자 도구·Clash 라이브 연결의 정책 적중을 대조합니다. 기대한 그룹이 아니면 규칙을 고치고, 정책이 맞는데도 실패하면 TLS·TCP 타임아웃 로그로 내려갑니다. 앱은 OS 수준의 트래픽 캡처 도구나 클라이언트 로그로 같은 방식을 재현합니다.
변경 이력을 한 줄이라도 남기면 미래의 자신에게 큰 도움이 됩니다. 「2026-04-17, redditstatic을 REDDIT_STATIC으로 이동」처럼 적으면 기기 간 프로필을 맞출 때 실수가 줄어듭니다.
동료에게 프로필을 넘길 때는 구독 URL·토큰이 섞이지 않게 주의하세요. 로그 스크린샷에는 계정 식별자를 가리는 습관을 들이면 보안 사고를 줄일 수 있습니다.
준수·서비스 약관·직장·학교 네트워크
기업·캠퍼스는 분할 터널, 강제 DNS, SSL 검사를 둘 수 있어 YAML만으로는 동일하게 재현되지 않을 수 있습니다. 기술적 경로 설계가 정책 면제를 뜻하지 않으니, 제한이 있으면 IT·관리 부서 절차를 따르는 것이 안전합니다.
맺음말: 캡차까지 같은 의도로 묶어야 로딩이 끊긴다
Reddit는 글로벌 커뮤니티 플랫폼이지만, 네트워크 관점에서는 여러 계층의 HTTPS가 한 사용자 경험으로 묶여 있을 뿐입니다. Clash는 그 지도를 정책 그룹·도메인 분류·규칙 세트로 서술하게 해 주며, 서술이 실제 트래픽과 다르면 사용자는 앱 탓보다 먼저 무한 로딩·캡차 실패를 보게 됩니다.
생산적인 대응은 관측 기반으로 reddit.com·정적·미디어·hCaptcha·reCAPTCHA가 두드리는 호스트를 덮는 규칙을 키우고, DNS를 그 결정과 정렬하며, 시스템 프록시와 TUN 중 실제로 도구가 따르는 쪽을 로그로 확정하고, 원격 규칙을 신뢰 경계 안에서 갱신하는 것입니다. 스트리밍·AI 글과 달리 이 글은 커뮤니티 웹·앱·캡차 트리에 맞춘 분기점을 분명히 했습니다.
다른 도구에 비해 Clash는 규칙을 읽기 쉬운 텍스트로 남기고, 연결 단위로 어떤 정책이 이겼는지 추적하기 좋다는 점에서 소셜·커뮤니티 사이트 튜닝에도 잘 맞습니다. 설정이 길어질수록 「한 줄의 규칙이 어떤 실제 호스트를 의미하는지」를 주석과 위키로 묶어 두는 습관이 장기적으로 시간을 아껴 줍니다.
오픈소스 릴리스와 이슈 트래커는 신뢰할 수 있는 정보원이지만, 설치 패키지를 받을 때는 저장소 대신 사이트 다운로드 페이지를 우선 경로로 두면 경로가 단순해집니다.
→ Clash를 무료로 다운로드하고, Reddit·정적·캡차 호스트를 로그로 맞춰 웹과 앱 로딩을 다시 매끄럽게 이어 가 보세요.