Example #1
0
 def install_tor(self):
     if sys_kernel() == 'Windows':
         self.download_file()
         self.windows()
     elif sys_kernel() == 'Linux':
         self.download_file()
         self.unpack_file()
         self.linux()
Example #2
0
    def set_cache_dir(self):
        '''
		O arquivo será baixado no diretório de cache 
		'''
        if sys_kernel() == 'Linux':
            dirCache = (f'{DirHomeUser}/.cache/download')
        elif sys_kernel() == 'Windows':
            dirCache = ('{}\\download'.format(tmpDir))

        if os.path.isdir(dirCache) == False:
            os.makedirs(dirCache)

        return dirCache
Example #3
0
 def remove_tor(self):
     yellow('Removendo torbrowser')
     if sys_kernel() == 'Windows':
         self.remove_torwindows()
     elif sys_kernel() == 'Linux':
         self.remove_torlinux()
Example #4
0
class ConfigTor:
    '''
	Setar o URL de acordo com o sistema e setar o caminho completo
	de onde o arquivo deve ser baixado diretório+nome_do_arquivo.exe/.tar.xz
	'''
    if sys_kernel() == 'Linux':
        url = SetDataTor().set_linux_url()
        file = SetDataTor().set_filename_linux()  # Nome do arquivo.
        dirCache = SetDataTor().set_cache_dir()  # Pasta de download
        file = (f'{dirCache}/{file}')  # Path completo no disco.
    elif sys_kernel() == 'Windows':
        url = SetDataTor().set_windows_url()
        file = SetDataTor().set_filename_windows()
        dirCache = SetDataTor().set_cache_dir()
        file = (f'{dirCache}\\{file}')

    def __init__(self):
        pass

    def bar_custom(self, current, total, width=80):
        # https://pt.stackoverflow.com/questions/207887/como-imprimir-texto-na-mesma-linha-em-python
        # print('\033[K[>] Progresso: %d%% [%d / %d]MB ' % (progress, current, total), end='\r')
        #
        current = current / 1048576  # Converter bytes para MB
        total = total / 1048576  # Converter bytes para MB
        progress = (current / total) * 100  # Percentual

        if progress == '100':
            print('[>] Progresso: %d%% [%d / %d]MB ' %
                  (progress, current, total))

        print('\033[K[>] Progresso: %d%% [%d / %d]MB ' %
              (progress, current, total),
              end='\r')

    def download_file(self):
        '''
		wget.download(url, out=None, bar=<function bar_adaptive at 0x7f7fdfed9d30>)
		wget.download(url, out=None, bar=bar_adaptive(current, total, width=80))
		'''
        import wget

        if os.path.isfile(self.file):
            yellow(f'Arquivo encontrado: {self.file}')
            return

        yellow(f'Baixando: {self.url}')
        yellow(f'Destino: {self.file}')
        try:
            wget.download(self.url, self.file, bar=self.bar_custom)
            print('OK ')
        except:
            print('\n')
            red('Falha no download')
            if os.path.isfile(self.file):
                os.remove(self.file)

    def unpack_file(self):
        # https://docs.python.org/3.3/library/tarfile.html
        yellow(f'Descomprimindo: {self.file}')
        yellow(f'Destino: {DirUnpackTor}')

        os.chdir(DirUnpackTor)
        tar = tarfile.open(self.file)
        tar.extractall()
        tar.close()

    def linux(self):
        '''
		Instalar o tor no linux.
		'''
        dir_temp_tor = (f'{DirUnpackTor}/tor-browser_en-US')
        list_files = os.listdir(dir_temp_tor)

        if os.path.isdir(DESTINATION_TOR) == False:
            yellow(f'Criando: {DESTINATION_TOR}')
            os.makedirs(DESTINATION_TOR)

        os.chdir(dir_temp_tor)

        # Mover arquivos descompactados para o diretório de instalação.
        for X in range(0, len(list_files)):
            OldFile = list_files[X]
            NewFile = (f'{DESTINATION_TOR}/{list_files[X]}')
            if (os.path.isdir(NewFile)) or (os.path.isfile(NewFile)):
                yellow(f'Encontrado: {NewFile}')
            else:
                yellow(f'Movendo: {OldFile} => {NewFile}')
                shutil.move(OldFile, NewFile)

        shutil.rmtree(DirUnpackTor)

        yellow(f'Criando atalho para execução em: {EXECUTABLE_TOR}')
        with open(EXECUTABLE_TOR, 'w') as f:
            f.write('#!/bin/sh\n')
            f.write(f'cd {DESTINATION_TOR}\n')
            f.write('{}/{}\n'.format(DESTINATION_TOR,
                                     'start-tor-browser.desktop "$@"'))

        yellow(f'Executando: chdir {DESTINATION_TOR}')
        os.chdir(DESTINATION_TOR)
        os.chmod('start-tor-browser.desktop', 0o755)
        os.chmod(EXECUTABLE_TOR, 0o755)
        yellow('./{} --register-app'.format('start-tor-browser.desktop'))
        os.system('./{} --register-app'.format('start-tor-browser.desktop'))
        yellow('Use: torbrowser --help - para mais informações')
        os.system('torbrowser')

    def remove_torlinux(self):
        '''
		Desinstalar tor no Linux
		'''
        if os.path.isfile(DESKTOP_FILE) == True:
            yellow(f'Removendo: {DESKTOP_FILE}')
            os.remove(DESKTOP_FILE)

        if os.path.isfile(EXECUTABLE_TOR):
            yellow(f'Removendo: {EXECUTABLE_TOR}')
            os.remove(EXECUTABLE_TOR)

    def windows(self):
        '''
		Executa o instalador .exe do windows
		'''
        os.chdir(f"{self.dirCache}")
        os.system(self.file)  # Executar o instalador

    def remove_torwindows(self):
        pass

    def install_tor(self):
        if sys_kernel() == 'Windows':
            self.download_file()
            self.windows()
        elif sys_kernel() == 'Linux':
            self.download_file()
            self.unpack_file()
            self.linux()

    def remove_tor(self):
        yellow('Removendo torbrowser')
        if sys_kernel() == 'Windows':
            self.remove_torwindows()
        elif sys_kernel() == 'Linux':
            self.remove_torlinux()
