1. «로딩만 돈다»·웹은 되고 앱만 이상할 때부터 나누기
브라우저의 threads.net이나 앱에서 자주 나오는 표현—타임라인은 보이다가 특정 포스트만 멈춤, 사진·동영상 썸네일만 비어 있음, 로그인은 된 것 같은데 피드 갱신이 안 됨, iOS·Android 중 한쪽만 간헐적—은 한 마디 «느리다»로 설명하기 어렵습니다. Clash 분류 규칙은 위에서 아래로 첫 매칭 한 줄이 전부이므로, 메인 HTML이 붙는 호스트와 이미지·API·GraphQL에 가까운 호스트가 서로 다른 정책 그룹에 가면, 화면 한쪽만 로딩이 길어지거나 타임아웃처럼 보일 수 있습니다. 2026년에도 Threads·인스타 계열은 트래픽이 여러 브랜드 도메인으로 갈라지므로, «한 도메인만 프록시» 구성은 반쪽 성공을 반복하기 쉽습니다.
증상을 기록할 때는 가능하면 같은 글·같은 미디어로 재현 화면을 고정하고, 개발자 도구나 앱 디버그 수단으로 실제 요청 FQDN을 적어 두세요. 이 목록이 이후 DOMAIN-SUFFIX 줄을 추가할 때의 근거가 됩니다. 모바일 앱은 시스템 DNS·백그라운드 제한까지 겹쳐, PC 웹과 패턴이 다르게 보일 수 있다는 점도 함께 둡니다.
2. Reddit 글·스트리밍 글과 겹치지 않는 이유
Reddit을 예로 들면 reddit.com·redd.it·redditstatic·Fastly 엣지 조합이 핵심 축입니다. Threads·Meta 쪽은 threads.com·threads.net·instagram.com·cdninstagram.com·fbcdn.net 등 다른 접미사 패턴과 인증·그래프 API가 섞입니다. 따라서 Reddit용 룰셋을 그대로 복사해 «커뮤니티면 다 된다」고 보기 어렵습니다. 반대로 YouTube나 Disney+ 글은 대역폭 큰 스트리밍·OTT 축이라, Threads처럼 «짧은 JSON+이미지+소량 동영상»이 한 화면에 겹치는 패턴과 우선순위가 다릅니다.
공개 구독 규칙에 “소셜” 한 줄이 있어도, 본인 프로필에서는 그 줄이 MATCH보다 아래에 박혀 실제로는 안 잡히는 경우가 많습니다. 연결 로그에서 어떤 규칙 이름이 찍히는지 확인하는 습관이, 노드만 바꿔도 안 나아가는 상황을 줄여 줍니다.
3. 웹·앱·미디어가 갈리는 흐름(관측 전제)
아래는 고정된 공식 목록이 아니라 브라우저·앱 버전에 따라 달라질 수 있는 축을 개념으로 나눈 것입니다. 실제 운용에서는 본인 환경에서 본 FQDN을 우선합니다.
- Threads 웹·앱 쉘:
www.threads.com·threads.com·threads.net등 레이아웃·스크립트를 불러오는 호스트. - 인스타그램 연동·자산:
instagram.com·cdninstagram.com·관련 서브도메인—계정·미디어·콘텐츠가 한 묶음으로 붙는 경우가 많습니다. - 정적·미디어 CDN:
fbcdn.net류—썸네일·이미지·짧은 클립이 실제로 연결되는 이름이 브랜드와 다를 수 있습니다. - API·그래프:
graph.instagram.com·기타 API 호스트—피드 갱신·상호작용이 여기서 막히면 «화면은 옛날»처럼 느껴집니다.
로그인은 됐는데 피드만 안 바뀔 때
인증 쿠키·세션은 한 호스트에 붙어 있는데, 데이터 요청만 다른 출구에서 리셋되면 «반쯤 로그인»처럼 보일 수 있습니다. TLS·SNI 단계에서 끊기는지는 TLS 글과 함께 보는 편이 낫습니다.
4. Meta CDN·엣지: 왜 “브랜드 한 줄”로는 부족한가
글로벌 CDN은 사용자에게 가까운 PoP로 연결을 분산시킵니다. 프로토콜 상으로는 threads.net으로 보이는 요청이, 실제 핸드셰이크·SNI는 다른 계열을 가리키거나, 이미지 요청만 fbcdn 계열로 빠지기도 합니다. Clash에서는 “브랜드 이름”보다 실제 매칭된 도메인 문자열을 규칙에 쓰는 것이 안전합니다. 국내 트래픽을 DIRECT에 두는 프로필이라면 GeoIP나 지역 직통 규칙이 Meta 관련 줄보다 위에서 먼저 잡히는지도 함께 봅니다.
5. Clash 규칙으로 Threads·Meta 축을 한 그룹에
분류 규칙은 넓은 MATCH보다 위에 둔 DOMAIN-SUFFIX가 우선합니다. 아래는 이해를 돕는 스켈레톤이며, 운영 중 관측한 이름·구독 세트에 맞게 줄을 줄이거나 늘리면 됩니다. facebook.com은 범위가 넓어 다른 사이트까지 함께 끌고 갈 수 있으니, 문제가 확인된 경우에만 추가하는 편이 안전합니다.
proxy-groups:
- name: THREADS-META
type: select
proxies: [DIRECT, YourNodeA, ...]
rules:
- DOMAIN-SUFFIX,threads.com,THREADS-META
- DOMAIN-SUFFIX,threads.net,THREADS-META
- DOMAIN-SUFFIX,instagram.com,THREADS-META
- DOMAIN-SUFFIX,cdninstagram.com,THREADS-META
- DOMAIN-SUFFIX,fbcdn.net,THREADS-META
# - DOMAIN-SUFFIX,facebook.com,THREADS-META
- MATCH,Others
DOMAIN-KEYWORD,meta처럼 너무 넓은 키워드는 오탐이 나기 쉬우니, 로그에 찍힌 접미사 위주로 좁히는 것이 좋습니다. rule-provider가 이미 일부를 보내고 있다면, 본인이 넣은 USER_RULE이 그보다 위에 있어야 덮어씁니다.
6. 정책 그룹·노드: url-test와 «한 출구» 실험
노드 선택을 짧은 주기 url-test만으로 맡기면, 세션이 바뀌는 순간 피드 일부만 실패하는 것처럼 보일 수 있습니다. 재현이 되는 시간대에는 select로 한 노드를 고정하고 동일 화면을 다시 열어 비교해 보세요. 혼잡한 공용 노드는 작은 JSON 응답만 큐에 밀려 늦게 도착하는 일이 있어, 핑이 낮아도 체감 로딩이 나쁠 수 있습니다. url-test·interval·tolerance 튜닝은 그 글을 보조로 두고, 전역 모드 실수는 튜토리얼에서 먼저 제외합니다.
7. DNS·fake-ip·DoH가 피드·미디어를 망치는 방식
규칙이 맞아도 DNS가 먼저 갈라지면 앱은 터널에 닿기 전에 멈춥니다. fake-ip와 OS·브라우저 DoH가 동시에 켜져 있으면 «가끔만» 미디어가 빈칸으로 보이는 패턴도 나옵니다. instagram.com과 cdninstagram.com이 서로 다른 리졸버로 풀리면, 한쪽은 빠른데 다른 쪽만 타임아웃으로 보이기도 합니다. fake-ip·filter 글의 순서를 병행하세요. 스니퍼 예외는 스니퍼 문서를 참고해 금융·공공 도메인만 좁게 빼면 됩니다.
8. 운영 중에도 따라갈 점검 순서
- 모드:
RULE인지, 실수로GLOBAL·DIRECT고정은 아닌지 확인합니다. - 로그: 멈춘 시각에 어떤 FQDN이 어떤 규칙으로 잡혔는지 캡처합니다.
- FQDN 반영: 네트워크 탭·로그의 이름을
DOMAIN-SUFFIX로 옮기고 순서를 올립니다. - 노드 고정:
select로 한 출구에 묶어 동일 화면을 재시도합니다. - DNS 정리: Clash·OS·브라우저 DoH를 단일 전략에 맞추고 fake-ip 필터를 점검합니다.
- TUN·분할: 전역 터널이면 TUN·라우팅을, 분할이면 제외 목록과 대조합니다.
프로필을 수정한 뒤에는 시크릿 창·다른 기기에서도 한 번씩 확인해 캐시·서비스 워커 영향을 걷어 냅니다.
10. 증상별로 무엇을 먼저 볼지
11. 맺음말
Threads는 Meta·Instagram·이미지 CDN·API가 한 화면에 겹쳐 있어, 한두 줄의 DOMAIN만 프록시에 넣기엔 로딩·동기화가 쉽게 어긋납니다. Clash 분류 규칙으로 관측한 FQDN을 정책 그룹에 모으고, 노드 선택·DNS를 같은 세션 기준으로 맞추면 «계속 돌기만 하는» 증상을 네트워크 층에서 체계적으로 좁힐 수 있습니다. 공유 룰셋을 쓰더라도 매칭 순서는 프로필마다 다르므로, 연결 로그를 읽는 습관이 유지보수 비용을 줄여 줍니다.
Mihomo 계열처럼 도메인·규칙 뷰가 읽기 쉬운 클라이언트는 호스트가 잘 갈라지는 소셜 서비스에 특히 유리합니다. 설치 패키지는 다운로드 페이지에서 받는 것이 안내와 일치하고, GitHub는 빌드·이슈·라이선스 확인용으로 두면 혼선이 적습니다.