인터넷 중독을 벗어나기 위해 특정 사이트를 차단하기 위한 많은 프로그램이 있지만 앱을 통해서 하는 것은 무엇이든 결국 한계가 있다. 우회할 수 있는 방법이 많기도 하고, 제대로 사이트를 막지 못하기도 하고, 리소스를 많이 잡아먹기도 한다. 어떤 방법이든, 본인이 설정한다면 본인이 끌 수 있기 때문에 한번 설정했다면 설정 변경하는 것을 최대한 번거롭게 하는 것이 핵심이라고 생각한다.

지금까지 시도해본 방법들

참고로 나는 macOS Monterey, iOS 15, Android 9을 쓰고 있다. 스스로 설정하고 비밀번호가 있는 경우에는 이를 다른 가족에게 맡기고 나는 모르도록 설정을 하는 식으로 제어했다.

1. 스크린타임(iOS, macOS)

iOS와 macOS 스크린타임 설정을 별도로 해줘야 한다. 지금은 다운타임만 설정하고 나머지는 비활성화했다. 오류와 버그가 많다.

콘텐츠 및 개인정보 보호 제한

성인 웹사이트와 특정 사이트를 차단하기 위해서 사용해보았으나 엉뚱한 웹사이트를 간헐적으로 차단하여서 정상적으로 사용할 수 없다. 예를 들어 구글에서 그냥 평범한 키워드 검색한 결과 페이지를 차단하기도 하고, 쇼핑몰 사이트, 블로그를 차단하기도 한다. 이에 관해서 애플 고객센터에 물어보았으나, 엉뚱한 사이트가 차단될 때마다 예외 허용하는 식으로 그 때 그 때 처리할 수 밖에 없다는 형편없는 답변을 들었다. 그리고 성인 웹사이트 필터링이 완벽하지도 않다.

항상 허용

이 리스트에 앱이나 웹사이트를 추가하면 다운타임에서도 항상 쓸 수 있게 된다. 그러나 iOS를 업데이트 하거나 가끔씩 그냥 이 리스트가 초기화 되어서 여러번 일일이 다시 추가해 주었다. 이에 관해서 애플 고객센터에 물어보니, 관련 사항을 알고 있지도 않았고 똑같은 에러 케이스(항상 허용 리스트 초기화)를 일으키게 하여 로그를 확인하기 위해서 내 핸드폰을 초기화 해서 다시 스크린타임을 적용해보고 또 초기화되면 그제서야 고객센터에 다시 전화하란다. 좀 어처구니가 없었다. 핸드폰을 초기화해서 다시 스크린타임 적용했고, 또 항상허용 리스트가 초기화되는 에러를 겪었지만 고객센터에 연락하기 귀찮아서 그냥 안쓰기로 했다.

다운타임

이 기능은 특정 시간 스케줄에 항상 허용 리스트를 제외한 모든 앱과 웹사이트 사용을 차단하는 기능이다. 다운 타임이 되더라도 다시 시간 추가하기 기능을 통해서 더 이용할 수 있어서 이것은 근본적으로 인터넷 중독을 막는 해결책이 되지 않는다.

앱 시간 제한

앱별로 사용시간을 제한하고 허용 시간을 초과하면 다운타임과 비슷하게 차단되는 것인데 다운타임과 마찬가지의 이유로 쓰지 않는다.

2. 앱블록(by MobileSoft s.r.o.) : Android

플레이스토어에서 앱을 다운로드할 수 있다. 앱 차단하고 웹사이트의 특정 키워드를 차단하는 것은 잘 작동된다. 그리고 설정 변경을 제한할 수 있는 강력한 기능을 제공한다. 가끔 시스템 충돌이 일어나기도 하고, 웹사이트 차단리스트 작성하는것이 아주 불편하다. 즉, 일일이 차단하고자 하는 웹사이트 URL을 다 작성해줘야 한다. 또한, 웹사이트 차단은 우회할 수 있는 방법이 있다.

3. /etc/hosts 파일 수정하기 : macOS

sudo vi /etc/hosts

위 명령어로 해당 파일을 수정해서 0.0.0.0 facebook.com 과 같은 내용으로 웹사이트 URL을 추가해주면 차단된다. 관리자계정으로(sudo) 파일을 수정할 수 있기에 macOS 사용자 프로필을 관리자계정과 자신이 쓰는 계정을 나눠서 하면 되지만, 개발자 특성상 관리자 계정으로 해야 하는 경우가 많아서 나에게는 해당되지 않았다.

자세한 설정 내용은 아래 링크를 참고하면 된다. macOS DNS 설정하기

참고로 이 링크처럼 설정하면 안된다. 이 파일은 다른 프로그램이 공통적으로 쓰는 파일이기 때문에 SIP(System Integrity Protection)과 리커버리 모드에서의 chflags restricted /etc/hosts과 같은 것으로 설정하게 되면 새로 설치한 앱들이 정상적으로 작동되지 않을 수 있다.

지금 사용하는 방법 : nextDNS 사용하기(iOS, macOS, Android)

nextDNS 설정 사이트

이것이 궁극적으로 모든 운영체제에서 사용할 수 있는 기능이다. DNS을 설정하는 것이기 때문에 직접 DNS설정을 끄지 않는 한 VPN 등 우회하는 방법이 통하지 않는다. 공식사이트에 나와 있듯이 공식 앱(Android/iOS)들을 통해서 사용할 수도 있지만, 그러면 핸드폰 리소스를 많이 잡아 먹으므로 좋지 않다. 앱을 사용하지 말고 프로파일을 이용해서 모든 플랫폼에서 네이티브하게 DNS를 지원한다. 심지어, 공유기 자체에 설정하는 방법도 있다(그렇게 되면 그 공유기를 통해서 연결된 모든 인터넷은 해당 설정을 적용하게 된다).

  • 차단 쿼리가 월 30만건까지는 개인에게 무료로 제공하기 때문에 충분히 사용할 수 있다.
  • 손쉽게 성인사이트를 차단할 수 있고, 광고웹사이트나, 불법 피싱 사이트, 도박 사이트 등을 간단히 버튼 하나로 차단리스트를 업데이트할 수 있다.
  • 유튜브, 트위치, 페이스북, 인스타그램 등 대표적인 시간잡아 먹는 사이트들은 스위치를 통해서 차단을 간단하게 제어할 수 있다.
  • 허용 리스트와 별도로 차단 리스트를 설정할 수 있다.
  • 심지어 스케줄을 적용해서 특정 시간에만 허용하도록 할 수 있다.
  • VPN 등 우회할 수 있는 방법을 하지 못하도록 관련 사이트들도 차단할 수 있다.
  • Google의 Safe Search와 Youtube의 제한 모드를 강제 설정할 수도 있다.

한계점

Chrome 브라우저에는 버그로 인해서 OS DNS 설정을 Bypass 한다. 그래서 설정에서 DNS을 https://dns.nextdns.io/[ProfileID]로 맞춤설정해야 한다. 또한 네이티브하게 DNS을 설정했다고 하더라고 프로파일을 제거하기만 하면 설정해제가 되므로 강제성이 없다. 본인은 Password Generator로 생성한 비밀번호로 계정을 설정해놓고 비밀번호를 잊어버렸다. 그래서 설정 사이트에서 쉽게 변경하지 못하도록 하였다. 이러한 가운데 프로파일을 제거하면 계정 비밀번호 찾기부터 해야해서 번거로우므로 어느정도 중독예방에 도움이 될거라고 본다.