Warn about follow requests from disinformation instances

main
bashrc 2026-05-29 17:09:12 +01:00
parent 72d1ec247d
commit a273defb49
29 changed files with 75 additions and 28 deletions

View File

@ -770,5 +770,6 @@
"Group": "مجموعة",
"minutes": "دقائق",
"Availability": "التوافر",
"Loops Instances": "حلقات التكرار"
"Loops Instances": "حلقات التكرار",
"Disinformation Instances": "أمثلة على التضليل الإعلامي"
}

View File

@ -770,5 +770,6 @@
"Group": "গ্রুপ",
"minutes": "মিনিট",
"Availability": "প্রাপ্যতা",
"Loops Instances": "লুপ ইনস্ট্যান্স"
"Loops Instances": "লুপ ইনস্ট্যান্স",
"Disinformation Instances": "ভুল তথ্যের উদাহরণ"
}

View File

@ -770,5 +770,6 @@
"Group": "Grup",
"minutes": "minuts",
"Availability": "Disponibilitat",
"Loops Instances": "Instàncies de bucles"
"Loops Instances": "Instàncies de bucles",
"Disinformation Instances": "Instàncies de desinformació"
}

View File

@ -770,5 +770,6 @@
"Group": "Grŵp",
"minutes": "munudau",
"Availability": "Argaeledd",
"Loops Instances": "Achosion Dolenni"
"Loops Instances": "Achosion Dolenni",
"Disinformation Instances": "Achosion o Ddadwybodaeth"
}

View File

@ -770,5 +770,6 @@
"Group": "Gruppe",
"minutes": "minuten",
"Availability": "Verfügbarkeit",
"Loops Instances": "Schleifeninstanzen"
"Loops Instances": "Schleifeninstanzen",
"Disinformation Instances": "Fälle von Desinformation"
}

View File

@ -770,5 +770,6 @@
"Group": "Ομάδα",
"minutes": "πρακτικά",
"Availability": "Διαθεσιμότητα",
"Loops Instances": "Παρουσίες βρόχων"
"Loops Instances": "Παρουσίες βρόχων",
"Disinformation Instances": "Περιπτώσεις παραπληροφόρησης"
}

View File

@ -770,5 +770,6 @@
"Group": "Group",
"minutes": "minutes",
"Availability": "Availability",
"Loops Instances": "Loops Instances"
"Loops Instances": "Loops Instances",
"Disinformation Instances": "Disinformation Instances"
}

View File

@ -770,5 +770,6 @@
"Group": "Grupo",
"minutes": "minutos",
"Availability": "Disponibilidad",
"Loops Instances": "Instancias de bucles"
"Loops Instances": "Instancias de bucles",
"Disinformation Instances": "Casos de desinformación"
}

View File

@ -770,5 +770,6 @@
"Group": "گروه",
"minutes": "دقیقه",
"Availability": "در دسترس بودن",
"Loops Instances": "نمونه‌های حلقه‌ها"
"Loops Instances": "نمونه‌های حلقه‌ها",
"Disinformation Instances": "موارد انتشار اطلاعات نادرست"
}

View File

@ -770,5 +770,6 @@
"Group": "Ryhmä",
"minutes": "minuuttia",
"Availability": "Saatavuus",
"Loops Instances": "Silmukat-instanssit"
"Loops Instances": "Silmukat-instanssit",
"Disinformation Instances": "Disinformaatiotapaukset"
}

View File

@ -770,5 +770,6 @@
"Group": "Groupe",
"minutes": "minutes",
"Availability": "Disponibilité",
"Loops Instances": "Instances de boucles"
"Loops Instances": "Instances de boucles",
"Disinformation Instances": "Cas de désinformation"
}

View File

@ -770,5 +770,6 @@
"Group": "Grúpa",
"minutes": "nóiméad",
"Availability": "Infhaighteacht",
"Loops Instances": "Cásanna Lúb"
"Loops Instances": "Cásanna Lúb",
"Disinformation Instances": "Cásanna Mífhaisnéise"
}

View File

@ -770,5 +770,6 @@
"Group": "קְבוּצָה",
"minutes": "פּרוֹטוֹקוֹל",
"Availability": "זְמִינוּת",
"Loops Instances": "מופעי לולאות"
"Loops Instances": "מופעי לולאות",
"Disinformation Instances": "מקרים של דיסאינפורמציה"
}

View File

@ -770,5 +770,6 @@
"Group": "समूह",
"minutes": "मिनट",
"Availability": "उपलब्धता",
"Loops Instances": "लूप इंस्टेंस"
"Loops Instances": "लूप इंस्टेंस",
"Disinformation Instances": "गलत सूचना के उदाहरण"
}

View File

@ -770,5 +770,6 @@
"Group": "Gruppo",
"minutes": "minuti",
"Availability": "Disponibilità",
"Loops Instances": "Istanze di cicli"
"Loops Instances": "Istanze di cicli",
"Disinformation Instances": "Esempi di disinformazione"
}

View File

