new: [second-level-tlds] Add generator and update to latest version
							parent
							
								
									66a92ab133
								
							
						
					
					
						commit
						104bf6883f
					
				| 
						 | 
				
			
			@ -29,6 +29,7 @@ python3 generate_tranco.py
 | 
			
		|||
python3 generate-university-domain-list.py
 | 
			
		||||
python3 generate-vpn.py
 | 
			
		||||
python3 generate-wikimedia.py
 | 
			
		||||
python3 genetate-second-level-tlds.py
 | 
			
		||||
popd
 | 
			
		||||
 | 
			
		||||
./jq_all_the_things.sh
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
from generator import download, get_version, write_to_file
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    source_url = 'https://publicsuffix.org/list/public_suffix_list.dat'
 | 
			
		||||
    destination_folder = 'second-level-tlds'
 | 
			
		||||
 | 
			
		||||
    data = download(source_url).text
 | 
			
		||||
    lines = data.split("\n")
 | 
			
		||||
    # Filter out comments
 | 
			
		||||
    domains = [line.strip() for line in lines if len(line) != 0 and not line.startswith('//')]
 | 
			
		||||
    # Convert IDN domain to xn-- format
 | 
			
		||||
    domains = [domain.encode('idna').decode('utf-8') for domain in domains]
 | 
			
		||||
    # Filter out invalid domains
 | 
			
		||||
    domains = [domain.lstrip('*.') for domain in domains if not domain.startswith('!')]
 | 
			
		||||
 | 
			
		||||
    warninglist = {
 | 
			
		||||
        'name': 'Second level TLDs as known by Mozilla Foundation',
 | 
			
		||||
        'description': 'Event contains one or more second level TLDs as attribute with an IDS flag set.',
 | 
			
		||||
        'matching_attributes': ['hostname', 'domain', 'domain|ip'],
 | 
			
		||||
        'type': 'string',
 | 
			
		||||
        'version': get_version(),
 | 
			
		||||
        'list': domains,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    write_to_file(warninglist, destination_folder)
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ def write_to_file(warninglist, dst):
 | 
			
		|||
            get_abspath_list_file(dst)))
 | 
			
		||||
    except Exception as exc:
 | 
			
		||||
        logging.error(
 | 
			
		||||
            '{} General exception occured: {}.'.format(caller, str(exc)))
 | 
			
		||||
            '{} General exception occurred: {}.'.format(caller, str(exc)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue