CBlock (Manifest V3) - installation et desinstallation
======================================================

Prerequis : Windows. Aucun droit administrateur.
Navigateurs supportes : Microsoft Edge, Google Chrome, Brave, Mozilla Firefox.
(Extension Manifest V3.)


1. INSTALLATION
---------------
1.1. Extraire ce dossier ou vous voulez.

1.2. Double-cliquer sur  Installer-CBlock.cmd  puis choisir  [1] Installer
     Le lanceur applique -ExecutionPolicy Bypass (aucune erreur de strategie
     d'execution) puis affiche un menu :

       [1] Microsoft Edge
       [2] Google Chrome
       [3] Brave
       [4] Mozilla Firefox
       [A] Tous

     Saisir un ou plusieurs numeros (ex: 1,2) ou A.
     Les navigateurs installes sont indiques dans le menu.

1.3a. EDGE / CHROME / BRAVE : CBlock apparait dans la page des extensions,
      desactive. L'activer une seule fois (interrupteur ou bouton "Autoriser").
      Resultat : actif en permanence, sans bulle "mode developpeur".

1.3b. FIREFOX : voir la section 4 (signature obligatoire pour une installation
      permanente sur Firefox Release).


2. CE QUE FAIT LE SCRIPT SELON LE NAVIGATEUR
--------------------------------------------
EDGE / CHROME / BRAVE
  - si le navigateur est en cours d'execution - y compris en arriere-plan,
    sans aucune fenetre visible - le script propose de le fermer. C'est
    indispensable : un navigateur ouvert empeche la reinstallation, et il
    conserve des processus apres la fermeture des fenetres.
  - le script ferme ces processus, nettoie l'etat de desinstallation
    precedente ("external_uninstalls"), enregistre l'extension "externe"
    dans le registre utilisateur, puis relance le navigateur sur la page
    des extensions.

FIREFOX
  - le script ferme Firefox s'il est en cours d'execution (sinon une instance
    deja lancee peut ne pas afficher l'invite d'installation),
  - il copie le paquet .xpi dans %LOCALAPPDATA%\CBlock-Pro-firefox,
  - puis il ouvre ce fichier avec Firefox, ce qui propose directement
    l'installation (si le paquet est signe).
  - Il n'ouvre rien d'autre volontairement : une seconde ouverture fermerait
    l'invite avant que vous ayez pu confirmer.


3. POURQUOI CETTE METHODE (SANS MODE DEVELOPPEUR)
-------------------------------------------------
Les navigateurs Chromium refusent les extensions qui ne viennent pas de leur
store. La methode utilisee ici :

  paquet .crx SIGNE (cle stable) + cle de registre "extensions externes"
  (HKCU) pointant vers un update.xml local (file:///) + autorisation.

L'extension apparait alors normalement, en attente d'accord une seule fois
(activation par l'utilisateur). Aucun "mode developpeur".

Firefox ne fonctionne pas ainsi : voir section 4.


4. FIREFOX - SIGNATURE OBLIGATOIRE
----------------------------------
Firefox Release n'installe en permanent qu'un paquet .xpi SIGNE par Mozilla.
Il n'existe pas d'equivalent au registre Chromium.

  - Si le .xpi du paquet est SIGNE (META-INF/cose.sig) : installation native
    (Firefox propose directement l'installation).
  - S'il n'est PAS signe : installation temporaire seulement
    (about:debugging#/runtime/this-firefox -> "Charger un module temporaire"),
    perdue au redemarrage. Pour un paquet permanent, le soumettre sur
    addons.mozilla.org (gratuit) puis replacer le .xpi signe renvoye dans ce
    dossier et relancer.

Compatibilite : code adapte a Firefox 140 ou superieur (page d'evenement,
monde MAIN, API DNR). La liste de domaines "hosts" est plafonnee sur Firefox
(limite ~30000 regles DNR statiques) : la couverture reseau est un peu plus
large sur Edge/Chrome que sur Firefox.


5. CONTENU DU PAQUET
--------------------
CBlock-Pro.crx            paquet signe pour Edge / Chrome / Brave
CBlock-Pro-firefox.xpi    paquet Firefox (a signer sur AMO si non signe)
Installer-CBlock.cmd      lanceur (double-clic) : menu Installer / Desinstaller
CBlock.ps1                script (installation et desinstallation)
LISEZ-MOI.txt             ce fichier

Identifiant d'extension (Chromium) : lbdbamfkeklfomongajplgogbbmbjobo
  (identique sur toutes les machines grace au champ "key" et a la cle stable)
Identifiant Firefox (gecko id)     : cblock-pro@cblock-extension


6. COMPTE ET ESSAI
------------------
Aucune cle de licence n'est demandee a l'installation. Au premier usage,
ouvrez les options de l'extension et creez votre compte (e-mail + mot de
passe) : l'essai de 7 jours demarre a l'inscription. Apres l'achat,
l'abonnement est rattache a votre e-mail ; connectez-vous avec le meme compte.


7. DESINSTALLATION
------------------
Double-cliquer sur Installer-CBlock.cmd, choisir [2] Desinstaller, puis le(s)
navigateur(s). Si CBlock est encore liste, cliquer "Retirer".

Le script supprime :
  - les cles de registre "extensions externes" de CBlock (Edge / Chrome / Brave)
  - la strategie ExtensionInstallAllowlist posee pour CBlock
  - le dossier %LOCALAPPDATA%\CBlock-Pro-crx
  - le dossier %LOCALAPPDATA%\CBlock-Pro-firefox (paquet .xpi)

Retirer l'extension depuis l'interface du navigateur ne suffit pas : la cle de
registre resterait. Utilisez le script.


8. MISE A JOUR
--------------
Repeter les etapes 1.1 a 1.3 avec le nouveau paquet (.crx / .xpi de version
superieure : meme identifiant, donc mise a jour en place).


9. OPTIONS AVANCEES (LIGNE DE COMMANDE)
---------------------------------------
  .\CBlock.ps1 -Action Install   -Browsers Edge,Chrome,Brave,Firefox
  .\CBlock.ps1 -Action Uninstall -Browsers Edge,Chrome,Brave,Firefox
  .\CBlock.ps1 -DryRun
  .\CBlock.ps1 -Action Install -InstallDir D:\CBlock-Pro-crx
  .\CBlock.ps1 -Action Install -SourceDir <dossier du crx>
  .\CBlock.ps1 -KeepOpen        (ne ferme pas les navigateurs)


10. CONFLIT AVEC UNE VERSION "UNPACKED"
---------------------------------------
Si une version "unpacked" de CBlock a deja ete chargee dans un navigateur
(mode developpeur, dossier src\), la retirer d'abord : les deux utilisent le
meme identifiant et entreraient en conflit.


11. LICENCE
-----------
Code CBlock proprietaire. Composants tiers sous licence MIT (scriptlet Twitch
TwitchAdSolutions) - voir NOTICE.txt.
