From 543406dff426d9149de2cb39cf0a50a1771f616f Mon Sep 17 00:00:00 2001 From: chrisr3d Date: Tue, 27 Oct 2020 04:03:44 +0100 Subject: [PATCH 1/4] add: New Warninglist for phone numbers that should never be attributed - First examples filling the list of regexes: the phone numbers used for audiovisual works, or the communications companies internal numbers. Those phone numbers are reserved and should never be given to any user - We'll add as well the numbers reserved for the american audiovisual works soon --- generate_all.sh | 1 + lists/phone_numbers/list.json | 19 +++++++++++++++ tools/generate_phone_numbers.py | 41 +++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 lists/phone_numbers/list.json create mode 100644 tools/generate_phone_numbers.py diff --git a/generate_all.sh b/generate_all.sh index 02e7614..3b3bb97 100755 --- a/generate_all.sh +++ b/generate_all.sh @@ -21,6 +21,7 @@ python3 generate_moz-top500.py # Deprecate? #python3 generate-office365-cn.py > lists/microsoft-office365-cn/list.json python3 generate-office365.py +python3 generate_phone_numbers.py python3 generate-publicdns.py python3 generate-tlds.py python3 generate_tranco.py diff --git a/lists/phone_numbers/list.json b/lists/phone_numbers/list.json new file mode 100644 index 0000000..99170b4 --- /dev/null +++ b/lists/phone_numbers/list.json @@ -0,0 +1,19 @@ +{ + "description": "Numbers that should never be attributed.", + "list": [ + "/((?:\\+|00)33?|0?)(19900)([0-9]{4})/g", + "/((?:\\+|00)33?|0?)(26191)([0-9]{4})/g", + "/((?:\\+|00)33?|0?)(35301)([0-9]{4})/g", + "/((?:\\+|00)33?|0?)(46571)([0-9]{4})/g", + "/((?:\\+|00)33?|0?)(53649)([0-9]{4})/g", + "/((?:\\+|00)33?|0?)(63998)([0-9]{4})/g", + "/((?:\\+|00)33?|0?)(999)([0-9]{6})/g" + ], + "matching_attributes": [ + "phone-number", + "whois-registrant-phone" + ], + "name": "List of phone numbers that cannot be used.", + "type": "regex", + "version": 20201027 +} diff --git a/tools/generate_phone_numbers.py b/tools/generate_phone_numbers.py new file mode 100644 index 0000000..8e9f92f --- /dev/null +++ b/tools/generate_phone_numbers.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +from generator import get_version, write_to_file + + +def generate_french_warninglist(): + regex = '/((?:\+|00)33?|0?)(%s)([0-9]{%s})/g' + + # Warning list for numbers dedicated to communications companies internal use: numbers starting with 09 99 + warninglist = [regex % ('999', '6')] + + # Warning list for numbers dedicated to audiovisual works: starting with any of the following list + prefixes = ('19900', '26191', '35301', '46571', '53649', '63998') + warninglist.extend(regex % (prefix, '4') for prefix in prefixes) + + return warninglist + + +def process(warninglist_name): + description = { + 'description': 'Numbers that should never be attributed.', + 'name': 'List of phone numbers that cannot be used.', + 'matching_attributes': [ + 'phone-number', + 'whois-registrant-phone' + ], + 'type': 'regex', + 'version': get_version() + } + + warninglist = generate_french_warninglist() + # The list can be extended by adding other entries: `warninglist.extend(generate_some_warninglist())` + + description['list'] = warninglist + write_to_file(description, warninglist_name) + + +if __name__ == '__main__': + warninglist_name = 'phone_numbers' + process(warninglist_name) From a50c06c9eb03ae97833df8cf084618536cc352be Mon Sep 17 00:00:00 2001 From: chrisr3d Date: Tue, 27 Oct 2020 10:38:45 +0100 Subject: [PATCH 2/4] chg: Turned the regexes for audiovisual works into a single one --- lists/phone_numbers/list.json | 7 +------ tools/generate_phone_numbers.py | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/lists/phone_numbers/list.json b/lists/phone_numbers/list.json index 99170b4..f5d9541 100644 --- a/lists/phone_numbers/list.json +++ b/lists/phone_numbers/list.json @@ -1,12 +1,7 @@ { "description": "Numbers that should never be attributed.", "list": [ - "/((?:\\+|00)33?|0?)(19900)([0-9]{4})/g", - "/((?:\\+|00)33?|0?)(26191)([0-9]{4})/g", - "/((?:\\+|00)33?|0?)(35301)([0-9]{4})/g", - "/((?:\\+|00)33?|0?)(46571)([0-9]{4})/g", - "/((?:\\+|00)33?|0?)(53649)([0-9]{4})/g", - "/((?:\\+|00)33?|0?)(63998)([0-9]{4})/g", + "/((?:\\+|00)33?|0?)(19900|26191|35301|46571|53649|63998)([0-9]{4})/g", "/((?:\\+|00)33?|0?)(999)([0-9]{6})/g" ], "matching_attributes": [ diff --git a/tools/generate_phone_numbers.py b/tools/generate_phone_numbers.py index 8e9f92f..0936e3c 100644 --- a/tools/generate_phone_numbers.py +++ b/tools/generate_phone_numbers.py @@ -12,7 +12,7 @@ def generate_french_warninglist(): # Warning list for numbers dedicated to audiovisual works: starting with any of the following list prefixes = ('19900', '26191', '35301', '46571', '53649', '63998') - warninglist.extend(regex % (prefix, '4') for prefix in prefixes) + warninglist.append(regex % ('|'.join(prefixes), '4')) return warninglist From c9344af4c86cef1e4a546074e3009a96f8498e2d Mon Sep 17 00:00:00 2001 From: chrisr3d Date: Tue, 27 Oct 2020 10:43:19 +0100 Subject: [PATCH 3/4] add: Added phone numbers warninglist to the list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69f4029..3635472 100755 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ are available in one of the list. The list can be globally enabled or disabled i - [lists/mozilla-IntermediateCA](lists/mozilla-IntermediateCA) - Mozilla keystore Intermediate CA - [lists/multicast](lists/multicast) - known IPv4 multicast CIDR blocks - [lists/ovh-cluster](lists/ovh-cluster) - List of known OVH Cluster IP +- [lists/phone_numbers](lists/phone_numbers) - Unattributed phone number, reserved for different purposes - [lists/public-dns-v4](lists/public-dns-v4) - IPv4 addresses and reverse of public DNS resolver - [lists/public-dns-v6](lists/public-dns-v6) - IPv6 addresses and reverse of public DNS resolver - [lists/rfc1918](lists/rfc1918) - RFC 1918 network subnets From 8a629209f23a29924fa0a1804495b56a9a243507 Mon Sep 17 00:00:00 2001 From: chrisr3d Date: Tue, 27 Oct 2020 11:19:05 +0100 Subject: [PATCH 4/4] chg: Changed name to be displayed as warning and description --- lists/phone_numbers/list.json | 4 ++-- tools/generate_phone_numbers.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lists/phone_numbers/list.json b/lists/phone_numbers/list.json index f5d9541..b9cdd76 100644 --- a/lists/phone_numbers/list.json +++ b/lists/phone_numbers/list.json @@ -1,5 +1,5 @@ { - "description": "Numbers that should never be attributed.", + "description": "Numbers that cannot be attributed because they reserved for different purposes.", "list": [ "/((?:\\+|00)33?|0?)(19900|26191|35301|46571|53649|63998)([0-9]{4})/g", "/((?:\\+|00)33?|0?)(999)([0-9]{6})/g" @@ -8,7 +8,7 @@ "phone-number", "whois-registrant-phone" ], - "name": "List of phone numbers that cannot be used.", + "name": "Unattributed phone number.", "type": "regex", "version": 20201027 } diff --git a/tools/generate_phone_numbers.py b/tools/generate_phone_numbers.py index 0936e3c..0dfece5 100644 --- a/tools/generate_phone_numbers.py +++ b/tools/generate_phone_numbers.py @@ -19,8 +19,8 @@ def generate_french_warninglist(): def process(warninglist_name): description = { - 'description': 'Numbers that should never be attributed.', - 'name': 'List of phone numbers that cannot be used.', + 'description': 'Numbers that cannot be attributed because they reserved for different purposes.', + 'name': 'Unattributed phone number.', 'matching_attributes': [ 'phone-number', 'whois-registrant-phone'