尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證App local-first que bloquea las llamadas de números 600 y 809 en Chile.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗App local-first con una sola función: bloquear las llamadas entrantes de números 600 y 809 en Chile. Para iPhone y Android.
Sitio: https://chao600.com · App Store: https://apps.apple.com/cl/app/chao-600/id6820609522 · Google Play: https://play.google.com/store/apps/details?id=cl.urcalab.chao600
android/ App Android (Kotlin + Compose) y ficha de Google Play
ios/ App iOS (SwiftUI + Call Directory Extension) y sus verificaciones
site/ chao600.com: public/ (HTML estático) y wrangler.jsonc (Cloudflare)
contenido/ Marca, comentarios de redes sociales y videos
En android/ está la versión Android (Kotlin + Compose, mín. Android 10). Usa un CallScreeningService, que sí permite bloquear por patrón: no hay listas de millones de números. Bloquea 600 XXX XXXX y 809 XXX XXX en formato +56, 56 o nacional, no pide ningún permiso y guarda el registro de bloqueadas solo en el teléfono. Una sola pantalla: estado, prefijos, números siempre permitidos y registro.
cd android && ./gradlew testDebugUnitTest installDebug
Para publicar en Play Store, ver android/store/LISTING.md.
ios/Chao600/ App (SwiftUI): estado, interfaz, recargas de la extensión
ios/CallDirectory/ Call Directory Extension: agrega una tanda por recarga
ios/Shared/ Código de ambos targets: plan de números, estado compartido, manifiesto de privacidad
ios/Config/ Info.plist y entitlements
ios/scripts/ Verificaciones
iOS no deja bloquear por patrón. Una Call Directory Extension (CallKit) necesita la lista completa de números, así que Chao 600 los lista todos:
| Prefijo | Formato | Números | Rango en CallKit |
|---|---|---|---|
| 809 (telemarketing no solicitado) | 809 XXX XXX | 1.000.000 | 56809000000 – 56809999999 |
| 600 (comerciales) | 600 XXX XXXX | 10.000.000 | 566000000000 – 566009999999 |
loaded.json) y la configuración (settings.json) viven en el contenedor del App Group, escritos de forma atómica para que app y extensión siempre lean lo último.id del plan: la extensión los quita de la lista ya cargada (removeBlockingEntry) o los saltea al cargar la tanda que los contiene, sin recargar los 11M. Quitar uno de la lista lo vuelve a bloquear.open ios/Chao600.xcodeproj37AKWW8NZ2). Con firma automática, Xcode registra los bundle IDs cl.urcalab.chao600 y cl.urcalab.chao600.CallDirectory y el App Group group.cl.urcalab.chao600.El simulador no tiene bloqueo de llamadas: ahí la app muestra "iOS no respondió (código 0)". Hay que probar en un iPhone.
Cambia el equipo y los identificadores por los tuyos:
DEVELOPMENT_TEAM y PRODUCT_BUNDLE_IDENTIFIER en el proyecto (la extensión debe ser <bundle de la app>.CallDirectory).ios/Config/*.entitlements y en SharedState.appGroup.ios/scripts/check-plan.sh
Comprueba los rangos y simula el protocolo app ↔ extensión ↔ CallKit con recargas fallidas, recargas completas iniciadas por iOS y cambios de configuración: CallKit siempre termina con exactamente los números del plan, sin duplicados.
El sitio no tiene build: Cloudflare sirve la carpeta site/public/ tal cual en https://chao600.com (configuración en site/wrangler.jsonc).
cd site && npx wrangler deploy
contenido/marca/make-logo.py genera el logo, el ícono de la app iOS, los favicons del sitio y la imagen para redes desde un solo diseño, con la tipografía Nunito Black (SIL OFL) convertida a trazos. Necesita pip install fonttools y brew install librsvg imagemagick.
Los comentarios de redes sociales y los videos están descritos en contenido/README.md.
MIT. Ver LICENSE.