Example #5
0
__version__ = '2020-06-06'

import sys
import os
import re
import tempfile
import tarfile
import shutil
import argparse
import urllib.request
from subprocess import getstatusoutput
from platform import system as sys_kernel
from pathlib import Path

if sys_kernel() == 'Linux':
    CRed = '\033[0;31m'
    CGreen = '\033[0;32m'
    CYellow = '\033[0;33m'
    CWhite = '\033[0;37m'
    CReset = '\033[m'
else:
    CRed = ''
    CGreen = ''
    CYellow = ''
    CWhite = ''
    CReset = ''

# Linux ou Windows?
if (sys_kernel() != 'Linux') and (sys_kernel() != 'Windows'):
    print(f'{CRed}Execute este programa em sistemas Linux ou Windows{CReset}')
Example #6
0
CBRed = '\033[5;31m'
CBGreen = '\033[5;32m'
CBYellow = '\033[5;33m'
CBBlue = '\033[5;34m'
CBWhite = '\033[5;37m'

# Reset
CReset = '\033[0m'

# root
if os.geteuid() == int('0'):
    red('Usuário não pode ser o root saindo')
    sys.exit('1')

# Linux
if (sys_kernel() != 'Linux') and (sys_kernel != 'FreeBSD'):
    red('Execute este program em sistemas Linux ou FreeBSD')
    exit()

parser = argparse.ArgumentParser(
    description='Instala o wine e programas relacionados em sistemas Linux.')

parser.add_argument('-v',
                    '--version',
                    action='version',
                    version=(f"%(prog)s {__version__}"))

parser.add_argument(
    '-l',
    '--list',
    action='store_true',
Example #7
0
File: tor.py Project: Brunopvh/tor
 def __init__(self, os_kernel=sys_kernel()):
     self.os_kernel = os_kernel