TL;DR

  • De1984는 Android 기기에서 앱을 비활성화하지 않고 네트워크 접근을 차단하는 방화벽과 패키지 관리 기능을 제공하며, 기기 환경에 따라 iptables, ConnectivityManager, VPN 백엔드를 사용함.
  • 방화벽은 Wi-Fi·모바일 데이터·로밍을 앱별로 차단하고, 기본 차단 또는 기본 허용 정책과 화면 꺼짐 차단을 지원함.
  • 패키지 관리에는 앱 활성화·비활성화, 강제 종료, 시스템·사용자 앱 제거 기능이 포함되며 Shizuku 또는 루트 권한을 사용함.
  • 버전 2.7.7은 방화벽 전환, 앱 차단 상태, 권한 감지, VPN 모드 배터리 소모 관련 문제를 수정함.
  • Android 8.0(API 26) 이상을 요구하며 추적·분석 없이 데이터를 로컬에 저장하고 MIT 라이선스로 공개됨.

버전 2.7.7 변경 사항

  • VPN 방화벽을 빠르게 껐다 켤 때 방화벽이 꺼진 상태로 남을 수 있는 문제를 수정함.
  • 루트 또는 Shizuku에서 ‘모두 차단’을 사용할 때 방화벽이 켜진 것으로 표시되지만 앱 차단이 해제된 채 남을 수 있는 문제를 수정함.
  • 앱 목록을 읽지 못한 상태로 시작하면 방화벽이 꺼진 것으로 표시함.
  • 패키지 작업에서 루트 또는 Shizuku가 없다고 잘못 표시하는 문제를 수정함.
  • VPN 터널이 CPU 코어를 계속 사용하고 루트 확인이 지나치게 자주 실행돼 배터리가 소모되는 문제를 수정함.
  • 업무용 및 복제 프로필 앱과 관련된 VPN 규칙, 강제 종료, 재설치 등에 대한 변경 사항은 원문이 중간에서 끊겨 세부 내용을 확인할 수 없음.

De1984 소개

  • De1984는 여러 백엔드를 지원하는 Android 기기용 방화벽 및 패키지 관리자임.
  • 이름은 George Orwell의 소설 *Nineteen Eighty-Four*에서 영감을 얻었으며, 감시에 저항하고 디지털 프라이버시를 되찾는 앱의 철학을 반영함.
  • 소설에 묘사된 디스토피아적 통제를 뒤집어 기기와 데이터에 대한 통제권을 되찾도록 한다는 상징을 담음.

방화벽 기능

  • 여러 방화벽 기능: 루트 또는 Shizuku 기반 iptables, Android 13 이상용 ConnectivityManager, 대체 방식인 VPN.
  • 기기 기능에 따른 방화벽 방식 자동 선택.
  • 루팅 기기에서 커널 수준 차단과 더 높은 성능을 제공하는 포괄적인 iptables 방식.
  • 루트 권한이 없는 Android 13 이상 기기용 ConnectivityManager 방식.
  • 호환성을 위한 VPN 백엔드 대체 방식으로, 루트 권한 없이 사용 가능.
  • 앱별 Wi-Fi, 모바일 데이터, 로밍 접근 차단.
  • 전역 방화벽 정책: ‘기본적으로 모두 차단’(허용 목록) 또는 ‘기본적으로 모두 허용’(차단 목록).
  • 배터리와 데이터를 절약하기 위한 화면 꺼짐 차단.
  • 실시간 네트워크 상태 감시 및 규칙 자동 적용.

패키지 관리

  • Shizuku 또는 루트 권한으로 시스템 앱 활성화·비활성화.
  • 실행 중인 앱 강제 종료.
  • 시스템 앱과 사용자 앱 제거.
  • 시스템·사용자 앱 및 활성화·비활성화 상태에 따른 패키지 필터링.
  • 패키지 빠른 검색.

