대안 언론으로 또 여러가지 이유로 요즘 많은 사람들이 팟캐스트를 듣는다. 이름 때문인지 팟캐스트가 애플에서 개발했고 아이튠즈에서만 서비스가 가능하다고 많은 사람들이 생각했던 적이 있다.

아이튠즈 채널은 팟캐스트의 주요 배포처이지만 중계만 해줄 뿐 핵심 정보가 되는 xml 형식의 파일과 음원/비디오 파일은 각 팟캐스트 제작자가 제공하는 것이다.

이 주소는 감춰져 있는데 (숨기려고 했다기 보다는 애플의 성격상 굳이 보일 필요가 없어서 일 것이다.) 몇몇 사이트를 이용하면 rss 주소를 바로 알 수 있다.

예를 들어 김어준의 뉴스공장은 구글링 해보면 아이튠즈에서

https://itunes.apple.com/us/podcast/tbs-%EA%B9%80%EC%96%B4%EC%A4%80%EC%9D%98-%EB%89%B4%EC%8A%A4%EA%B3%B5%EC%9E%A5/id1159173672?mt=2

이런 주소를 가지는데 아래 사이트에 복사해 붙여넣으면

바로 아래의 xml 주소가 튀어 나온다.

http://pod.ssenhosting.com/rss/tbsadm/radiofactory.xml

하지만 이게 특별한 비밀도 아니고 모든 서드파티 앱들이 이 주소를 사용하고 있다.

팟빵과 쎈호스팅

그렇다면 녹음/편집은 각 팟캐스트 제작자가 한다고 해도 호스팅은 어디서 제공되고 있을까? 여기에 잘 설명되어 있는데, 자사 서버를 이용하는 경우(썰전, 컬투쇼)도 있지만 대부분의 한국 팟캐스트 방송은 쎈호스팅을 이용한다.

문제는 팟빵이 한국에서 메이저 팟캐스트 플랫폼으로 부상하면서 모바일 클라이언트를 제한하고 있다. 참고로 팟빵과 쎈호스팅은 운영주체가 같다.

http://www.zamong.co.kr/archives/20474

좋게 말하면 자사 콘텐츠 보호와 트래픽/유입 경로 관리를 통해 사업성을 높이겠다는 의지이며, 청취자 입장에서는 이제 시장이 커졌으니 갑질하겠다는 의미로 해석할 수 있다.

모든 클라이언트가 차단된 것은 아직 아니지만 애플 기본 앱을 제외하고는 원칙적으로 차단하고 있는 것으로 파악되며 (참고), 잘 사용 중이던 앱이 더 이상 업데이트가 되지 않는다는 사용자의 불만이 접수되고 있다.

그렇다면 회피 방법은?

현재 클라이언트 차단은 user-agent를 체크하는 방식으로 이루어지는 것 같다. 몇몇 유명 앱의 user-agent를 조사해 보았는데 다음과 같았다.

  • iOS Podcast: “Podcasts/1150.47 CFNetwork/811.4.18 Darwin/16.5.0”
  • Downcast: “Downcast/2.9.16 (iPhone; iOS 10.3.1; Scale/2.00)”
  • RSS Radio: “RSSRadio/9090”
  • Pocket Casts: “PocketCasts/1.0 (Pocket Casts Feed Parser; +http://pocketcasts.com/)”
  • Overcast: “Overcast/1.0 Podcast Sync (0 subscribers; feed-id=588646; +http://overcast.fm/)”, “Go-http-client/1.1”

아이폰을 쓰고 있어서 안드로이드는 테스트하지 못했다.

한 가지 재미있는 점은, Pocket Casts나 Overcast, Castro는 앱에서 referesh를 한다고 해서 바로 서버에 요청하지 않는다. 다시 말해 별도의 봇이 돌아가면서 주기적으로 피드의 업데이트를 체크하고 새 에피소드가 있을 경우 푸쉬하여 알려주는 방식을 취하는 것으로 추측된다. 이 경우에는 각 모바일 클라이언트가 피드를 파싱하고 분석하는 리소스를 하나의 서버에서 처리함으로써 효율성을 높일 수 있지만, 문제가 생기면 그 파급력 또한 어마어마하다는 단점이 있다.

user-agent 기준으로 차단이 이루어지니 이를 속이면 간단하게 해결할 수 있다. 다양한 방법이 있을 수 있겠지만, 예를 들면 이렇게? 물론 이것도 막힐 수 있으니 근본적인 해결책은 아니다.

또 다른 문제: 늦게 업데이트 되는 에피소드

클라이언트 차단만이 유일한 문제가 아니다. 팟빵 앱과 비교해서 위에 언급한 주소를 사용하면 새로운 에피소드가 적게는 수십분 많게는 수시간 늦게 올라온다. 은근히 신경쓰이는 문제인데 분석을 해보니 팟빵 앱과 웹에서는 별도의 rss 주소를 사용하고 있었다.

백번 양보해서 통계 관리나 추적의 용이성을 이유로 경로를 이원화 할 수 있다고 해도 에피소드 업데이트 시간에 차이가 나는 것은 자사 앱에 대한 특혜 의도가 있지 않을까 하는 의심이 들게 만든다.

여기서 사용자의 선택은

  • 그냥 iOS 기본 팟캐스트 앱을 이용해서 늦게 올라오는 것을 감수하면서 듣는다.
  • 팟빵 앱을 이용한다.

문제는 열이면 열 모두가 동의할만큼 팟빵 앱은 디자인부터 사용성까지 나쁜 평을 받고 있는 보기 드문 앱이다. 안드로이드 iOS를 가리지 않는다.

해결 방법은?

일단 팟빵이 사용하는 주소를 알아내야 하겠다. 개발자나 이쪽 지식이 조금 있는 사람이라면 쉽게 알 수 있을 것이다. 거창한 툴도 필요 없고, 크롬 웹브라우저의 개발자 도구면 된다는 것을 아래 강좌를 보고 알 수 있었다.

https://nomade.kr/vod/crawling/58/

이 주소만으로는 또 완벽하지 않은데, 1) 리퍼러 체크를 하기 때문에 팟빵 사이트를 거쳐가지 않으면 보이지 않고, 2) 커버 이미지의 해상도가 매우 낮거나 업데이트가 되지 않는 문제가 있기 때문이다.

결국에는 프록시나 중계서버를 꾸미는 수 밖에는 없다. 명확한 해결책을 제시하지 못하지만 NAS를 가지고 있고 서버를 운용할 줄 아는 소수에게는 분명 도움이 될 것이다.