def main(): if os.name != 'nt': return sysver = platform.version() if sysver < '6': # Teredo item was added to Group Policy starting with Windows Vista return windir = os.environ.get('windir') if not windir: return try: zh_locale = locale.getdefaultlocale()[0] == 'zh_CN' except: zh_locale = None if zh_locale: notice_title = u'\u63d0\u9192' notice_text = u'\u53d1\u73b0\u7ec4\u7b56\u7565 Teredo \u8bbe\u7f6e\uff0c\u662f\u5426\u91cd\u7f6e\uff1f' else: notice_title = 'Notice' notice_text = 'Found Teredo settings in Group Policy, do you want to reset it?' sys64 = os.path.exists(windir + '\\SysWOW64') pe32 = platform.architecture()[0] == '32bit' sysalias = 'Sysnative' if sys64 and pe32 else 'System32' sysnative = '%s\\%s' % (windir, sysalias) gp_regpol_file = sysnative + '\\GroupPolicy\\Machine\\Registry.pol' if os.path.exists(gp_regpol_file): if not win32runas.is_admin(): win32runas.runas(os.path.abspath(__file__)) return reset_teredo()
def runas(cmd): cmd = tuple(cmd.split(None, 1)) if len(cmd) == 1: cmd += None, win32runas.runas(cmd[1], cmd[0])
remote_port = args[args.index('-P') + 1] args.remove('-P') args.remove(remote_port) try: remote_port = int(remote_port) except: remote_port = None print(warn_2) except: remote_port = None done_disabled = False if os.name == 'nt': if raw_input(confirm_stop).lower() == 'y': if runas('netsh interface teredo set state disable'): done_disabled = True win32runas.runas('win_reset_gp.py') print(os.system('netsh interface teredo show state')) recommend, nat_type = main(*args, local_port=local_port, remote_port=remote_port) print(result_info % recommend) if os.name == 'nt': ip = [a for a in os.popen('route print').readlines() if ' 0.0.0.0 ' in a][0].split()[-2] if nat_type == 'cone': client = 'client' else: import platform client_ext = 'natawareclient' if platform.version()[0] > '6' else 'enterpriseclient' client = client_ext if ip.startswith(local_ip_startswith) else 'client' if recommend: if os.name == 'nt' and \ raw_input(confirm_set).lower() == 'y': cmd = 'netsh interface teredo set state type=%s servername=%s.'
remote_port = args[args.index('-P') + 1] args.remove('-P') args.remove(remote_port) try: remote_port = int(remote_port) except: remote_port = None print(warn_2) except: remote_port = None done_disabled = False if os.name == 'nt': if raw_input(confirm_stop).lower() == 'y': if runas('netsh interface teredo set state disable'): done_disabled = True win32runas.runas("win_reset_gp.py") print(os.system('netsh interface teredo show state')) recommend, nat_type = main(*args, local_port=local_port, remote_port=remote_port) print(result_info % recommend) if os.name == 'nt': ip = [a for a in os.popen('route print').readlines() if ' 0.0.0.0 ' in a][0].split()[-2] if nat_type == 'cone': client = 'client' else: import platform client_ext = 'natawareclient' if platform.version()[0] > '6' else 'enterpriseclient' client = client_ext if ip.startswith(local_ip_startswith) else 'client' if recommend: if os.name == 'nt' and \ raw_input(confirm_set).lower() == 'y': cmd = 'netsh interface teredo set state type=%s servername=%s.'
if len(gp_regpol_new) != len(gp_regpol_old) and \ win32_notify(u'发现组策略 Teredo 设置,是否重置?', u'提醒'): with open(gp_regpol_file, 'wb') as f: f.write(gp_split.join(gp_regpol_new)) os.system(sysnative + '\\gpupdate /target:computer /force') if '__main__' == __name__: if os.name != 'nt': sys.exit(0) sysver = platform.version() if sysver < '6': # Teredo item was added to Group Policy starting with Windows Vista sys.exit(0) windir = os.environ.get('windir') if not windir: sys.exit(-1) sys64 = os.path.exists(windir + '\\SysWOW64') pe32 = platform.architecture()[0] == '32bit' sysalias = 'Sysnative' if sys64 and pe32 else 'System32' sysnative = '%s\\%s' % (windir, sysalias) gp_regpol_file = sysnative + '\\GroupPolicy\\Machine\\Registry.pol' if os.path.exists(gp_regpol_file): if not win32runas.is_admin(): win32runas.runas() sys.exit(0) reset_teredo()
if len(gp_regpol_new) != len(gp_regpol_old) and \ win32_notify(u'发现组策略 Teredo 设置,是否重置?', u'提醒'): with open(gp_regpol_file, 'wb') as f: f.write(gp_split.join(gp_regpol_new)) os.system(sysnative + '\\gpupdate /target:computer /force') if '__main__' == __name__: if os.name != 'nt': sys.exit(0) sysver = platform.version() if sysver < '6': # Teredo item was added to Group Policy starting with Windows Vista sys.exit(0) windir = os.environ.get('windir') if not windir: sys.exit(-1) sys64 = os.path.exists(windir + '\\SysWOW64') pe32 = platform.architecture()[0] == '32bit' sysalias = 'Sysnative' if sys64 and pe32 else 'System32' sysnative = '%s\\%s' % (windir, sysalias) gp_regpol_file = sysnative + '\\GroupPolicy\\Machine\\Registry.pol' if os.path.exists(gp_regpol_file): if not win32runas.is_admin(): win32runas.runas() sys.exit(0) reset_teredo()
def runas(cmd): cmd = tuple(cmd.split(None, 1)) if len(cmd) == 1: cmd += None, win32runas.runas(cmd[1], cmd[0])
remote_port = args[args.index('-P') + 1] args.remove('-P') args.remove(remote_port) try: remote_port = int(remote_port) except: remote_port = None print(warn_2) except: remote_port = None done_disabled = False if os.name == 'nt': if raw_input(confirm_stop).lower() == 'y': if runas('netsh interface teredo set state disable'): done_disabled = True win32runas.runas("win_reset_gp.py") print(os.system('netsh interface teredo show state')) recommend, nat_type = main(*args, local_port=local_port, remote_port=remote_port) print(result_info % recommend) if os.name == 'nt': ip = [a for a in os.popen('route print').readlines() if ' 0.0.0.0 ' in a][0].split()[-2] if nat_type == 'cone': client = 'client' else: import platform client_ext = 'natawareclient' if platform.version()[0] > '6' else 'enterpriseclient' client = client_ext if ip.startswith(local_ip_startswith) else 'client' if recommend: if os.name == 'nt' and \ raw_input(confirm_set).lower() == 'y': cmd = 'netsh interface teredo set state type=%s servername=%s.'