프라이버시와 오픈소스

  • 추적 및 분석 기능 없음.
  • 텔레메트리 없음.
  • 데이터는 로컬에만 저장.
  • 독점 라이브러리 및 Google Play Services를 사용하지 않음.
  • MIT 라이선스로 전체 공개되며 소스에서 빌드 가능.
  • 소스 코드: https://github.com/dorumrr/de1984
  • 라이선스: MIT.
  • 이슈 트래커: https://github.com/dorumrr/de1984/issues
  • 제작자: Doru Moraru.

요구 사항과 권한

  • Android 8.0(API 26) 이상 필요.
  • iptables 방화벽에는 루트 권한 또는 루트 모드의 Shizuku 필요.
  • ConnectivityManager 방화벽에는 Shizuku와 Android 13 이상 필요.
  • VPN 방화벽에는 VPN 권한이 필요하며, 루트 없이 모든 Android 버전에서 작동함.
  • 패키지 관리에는 Shizuku 또는 루트 권한 필요.
  • ACCESS_NETWORK_STATE: 네트워크 연결을 확인하고 규칙을 자동 적용하는 데 사용.
  • BIND_VPN_SERVICE: VPN 기반 방화벽용 로컬 VPN 생성에 사용.
  • QUERY_ALL_PACKAGES: 설치된 모든 앱 확인에 사용.
  • POST_NOTIFICATIONS: 새 앱 설치 알림 표시에 사용되며 선택 사항임.
  • RECEIVE_BOOT_COMPLETED: 기기 부팅 시 방화벽 자동 시작에 사용.
  • 루트 권한 또는 Shizuku: iptables 방화벽과 패키지 관리에 선택적으로 사용.
  • 앱 권한 목록에는 네트워크 연결 및 Wi-Fi 연결 보기, 구성 요소 활성화 상태 변경, 포그라운드 서비스 및 specialUse 유형 포그라운드 서비스 실행, 사용자 간 상호작용, 다른 앱 종료, 알림 표시, 모든 패키지 조회, 시작 시 실행, 패키지 삭제 요청, 배터리 최적화 무시 요청, 기기 절전 방지, 보안 설정 쓰기, 홈 화면 바로가기 설치 권한이 포함됨.
  • 추가 권한 식별자: android.permission.ACCESS_SUPERUSER, android.permission.BIND_VPN_SERVICE, android.permission.CHANGE_COMPONENT_ENABLED_STATE, android.permission.INTERACT_ACROSS_USERS, android.permission.WRITE_SECURE_SETTINGS, io.github.dorumrr.de1984.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION, moe.shizuku.manager.permission.API_V23.

버전 정보

  • 버전 2.7.7 (47)은 2026년 9월 18일 추가된 권장 버전이며, Android 8.0 이상을 요구함.
  • 원 개발자가 빌드하고 서명했으며, 해당 소스 타르볼과 일치함.
  • APK 크기는 6.2MiB이며 PGP 서명과 빌드 로그가 제공됨.
  • APK를 직접 설치하면 업데이트 알림을 받을 수 없고 보안성이 낮아질 수 있음. F-Droid 클라이언트 사용을 권장함.

이전 버전 변경 사항

  • 버전 2.7.5: Shizuku 호환 앱을 ‘설치되지 않음’으로 잘못 판단해 VPN 모드로 전환하던 문제를 수정함. 실제 Shizuku 서비스 연결 여부를 확인함. 이슈 #103.
  • 버전 2.7.4: 공개 빌드가 저장소의 소스와 실제로 일치하는지 확인할 수 있도록 APK에 빌드에 사용된 정확한 소스 커밋을 기록함. 이슈 #102.
  • 버전 2.7.5와 2.7.4도 Android 8.0 이상을 요구하며, 원 개발자가 빌드하고 서명한 버전으로 안내됨. APK 크기는 각각 6.2MiB이며 PGP 서명과 빌드 로그가 제공됨.

기부