Skip to content

Releases

v0.8.0

Choose a tag to compare

@fredasterisk fredasterisk released this 05 Nov 21:38

Sécurité

  • Signature Ed25519 : le site ne garde que la clé publique de Hop. Lire sa base de données, ou une copie, ne permet plus de signer une requête.
  • Appairage : la confirmation remplace le secret du jeton par la clé publique de Hop. Le jeton hop2 pour WP-CLI (connexion via Forge) porte la clé publique : la ligne de commande ne montre rien qui permette de signer.
  • Sites appairés avant 0.8.0 : Hop leur donne sa clé publique à la synchronisation suivante, puis leur fait retirer le secret partagé.
  • Connexion en un clic : elle ouvre le compte WordPress de la personne de l'agence, trouvé par son courriel ou créé comme administrateur la première fois, jamais celui du client. Un compte existant qui n'est pas administrateur est refusé, pas promu.
  • Copies avant mise à jour : déplacées au-dessus de WordPress quand ce dossier n'est pas public et que le site peut y écrire.

Corrections

  • Le lien de connexion en un clic n'est consommé que par la visite elle-même (GET), plus par une requête OPTIONS (vérification préalable d'un navigateur) ou HEAD.

Compatibilité

  • Un Hop plus ancien, qui envoie un secret à l'appairage, reste pris en charge.

v0.7.0

Choose a tag to compare

@fredasterisk fredasterisk released this 05 Nov 16:37

Sécurité

  • Multisite : seul un administrateur du réseau peut appairer le connecteur, et seul le site principal répond aux requêtes de Hop. Un administrateur de sous-site ne peut plus se fabriquer une clé ni se connecter en super administrateur.
  • Appairage : la confirmation doit fournir le nouveau secret. Quelqu'un qui aurait vu passer le jeton (historique de commandes, liste des processus d'un serveur partagé) ne peut plus garder la clé du site à côté de Hop.
  • Requêtes signées : une requête qui porte des paramètres hors du corps signé (chaîne de requête, corps lu comme un formulaire) est refusée. Chaque nonce est enregistré en une seule requête atomique : deux copies d'une requête envoyées en même temps ne passent plus toutes les deux.
  • Copies de la base :
    • la clé, les nonces et les jetons du connecteur n'y entrent plus ;
    • une restauration ne ramène plus un ancien état du connecteur (une clé révoquée reste révoquée) ;
    • le dossier et les fichiers des copies sont fermés aux autres utilisateurs du serveur, y compris le serveur web sur nginx ;
    • les copies de plus de 30 jours sont supprimées.

Divers

  • Les jetons de connexion expirés sont purgés chaque heure.
  • La désinstallation supprime le dossier des copies.

À noter : un connecteur installé sur un sous-site d'un réseau multisite (et non sur le site principal) ne répond plus à Hop.

v0.6.0

Choose a tag to compare

@fredasterisk fredasterisk released this 03 Nov 19:23

Ajouts

  • Commande WP-CLI wp hop-connector pair <jeton> : Hop peut installer et appairer le connecteur à travers Forge, sans ouvrir l'admin WordPress.
  • Remplacement du secret à l'appairage : Hop envoie un nouveau secret avec la confirmation, et le jeton copié ou visible dans un historique de commandes ne vaut plus rien.

v0.5.0

Choose a tag to compare

@fredasterisk fredasterisk released this 03 Nov 15:15

Ajouts

  • Copie de la base de données avant les mises à jour : toutes les tables WordPress du site, compressées, dans le dossier de sauvegarde fermé au web. Les 3 dernières copies sont gardées.
  • Restauration d'une copie de la base, déclenchée depuis Hop (nouvelles routes POST /hop/v1/backups/database et /backups/database/restore).
  • L'export passe par WordPress lui-même : il fonctionne sans mysqldump ni exec(), et ne copie que les tables de cette installation.

Installation

  • Le zip hop-connector-0.5.0.zip ci-dessous s'installe par Extensions → Ajouter → Téléverser ; les sites déjà équipés reçoivent la mise à jour en un clic.

v0.4.0

Choose a tag to compare

@fredasterisk fredasterisk released this 03 Nov 13:18

Ajouts

  • Hop peut activer, désactiver et supprimer une extension du site (nouvelle route POST /hop/v1/plugins/state).
  • Une extension n'est supprimée qu'une fois désactivée, et ses fichiers sont copiés à part juste avant : la suppression peut être annulée par un retour arrière.
  • Le connecteur refuse d'agir sur lui-même.

Notes

  • Hop s'en sert pour « Activer et mettre à jour » : une extension premium désactivée est activée le temps de sa mise à jour, puis désactivée de nouveau.

v0.3.0

Choose a tag to compare

@fredasterisk fredasterisk released this 10 Oct 14:52

Première version publiée depuis le dépôt autonome du connecteur.

Ajouts

  • Mises à jour en un clic : WordPress propose désormais « Mettre à jour » à chaque nouvelle release de ce dépôt.
  • Mises à jour programmées : application d'une mise à jour à la fois (extension, thème ou cœur), avec sauvegarde locale et retour arrière.
  • Appairage par jeton, inventaire du site, connexion en un clic et liste blanche d'adresses IP.

Installation

  • Cette version s'installe à la main (zip). Les suivantes se feront depuis Tableau de bord → Mises à jour.
  • Le dépôt étant privé, chaque site a besoin de la constante ASTERISK_GITHUB_TOKEN dans wp-config.php pour recevoir les mises à jour.