Advertisement
Guest User

make_blocked_routes.py

a guest
May 8th, 2018
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.91 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import ipaddress
  3.  
  4. DUMP_PATH = 'dump.csv'
  5. BLOCKED_ROUTES_PATH = 'C:\\Program Files\\OpenVPN\\config\\blocked_routes.ovpn.conf'
  6.  
  7. ips = set()
  8.  
  9. # dump.csv format:
  10. # ip[ | ip]; domain; url; org; id; date
  11. with open(DUMP_PATH) as f:
  12.     f.readline()
  13.     while True:
  14.         line = f.readline()
  15.         if line == '':
  16.             break
  17.         l = line.split(';')[0]
  18.         l2 = l.split(' | ')
  19.         for i in l2:
  20.             if len(i) > 0:
  21.                 ips.add(i)
  22.  
  23. print('Total entries:', len(ips))
  24.  
  25. nets = list()
  26. minPrefixlen = 29
  27. for i in ips:
  28.     net = ipaddress.IPv4Network(i)
  29.     if net.prefixlen <= minPrefixlen:
  30.         nets.append(net)
  31.  
  32. nets = sorted(nets)
  33.  
  34. print('Nets with prefix <=', minPrefixlen, ':', len(nets))
  35.  
  36. with open(BLOCKED_ROUTES_PATH, 'w') as f:
  37.     for net in nets:
  38.         f.write('route {} {} vpn_gateway\n'.format(net.network_address, net.netmask))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement