db.ffdn.org
Il s'agit d'une application maison en Flask, dont le code est ici : https://code.ffdn.org/FFDN/ffdn-db
Marquer un FAI comme membre de la FFDN
Ça se passe sur hermes, dans le dossier /home/ffdn-db/ffdn-db
. Il faut éditer directement la base de données SQLite :
hermes:/home/ffdn-db/ffdn-db# sqlite3 ffdn-db.sqlite sqlite> update isp set is_ffdn_member = 1 where id == '35'; sqlite> select is_ffdn_member from isp where id == '35'; 1
Mise à jour d'un FAI
sqlite3 /home/ffdn-db/ffdn-db/ffdn-db.sqlite
select json from isp where id=42; update isp set json='{"website": "https://thefnf.org", "subscriberCount": 1000, "name": "Kansas City Freedom Network", "chatrooms": ["irc://irc.thefnf.org/#fnm"], "progressStatus": 7, "coordinates": {"latitude": 39.13, "longitude": -94.55}, "mainMailingList": "kcfn@lists.thefnf.org", "coveredAreas": [{"technologies": ["wifi"], "name": "Kansas City, MO"}], "logoURL": "http://www.kcfreedom.net/cms/wp-content/uploads/2013/08/polImage24.jpg", "shortname": "KCFN", "email": "imw@thefnf.org", "description": "qmp/bmx based city-wide wireless network owned by a diverse array of local nonprofits and individuals"}' where id=42;
Relancer les updates d'un FAI
Par défaut, au bout de 3 tentatives en échec, le process cron de ffdn-db arrête de récupérer les infos via isp.json sur le endpoint correspondant.
Par exemple dans le fichier de log cron.log
2021-10-01 18:40:02.140743: Attempting to update <ISP u'Illyse'> last successful update=2021-09-30 16:00:11.489142+02:00 last update attempt=2021-10-01 06:20:02.793551+02:00 next update was scheduled 0:19:58.078504 ago strike=2 2021-10-01 18:40:02.657992: Error while updating: three strikes, you're out
Pour réinitialiser ce compteur, il faut malheureusement aller modifier la base de donnée (penser à faire un backup, ou en cas de soucis récupérer le backup journalier sur sayanet (voir Sauvegardes)).
On se connecte donc à la DB sqlite
sudo su - ffdn-db -s /bin/bash cd ffdn-db sqlite3 ffdn-db.sqlite
Puis on liste les FAI en échec
sqlite> .headers on sqlite> select id,name,next_update,update_error_strike from isp where update_error_strike >=1; id|name|next_update|update_error_strike 1|Champagne-Ardenne Fournisseur associatif d'Accès à Internet|2018-02-01 19:20:20.880702|3 2|Association Ilico|2021-10-02 03:20:04.669435|3 5|Franciliens.net|2020-10-31 10:00:02.575877|3 6|SamesWireless Fournisseur Associatif d'Accès à Internet|2018-07-14 00:40:04.424365|3 8|Lorraine Data Network|2017-11-15 20:00:22.212642|3 9|Alsace Réseau Neutre|2021-01-08 00:00:03.156664|3 12|Quantic Télécom|2017-11-15 07:40:08.053315|3 15|tetaneutral.net|2019-01-12 22:20:02.988404|3 17|Teleragno|2017-11-15 07:40:08.416161|3 24|PCLight|2017-11-15 07:40:05.397203|3 26|guifi.net - Open, Free and Neutral Community Network|2017-10-19 10:40:09.020515|3 30|Rézine|2021-10-02 07:20:04.577596|3 35|Touraine Data Network|2021-07-07 09:20:10.823608|3 38|Troyes Telecom|2017-10-19 10:40:03.523846|3 39|Rhizome|2018-02-27 16:40:05.865721|3 50|FAImaison|2021-10-02 05:00:03.160792|3 56|Arbeitsgemeinschaft Dresdner Studentennetz|2019-04-04 22:20:08.976173|3 57|Netopi|2021-02-03 05:00:03.037785|3 58|Mycélium|2021-10-02 07:20:04.186907|3 59|Arcane|2018-05-01 19:00:23.610578|3 62|WH-Netz e.V.|2018-07-30 12:20:20.618812|3 63|SCANI|2018-05-01 22:20:21.278700|3 65|Tuyaux Internet LIbre du MAine|2019-03-02 16:00:04.234116|3 73|Intarnet|2021-10-02 21:40:02.529730|1 74|Stolon|2021-10-02 07:20:03.825570|3 78|FAIbreizh|2021-03-17 01:20:02.535781|3
Et enfin pour réintialiser tous les compteurs, on update
sqlite> update isp set update_error_strike=0 where update_error_strike==3;