@ -770,5 +770,6 @@
"Group": "グループ",
"minutes": "分",
"Availability": "可用性",
"Loops Instances": "ループインスタンス"
"Loops Instances": "ループインスタンス",
"Disinformation Instances": "偽情報事例"
}

View File

@ -770,5 +770,6 @@
"Group": "그룹",
"minutes": "분",
"Availability": "유효성",
"Loops Instances": "루프 인스턴스"
"Loops Instances": "루프 인스턴스",
"Disinformation Instances": "허위 정보 사례"
}

View File

@ -770,5 +770,6 @@
"Group": "Kom",
"minutes": "deqîqe",
"Availability": "Berdestbûnî",
"Loops Instances": "Nimûneyên Loopan"
"Loops Instances": "Nimûneyên Loopan",
"Disinformation Instances": "Nimûneyên Dezînformasyonê"
}

View File

@ -770,5 +770,6 @@
"Group": "Groep",
"minutes": "notulen",
"Availability": "Beschikbaarheid",
"Loops Instances": "Lusinstanties"
"Loops Instances": "Lusinstanties",
"Disinformation Instances": "Voorbeelden van desinformatie"
}

View File

@ -766,5 +766,6 @@
"Group": "Group",
"minutes": "minutes",
"Availability": "Availability",
"Loops Instances": "Loops Instances"
"Loops Instances": "Loops Instances",
"Disinformation Instances": "Disinformation Instances"
}

View File

@ -770,5 +770,6 @@
"Group": "Grupa",
"minutes": "protokół",
"Availability": "Dostępność",
"Loops Instances": "Instancje pętli"
"Loops Instances": "Instancje pętli",
"Disinformation Instances": "Przypadki dezinformacji"
}

View File

@ -770,5 +770,6 @@
"Group": "Grupo",
"minutes": "minutos",
"Availability": "Disponibilidade",
"Loops Instances": "Instâncias de Loops"
"Loops Instances": "Instâncias de Loops",
"Disinformation Instances": "Casos de desinformação"
}

View File

@ -770,5 +770,6 @@
"Group": "Группа",
"minutes": "минут",
"Availability": "Доступность",
"Loops Instances": "Экземпляры циклов"
"Loops Instances": "Экземпляры циклов",
"Disinformation Instances": "Случаи дезинформации"
}

View File

@ -770,5 +770,6 @@
"Group": "Kundi",
"minutes": "dakika",
"Availability": "Upatikanaji",
"Loops Instances": "Matukio ya Mizunguko"
"Loops Instances": "Matukio ya Mizunguko",
"Disinformation Instances": "Matukio ya Taarifa Potofu"
}

View File

@ -770,5 +770,6 @@
"Group": "Grup",
"minutes": "dakika",
"Availability": "Müsaitlik",
"Loops Instances": "Döngü Örnekleri"
"Loops Instances": "Döngü Örnekleri",
"Disinformation Instances": "Dezenformasyon Vakaları"
}

View File

@ -770,5 +770,6 @@
"Group": "Група",
"minutes": "хвилин",
"Availability": "Наявність",
"Loops Instances": "Екземпляри циклів"
"Loops Instances": "Екземпляри циклів",
"Disinformation Instances": "Випадки дезінформації"
}

View File

@ -770,5 +770,6 @@
"Group": "גרופּע",
"minutes": "מינוטן",
"Availability": "פאַראַנען",
"Loops Instances": "לופּס אינסטאַנסן"
"Loops Instances": "לופּס אינסטאַנסן",
"Disinformation Instances": "דיסאינפארמאציע אינסטאַנצן"
}

View File

@ -770,5 +770,6 @@
"Group": "团体",
"minutes": "分钟",
"Availability": "可用性",
"Loops Instances": "循环实例"
"Loops Instances": "循环实例",
"Disinformation Instances": "虚假信息实例"
}

View File

@ -1540,6 +1540,19 @@ def html_profile(signing_priv_key_pem: str,
'EX: html_profile unable to read 2 ' +
follow_requests_filename + ' [ex]')
if follow_requests_list is not None:
# custom disinformation domains file
disinfo_filename = \
data_dir(base_dir) + '/disinfo.json'
if not is_a_file(disinfo_filename):
# default disinformation domains file
disinfo_filename = base_dir + '/cwlists/iftas.json'
# load disinformation domains file
disinfo_domains = load_json(disinfo_filename)
# string which gets appended if follower domain is in
# the disinformation domains list
disinfo_str = \
' (' + translate['Disinformation Instances'] + ')'
# for each follow request pending
for follower_handle in follow_requests_list:
if not follower_handle:
continue
@ -1560,6 +1573,12 @@ def html_profile(signing_priv_key_pem: str,
if follower_domain not in curr_follower_domains:
new_follower_domain = ''
# check disinformation domains list
if disinfo_domains:
if disinfo_domains.get('domains'):
if follower_domain in disinfo_domains:
new_follower_domain += disinfo_str
# Show the handle of the potential follower
# being approved, linking to search on that handle
base_path: str = '/users/' + nickname