lulucrypto (OP)
|
|
November 05, 2019, 05:23:34 PM |
|
Petite rectification, les messages sont bien enregistrés dans un "fichier plat", en effet ils sont tous retrouvables sous le format JSON dans le fichier "db.json" ( Après premier lancement du bot ) Je ne l'ai pas bien expliqué dans le post, mais le script intègre un "serveur web" ( Sur le port 4269 par défaut ) permettant de consulter tous les messages archivés ( Je ne suis pas super clair sur ça dans le README du Git, faudra que j'améliore ça ^^ ).
|
|
|
|
lulucrypto (OP)
|
|
November 07, 2019, 08:52:47 PM |
|
Hello à tous ! Petite update du projet Aujourd'hui, j'ai plus ou moins terminé le bot public ( Dispo sur Github ). Si vous l'avez installé, je vous invite donc à effectuer la mise à jour de celui-ci ( A noter que la DB sera reset étant donné la modification structurelle de celle-ci pour les messages ). J'aimerais rappeler un point important, si vous avez un VPS ou un machine qui tourne H24, n'hésitez pas à l'installer, et partager le lien des messages archivés, ce serait un gros plus pour la sécurité du projet ! Et si vous avez installé le script, pareil, n'hésitez pas à partager le lien, ce serait top Désormais, le bot détecte aussi les messages supprimés, et vous en alerte si vous le voulez ! J'en ai profité pour détailler un peu plus le README du Github, afin que ce soit plus compréhensible ( Si vous avez une question, n'hésitez pas ). Aussi, cette nuit, je vais m'occuper de mettre à jour le premier post de ce sujet afin d'y fournir toutes les infos manquantes depuis le lancement ^^
|
|
|
|
Saint-loup
Legendary
Offline
Activity: 2800
Merit: 2428
|
|
November 07, 2019, 09:06:25 PM |
|
Hello à tous ! Petite update du projet Aujourd'hui, j'ai plus ou moins terminé le bot public ( Dispo sur Github ). Si vous l'avez installé, je vous invite donc à effectuer la mise à jour de celui-ci ( A noter que la DB sera reset étant donné la modification structurelle de celle-ci pour les messages ). J'aimerais rappeler un point important, si vous avez un VPS ou un machine qui tourne H24, n'hésitez pas à l'installer, et partager le lien des messages archivés, ce serait un gros plus pour la sécurité du projet ! Et si vous avez installé le script, pareil, n'hésitez pas à partager le lien, ce serait top Désormais, le bot détecte aussi les messages supprimés, et vous en alerte si vous le voulez ! J'en ai profité pour détailler un peu plus le README du Github, afin que ce soit plus compréhensible ( Si vous avez une question, n'hésitez pas ). Aussi, cette nuit, je vais m'occuper de mettre à jour le premier post de ce sujet afin d'y fournir toutes les infos manquantes depuis le lancement ^^ Genial. Par contre si jamais on est alerté qu'est-ce qu'il faut faire? Est-ce que tu sais si toutes les pages ont déjà été archivées sur achive.is, webarchive ou autre? Parce que bon si quelqu'un vient dire qu'un message a été supprimé ou modifié et qu'il sort un fichier local json comme preuve de l'adresse originale, ça ne va pas convaincre grand monde.
|
|
|
|
lulucrypto (OP)
|
|
November 07, 2019, 09:16:30 PM Last edit: November 07, 2019, 09:50:51 PM by lulucrypto |
|
Genial. Par contre si jamais on est alerté qu'est-ce qu'il faut faire? Est-ce que tu sais si toutes les pages ont déjà été archivées sur achive.is, webarchive ou autre?
Humm, disons que c'est a chacun de faire la part des choses je pense ^^ Genre si c'est un message de ce genre qui est modifié / supprimé, ce n'est pas forcement très important. Maintenant si c'est un message de signature, de quote avec signature par ex, la ça devient important je pense de le dire sur le topic en question par ex, ou même avertir modo / admin ( A chacun après d'adapter j'ai envie de dire ). Je pense pas que chaque page est indexé ( Quoi que ), dans tous les cas, le bot enregistre les liens, donc après c'est facile d'utiliser ce lien pour faire une recherche ( Sur les sites d'archives ), ou même en le fournissant à Theymos, il sera en mesure de retrouver le message supprimé / édité Parce que bon si quelqu'un vient dire qu'un message a été supprimé ou modifié et qu'il sort un fichier local json comme preuve de l'adresse originale, ça ne va pas convaincre grand monde. Comme j'ai dis, il est possible de consulter les messages dans une page web ( Même si en soit ça ne change pas grand chose ) Edit : J'ai mis à jour le premier post du coup !
|
|
|
|
Saint-loup
Legendary
Offline
Activity: 2800
Merit: 2428
|
|
November 07, 2019, 09:54:47 PM |
|
Ok mais c'est à quel moment qu'il faut prévenir Theymos? Dès qu'on voit qu'un message de stack d'adresse ou de quote de stack d'adresse a été modifié ou supprimé? Il t'a dit qu'il était ok pour ça? Bon sinon vérifier à la main que les 500 pages ont été archivées ça me semble infaisable, mais tu as dit qu'il existait une API non? Il faudra que je regarde ça.
|
|
|
|
lulucrypto (OP)
|
|
November 07, 2019, 10:04:33 PM |
|
Ok mais c'est à quel moment qu'il faut prévenir Theymos? Dès qu'on voit qu'un message de stack d'adresse ou de quote de stack d'adresse a été modifié ou supprimé?
Tu pose une bonne question Comme je dis, c'est +/- à chacun de juger, personnellement si par exemple je suis alerté qu'une ancienne signature à été supprimé / modifié, que c'est un gros compte ( Full Member / Plus ), a ce moment la, je pense alerter Theymos et ou un modo Il t'a dit qu'il était ok pour ça?
Je n'ai pas spécialement parlé de ça avec lui, mais je pense qu'il n'y a pas de soucis ( Ce n'est pas tous les jours qu'il y aura une update / suppression ^^ ). Bon sinon vérifier à la main que les 500 pages ont été archivées ça me semble infaisable, mais tu as dit qu'il existait une API non? Il faudra que je regarde ça.
Tu parle bien archivés sur des sites tel archive.fo ? Si oui, oui c'est sur qu'il ne faut pas commencer à vérifier ça manuellement Pour ces sites, je ne sais pas s'il y a des API, je n'ai pas vraiment fait de recherche à ce sujet
|
|
|
|
Halab
Moderator
Legendary
Offline
Activity: 2590
Merit: 2096
I find your lack of faith in Bitcoin disturbing.
|
|
November 07, 2019, 10:19:35 PM |
|
Désormais, le bot détecte aussi les messages supprimés, et vous en alerte si vous le voulez ! C'est compliqué/lourd à gérer la détection des messages supprimés ? Je sais que LoyceV ne sait pas le faire ou ne peut pas le faire car il scrape tout le forum je crois (cf ici, et toi tu surveilles qu'un seul topic. Mais si jamais tu as trouvé une formule magique pour le faire, ça pourrait l’intéresser.
|
|
|
|
lulucrypto (OP)
|
|
November 07, 2019, 11:22:21 PM |
|
Désormais, le bot détecte aussi les messages supprimés, et vous en alerte si vous le voulez ! C'est compliqué/lourd à gérer la détection des messages supprimés ? Je sais que LoyceV ne sait pas le faire ou ne peut pas le faire car il scrape tout le forum je crois (cf ici, et toi tu surveilles qu'un seul topic. Mais si jamais tu as trouvé une formule magique pour le faire, ça pourrait l’intéresser. Hum, c'est pas tellement compliqué Disons que pour moi, ça va, je n'ai "que" +/- 10 000 messages à traiter, donc c'est franchement rapide ( 2 à 3 secondes je crois ). Pour faire simple, je compare deux bases de données, à savoir : Une première contenant tous les messages archivés ( Les messages de cette base ne sont jamais mise à jour après enregistrement ), et une deuxième, qui elle se met à jour toutes les 6h ( Paramétrable dans la config ). Après je compare les deux, et si un message n'est plus dans la deuxième, ça veut dire que le message est supprimé Ça c'est une méthode qui fonctionne quand il n'y a pas trop de messages à traiter, mais je ne pense pas que ça soit très efficace ( Niveau vitesse ) pour des milliers ( Voir millions ? ) de messages ^^
|
|
|
|
Saint-loup
Legendary
Offline
Activity: 2800
Merit: 2428
|
|
November 07, 2019, 11:58:07 PM |
|
Tu parle bien archivés sur des sites tel archive.fo ? Si oui, oui c'est sur qu'il ne faut pas commencer à vérifier ça manuellement Pour ces sites, je ne sais pas s'il y a des API, je n'ai pas vraiment fait de recherche à ce sujet Ah pardon, j'ai cru que tu avais utilisé une API pour archiver les signatures dessus. Hum, c'est pas tellement compliqué Disons que pour moi, ça va, je n'ai "que" +/- 10 000 messages à traiter, donc c'est franchement rapide ( 2 à 3 secondes je crois ). Pour faire simple, je compare deux bases de données, à savoir : Une première contenant tous les messages archivés ( Les messages de cette base ne sont jamais mise à jour après enregistrement ), et une deuxième, qui elle se met à jour toutes les 6h ( Paramétrable dans la config ). Après je compare les deux, et si un message n'est plus dans la deuxième, ça veut dire que le message est supprimé Ça c'est une méthode qui fonctionne quand il n'y a pas trop de messages à traiter, mais je ne pense pas que ça soit très efficace ( Niveau vitesse ) pour des milliers ( Voir millions ? ) de messages ^^ Ben je comprends pas bien comment tu fais puisque l'index c'est juste un entier qui est incrémenté pour chaque nouvel élément du tableau non? C'est pas une clef? Donc comment allUpdatablesMessages[index] peut ne rien retourner (ou un false)? Le seul cas oú ça marche c'est pour les derniers éléments du tableau, si ils ont été supprimés alors effectivement ça renverra un null oú je sais pas quoi puisque le tableau sera plus court. eg allMessages a 5000 éléments, allUpdatablesMessages n'en a plus que 4998 => ça trouvera rien pour allUpdatablesMessages[5000] // Function for check message is removed const checkIfMessageRemoved = function () {
// Return promise return new Promise(function (resolve) {
// Get all messages const allMessages = db.get('messages').value();
// Get all updatables messages const allUpdatablesMessages = dbUpdatable.get('messages').value();
// Loop in all messages for(const index in allMessages) {
// If message is not in updatables messages if(!allUpdatablesMessages[index] && !allMessages[index].removedAlertSent) {
// Set message const message = allMessages[index];
// Log console.log('Alert | A message has been removed : '+message.link);
// Update message alert status db.get('messages').get(index).set('removedAlertSent', true).write();
// If email is enable if(config.email.enable) {
// Send alert email https://github.com/luluwebmaster/bitcointalk-auto-verify-signatures-archive-and-alert/blob/master/app.js
|
|
|
|
yogg
Legendary
Offline
Activity: 2464
Merit: 3158
|
|
November 08, 2019, 08:26:21 AM |
|
Je sais que LoyceV ne sait pas le faire ou ne peut pas le faire car il scrape tout le forum je crois (cf ici, et toi tu surveilles qu'un seul topic. Mais si jamais tu as trouvé une formule magique pour le faire, ça pourrait l’intéresser. Il scrape tout le forum grâce à ce lien là : https://bitcointalk.org/index.php?action=recentIl suffit de parser régulièrement cette page. En revanche, il n'y a pas de page qui recense les derniers "edits" ou posts effacés. Scraper l’entièreté du forum pour recenser de potentielles éditions ou suppressions est un peu overkill. Ouais, ça a plus d'utilité/de légitimité (et c'est plus gérable plus facilement sur un plan technique) de faire ça sur un seul fil de discussion.
|
|
|
|
lulucrypto (OP)
|
|
November 08, 2019, 05:51:23 PM |
|
Tu parle bien archivés sur des sites tel archive.fo ? Si oui, oui c'est sur qu'il ne faut pas commencer à vérifier ça manuellement Pour ces sites, je ne sais pas s'il y a des API, je n'ai pas vraiment fait de recherche à ce sujet Ah pardon, j'ai cru que tu avais utilisé une API pour archiver les signatures dessus. Bah avec mon mon bot "perso" ouais, les signatures vérifiés sont archivés ^^ Ben je comprends pas bien comment tu fais puisque l'index c'est juste un entier qui est incrémenté pour chaque nouvel élément du tableau non? C'est pas une clef? Donc comment allUpdatablesMessages[index] peut ne rien retourner (ou un false)? Le seul cas oú ça marche c'est pour les derniers éléments du tableau, si ils ont été supprimés alors effectivement ça renverra un null oú je sais pas quoi puisque le tableau sera plus court. eg allMessages a 5000 éléments, allUpdatablesMessages n'en a plus que 4998 => ça trouvera rien pour allUpdatablesMessages[5000]
Hum, non ce n'est pas un entier incrémenté, mais bien un cléf ( Qui correspond au message ID ) En revanche, il n'y a pas de page qui recense les derniers "edits" ou posts effacés. Scraper l’entièreté du forum pour recenser de potentielles éditions ou suppressions est un peu overkill.
Oui je pense aussi ^^ D'ailleurs un petit HS : @yogg, je t'ai envoyé un MP il y a quelques temps à propos de Coldkey, mais je pense que tu es passé à coté de celui-ci ( Je t'avais relancé sur ton sujet, mais apparemment le message ne s'est pas envoyé ( J'ai vu ça hier ^^ ) )
|
|
|
|
yogg
Legendary
Offline
Activity: 2464
Merit: 3158
|
|
November 08, 2019, 05:56:24 PM |
|
D'ailleurs un petit HS : @yogg, je t'ai envoyé un MP il y a quelques temps à propos de Coldkey, mais je pense que tu es passé à coté de celui-ci ( Je t'avais relancé sur ton sujet, mais apparemment le message ne s'est pas envoyé ( J'ai vu ça hier ^^ ) ) Yes, ton PM était passé dans les mailles du filet. Désolé. Je me souviens que tu avais posté sur un thread et je t'avais répondu ici : https://bitcointalk.org/index.php?topic=5189472.msg52759853#msg52759853
|
|
|
|
lulucrypto (OP)
|
|
November 08, 2019, 06:13:51 PM |
|
Ha mince pardon, je pensais t'avoir relancé sur ce sujet, autant pour moi ( J'avais pas activé les notif's sur le sujet sur lequel tu m'a répondus ) Bref, je vais te répondre sur l'autre du coup ^^
|
|
|
|
Saint-loup
Legendary
Offline
Activity: 2800
Merit: 2428
|
|
November 08, 2019, 07:28:25 PM Last edit: November 08, 2019, 07:49:46 PM by Saint-loup |
|
Tu parle bien archivés sur des sites tel archive.fo ? Si oui, oui c'est sur qu'il ne faut pas commencer à vérifier ça manuellement Pour ces sites, je ne sais pas s'il y a des API, je n'ai pas vraiment fait de recherche à ce sujet Ah pardon, j'ai cru que tu avais utilisé une API pour archiver les signatures dessus. Bah avec mon mon bot "perso" ouais, les signatures vérifiés sont archivés ^^ oui justement j'avais cru que tu passais par une API pour le faire. Ben je comprends pas bien comment tu fais puisque l'index c'est juste un entier qui est incrémenté pour chaque nouvel élément du tableau non? C'est pas une clef? Donc comment allUpdatablesMessages[index] peut ne rien retourner (ou un false)? Le seul cas oú ça marche c'est pour les derniers éléments du tableau, si ils ont été supprimés alors effectivement ça renverra un null oú je sais pas quoi puisque le tableau sera plus court. eg allMessages a 5000 éléments, allUpdatablesMessages n'en a plus que 4998 => ça trouvera rien pour allUpdatablesMessages[5000]
Hum, non ce n'est pas un entier incrémenté, mais bien un cléf ( Qui correspond au message ID ) Dans // Get all updatables messages const allUpdatablesMessages = dbUpdatable.get('messages').value();
// Loop in all messages for(const index in allMessages) {
// If message is not in updatables messages if(!allUpdatablesMessages[index]allUpdatablesMessages[index] ça va directement trouver le message par son messageid?
|
|
|
|
lulucrypto (OP)
|
|
November 08, 2019, 08:32:38 PM |
|
Dans // Get all updatables messages const allUpdatablesMessages = dbUpdatable.get('messages').value();
// Loop in all messages for(const index in allMessages) {
// If message is not in updatables messages if(!allUpdatablesMessages[index]
allUpdatablesMessages[index] ça va directement trouver le message par son messageid?
Ça ne récupère pas directement le message en texte, ça récupère un object JSON avec quelques infos sur le message ( Lien, texte complet, auteur, etc ... )
|
|
|
|
Saint-loup
Legendary
Offline
Activity: 2800
Merit: 2428
|
|
November 08, 2019, 08:50:24 PM Merited by Halab (3), F2b (1) |
|
Dans // Get all updatables messages const allUpdatablesMessages = dbUpdatable.get('messages').value();
// Loop in all messages for(const index in allMessages) {
// If message is not in updatables messages if(!allUpdatablesMessages[index]
allUpdatablesMessages[index] ça va directement trouver le message par son messageid?
Ça ne récupère pas directement le message en texte, ça récupère un object JSON avec quelques infos sur le message ( Lien, texte complet, auteur, etc ... ) Oui je suis juste étonné que javascript retrouve ca tout seul comme ça sans passer par une fonction. Mais sinon pour les updates pourquoi tu rajoutes "test" à la fin de la string sans indiscretion? // Set db message const dbMessage = dbMessages.get(message.messageId);
// If message has been updated if(message.fullText+'test' !== dbMessage.get(
|
|
|
|
lulucrypto (OP)
|
|
November 08, 2019, 09:57:07 PM |
|
Mais sinon pour les updates pourquoi tu rajoutes "test" à la fin de la string sans indiscretion?
// Set db message const dbMessage = dbMessages.get(message.messageId);
// If message has been updated if(message.fullText+'test' !== dbMessage.get(
Oh shit, here we go again C'est une erreur, un reste que j'ai oublié de virer lors de mes tests Merci de l'avoir signalé, je vais fixer ça Edit : Désolé, je n'ai plus de merits à t'envoyer
|
|
|
|
lulucrypto (OP)
|
|
November 10, 2019, 10:07:04 PM |
|
Hello à tous ! Un petit message pour vous dire que désormais, les deux bot sont fonctionnels et stables. N'hésitez pas à installer le bot public, je n'ai pas encore reçus d'autres url's pour les messages archivés ^^ Merci
|
|
|
|
|
lulucrypto (OP)
|
|
December 06, 2019, 11:59:42 PM |
|
Petite mise à jour du bot qui s'occupe des vérifications. Désormais, le bot peut vérifier maximum une requête toutes les 30 minutes. Permettant, en cas de plusieurs requêtes simultanées, de ne pas donner le monopole au bot. En plus de ça, ça permet d'ajouter une certaine sécurité : Au cas ou il y ai un bug, le bot ne pourra pas poster 10 messages en 10 secondes ( Pas de raison que ça arrive, mais sait-on jamais ). La détection des signatures a été améliorée. Désormais le bot ne détecte plus les signatures "d'exemples" comme celle-ci par exemple. En plus de tout ça, il est désormais possible de voir les adresses liées à un pseudo. Pour ce faire, rendez-vous sur cette url : - https://signatures.bitcointalk.luc-mergault.fr/user/{your-username}.htmlExemple : - https://signatures.bitcointalk.luc-mergault.fr/user/lulucrypto.htmlEt pour finir j'ai corrigé encore deux trois bugs ( Qui faisaient crash le bot ).
|
|
|
|
|