¿Cómo hacer que los paquetes de f-droid sean tratados como de una "fuente conocida" (si tengo root)?

Por lo general, obtengo paquetes del repositorio http://f-droid.org/ a través de su navegador de paquetes (porque entonces tengo la garantía de que uso software gratuito); y están firmados con su clave.

Yo uso CyanogenMod 10; y tengo acceso root.

No me gusta permitir paquetes de "fuentes desconocidas" para esto.

¿Puedo configurar el sistema para que f-droid cuente como una fuente conocida, y los paquetes de todas las demás fuentes desconocidas no puedan instalarse de forma predeterminada como antes?

Tal vez, algo puede ser parches en la distribución de CyanogenMod para agregar la clave de f-droid como clave para una "fuente conocida" de paquetes.

Respuestas (3)

Casi todas las aplicaciones de F-Droid están firmadas con una clave diferente, aunque todas las claves están en el mismo almacén de claves. Para que se omita el interruptor, el cliente F-Droid debería instalarse como una aplicación del sistema y hacer que funcione de manera segura como tal. Se ha proporcionado algún código para que esto funcione, pero aún no se ha integrado.

Entonces, en principio, se podría agregar una nueva clave "conocida", pero en el caso de las aplicaciones de f-droid, hay tantas claves que esto no es práctico; la única forma práctica es tener el propio cliente f-droid como una aplicación del sistema que realice la verificación de la firma. ¿He entendido bien la situación?
data/app es propiedad del usuario del sistema, por lo que cualquier aplicación del sistema puede poner un apk allí sin tener que pasar por el instalador del paquete. Por lo tanto, no tiene nada que ver con las firmas de las aplicaciones, pero F-Droid debería estar firmado con la clave del sistema.
No estoy seguro de por qué, pero no es necesario que la aplicación F-Droid esté firmada con la clave del sistema, al menos si uno está usando CyanogenMod.
Entonces, ¿debería probar un nuevo f-droid o un nuevo CM para esta función?

De acuerdo con este registro de cambios , la próxima versión 0.71 de f-droid debería admitir esto.

Otra mención de esto está en: https://github.com/WhisperSystems/TextSecure/issues/127#issuecomment-51065857

hay extensión de privilegio f-droid

https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/

con él deberías poder instalar aplicaciones sin tener que habilitar la "fuente desconocida".

Hay dos formas de instalar. uno usando carga lateral. otro usando adb root. Voy a explicar ambos a continuación.

si se hace correctamente, fdroid con la extensión de privilegios debería incluso sobrevivir a un restablecimiento a la configuración de fábrica. entonces es parte del sistema.


preparativos para ambos métodos de instalación

  • descargue la extensión de privilegios de f-droid desde el sitio web de f-droid a su computadora.

    https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/

    para descargar, debe desplazarse hacia abajo y luego descargar el último zip. el nombre del archivo debe ser algo como esto:org.fdroid.fdroid.privileged.ota_2110.zip

  • instale adb en su PC y habilite la "depuración usb" en su dispositivo. busca en internet como hacerlo.

    adb es una herramienta de línea de comandos, así que abra una terminal. luego navegue hasta el directorio donde se encuentra el archivo zip de la extensión privilegiada.

  • conecte el dispositivo a su pc usando un cable usb.

  • Verifique que el dispositivo sea reconocido usando el comando adb devices.

    debería mostrar algo como esto:

    $ adb devices
    List of devices attached
    <some number> device
    

    si dice unauthorizedo cualquier otra cosa, necesita depurar su conexión. busca en internet como hacerlo.


el método de carga lateral

para esto, necesita una recuperación personalizada que permita la carga lateral instalada en su dispositivo.

si tiene lineageos instalado, normalmente ya tiene una recuperación personalizada adecuada. de lo contrario, descargue e instale twrp ( https://twrp.me/ ).

  1. conecte su dispositivo a la pc con un cable usb. verifique que el dispositivo se encuentre en la lista de

     adb devices
    
  2. inicie su dispositivo para descargar

     adb reboot sideload
    

    O: inicie su dispositivo para la recuperación

     adb reboot recovery
    

    luego, en su dispositivo en recuperación, configure el dispositivo para la carga lateral. en la recuperación de lineageos esto se llama "aplicar actualización" y luego "aplicar desde ADB".

  3. instalar extensión de privilegios por sideload

     adb sideload org.fdroid.fdroid.privileged.ota_2110.zip
    
  4. reinicie el dispositivo de nuevo a Android.

     adb reboot
    

    O: haga clic en reiniciar en el menú de recuperación

compruebe si la extensión de privilegios está habilitada. vea a continuación cómo hacerlo.

más información:


el método raíz adb

para esto también necesita habilitar la "depuración rooteada" en su dispositivo (junto con la "depuración usb").

parece que la "depuración rooteada" solo está disponible si tiene instalada una rom personalizada como lineageos.

descomprima la extensión de privilegio descargada.

ahora ejecute los siguientes comandos adb uno por uno

adb root
adb remount
adb push F-DroidPrivilegedExtension.apk /system/priv-app/
adb push permissions_org.fdroid.fdroid.privileged.xml /system/etc/permissions/
adb push F-Droid.apk /system/app/
adb push 80-fdroid.sh /system/addon.d/
adb reboot

verifique que no haya mensajes de error después de cada paso. excepto adb remountque parece ser innecesario en versiones recientes de lineageos. pero no ha hecho daño (hasta donde yo entiendo), así que continúa de todos modos.

después de reiniciar, verifique si la extensión de privilegios está habilitada.

más información:


cómo verificar si la extensión de privilegios está habilitada

  1. abrir f-droide
  2. ir a la configuración
  3. desplácese hacia abajo
  4. habilitar el modo experto (abrirá más configuraciones en la parte inferior)
  5. desplácese hasta el final de nuevo
  6. si ve una marca de verificación verde junto a "extensión privilegiada", entonces está habilitada.

"extensión privilegiada" es la última opción en la página de configuración. si se ha desplazado hasta el final y la última opción no es "extensión privilegiada", entonces la extensión privilegiada no está habilitada. probablemente tampoco esté instalado correctamente.


notas:

He instalado muchos fdroid con extensiones de privilegios en muchos linajes en muchos dispositivos. a menudo hubo contratiempos en el camino y no funciona por razones que no entiendo.

la mayor parte del tiempo me las arreglé para hacerlo funcionar después de algunas búsquedas en Internet y algunos retoques. a veces parece una tontería obtener la combinación de comandos correcta por coincidencia para que funcione.

a veces simplemente no funciona. Siento no poder ayudarte más entonces.


Tienes esto como módulo Magisk también