Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
 def runas(cmd):
     cmd = tuple(cmd.split(None, 1))
     if len(cmd) == 1:
         cmd += None,
     win32runas.runas(cmd[1], cmd[0])
Ejemplo n.º 3
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.'
Ejemplo n.º 4
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.'
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
    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()
Ejemplo n.º 7
0
 def runas(cmd):
     cmd = tuple(cmd.split(None, 1))
     if len(cmd) == 1:
         cmd += None,
     win32runas.runas(cmd[1], cmd[0])
Ejemplo n.º 8
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.'