diff --git a/gui/__main__.py b/gui/__main__.py index 487fb75..9b4be4d 100644 --- a/gui/__main__.py +++ b/gui/__main__.py @@ -1,6 +1,6 @@ from PyQt6.QtWidgets import QComboBox,QButtonGroup, QLineEdit,QMainWindow, QLabel, QWidget, QVBoxLayout, QStackedWidget, QApplication, QPushButton, QTextEdit, QFrame, QHBoxLayout, QVBoxLayout, QScrollArea, QSystemTrayIcon, QMessageBox, QGridLayout, QCheckBox, QStackedLayout, QGroupBox, QDialog from PyQt6.QtGui import QIcon, QPixmap,QIcon, QPixmap, QTransform, QPainter, QColor, QFont, QFontDatabase -from PyQt6 import QtGui +from PyQt6 import QtGui from PyQt6 import QtCore from PyQt6.QtCore import Qt,QSize,QThread,pyqtSignal, QTimer, QPointF, QRect, QMutex, QMutexLocker, QObject import os @@ -9,7 +9,7 @@ import functools import threading import logging import traceback -import random +import random import subprocess from typing import Union from core.Errors import UnknownConnectionTypeError, CommandNotFoundError, MissingSubscriptionError, InvalidSubscriptionError, ProfileActivationError, UnsupportedApplicationVersionError, FileIntegrityError, ProfileModificationError, ProfileStateConflictError @@ -35,6 +35,7 @@ from datetime import datetime, timezone, timedelta from core.Constants import Constants import atexit import json +import shlex @@ -119,7 +120,7 @@ class WorkerThread(QThread): self.text_output.emit("Checking for updates...") ClientController.sync(client_observer=client_observer, connection_observer=connection_observer) update_available = ClientController.can_be_updated() - if update_available: + if update_available: self.text_output.emit("An update is available. Downloading...") self.finished.emit(True) else: @@ -130,7 +131,7 @@ class WorkerThread(QThread): def install_package(self): try: self.text_output.emit(f"Installing {self.package_name}...") - subprocess.run(self.package_command.split(), check=True) + subprocess.run(shlex.split(self.package_command), check=True) self.text_output.emit(f"{self.package_name} installed!") self.finished.emit(True) except subprocess.CalledProcessError: @@ -227,7 +228,7 @@ class WorkerThread(QThread): ConfigurationController.set_connection('tor') else: ConfigurationController.set_connection('system') - ClientController.sync(client_observer=client_observer, connection_observer=connection_observer) + self.check_for_update() locations = LocationController.get_all() all_location_codes = [f"{location.country_code}_{location.code}" for location in locations] self.sync_output.emit(all_location_codes, True, False, locations, False) @@ -317,12 +318,15 @@ class CustomWindow(QMainWindow): self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground) self.setAttribute(Qt.WidgetAttribute.WA_NoSystemBackground) - self.setWindowTitle("HydraVeil VPN") + self.setWindowTitle('HydraVeil') self._data = {"Profile_1": {}} - self.gui_dir = os.path.join(Constants.HV_DATA_HOME, "gui") - self.gui_config_file = os.path.join(self.gui_dir, "config.json") - self.gui_log_file = os.path.join(self.gui_dir, "gui.log") + self.gui_config_home = os.path.join(Constants.HV_CONFIG_HOME, 'gui') + self.gui_config_file = os.path.join(self.gui_config_home, 'config.json') + + self.gui_cache_home = os.path.join(Constants.HV_CACHE_HOME, 'gui') + self.gui_log_file = os.path.join(self.gui_cache_home, 'gui.log') + self._setup_gui_directory() current_dir = os.path.dirname(os.path.abspath(__file__)) @@ -330,10 +334,8 @@ class CustomWindow(QMainWindow): self.btn_path = os.getenv('BTN_PATH', os.path.join(current_dir, 'resources', 'images')) self.css_path = os.getenv('CSS_PATH', os.path.join(current_dir, 'resources', 'styles')) - icon_base = os.getenv('SYSTEM_TRAY_ICON', '') - self.tray = None - self.init_system_tray(icon_base) + self.init_system_tray(self.btn_path) self.is_downloading = False self.current_profile_id = None @@ -351,6 +353,12 @@ class CustomWindow(QMainWindow): profile_observer.subscribe('created', lambda event: self.update_status('Profile Created')) profile_observer.subscribe('destroyed', lambda event: self.update_status('Profile destroyed')) + client_observer.subscribe('synchronizing', lambda event: self.update_status('Sync in progress...')) + client_observer.subscribe('synchronized', lambda event: self.update_status('Sync complete')) + + client_observer.subscribe('updating', lambda event: self.update_status('Updating client...')) + client_observer.subscribe('update_progressing', lambda event: self.update_status(f'Current progress: {event.meta.get('progress'):.2f}%')) + client_observer.subscribe('updated', lambda event: self.update_status('Restart client to apply update.')) application_version_observer.subscribe('downloading', lambda event: self.update_status(f'Downloading {ApplicationController.get(event.subject.application_code).name}')) application_version_observer.subscribe('download_progressing', lambda event: self.update_status(f'Downloading {ApplicationController.get(event.subject.application_code).name} {event.meta.get('progress'):.2f}%')) @@ -389,7 +397,7 @@ class CustomWindow(QMainWindow): self.scroll_speed = 1 self.tor_text = QLabel("Billing & Browsers", self) - self.tor_text.setGeometry(515, 542, 150, 20) + self.tor_text.setGeometry(532, 541, 150, 20) self.tor_text.setStyleSheet(""" QLabel { color: cyan; @@ -401,31 +409,56 @@ class CustomWindow(QMainWindow): self.set_scroll_speed(7) - - self.tor_icon = QLabel(self) - self.tor_icon.setGeometry(705, 537, 25, 25) - self.set_tor_icon() - self.toggle_button = QPushButton(self) - self.toggle_button.setGeometry(645, 541, 50, 22) + self.toggle_button.setGeometry(670, 541, 50, 22) self.toggle_button.setCheckable(True) self.toggle_button.clicked.connect(self.toggle_mode) - + + self.tor_icon = QLabel(self) + self.tor_icon.setGeometry(730, 537, 25, 25) + self.set_tor_icon() self.create_toggle(self.is_tor_mode) self.animation_timer = QTimer() self.animation_timer.timeout.connect(self.animate_toggle) self.check_logging() + + self.sync_button = QPushButton(self) + self.sync_button.setGeometry(771, 541, 22, 22) + self.sync_button.setObjectName('sync_button') + + if CustomWindow.should_be_synchronized(): + sync_icon = QtGui.QIcon(os.path.join(self.btn_path, 'icon_sync_urgent.png')) + else: + sync_icon = QtGui.QIcon(os.path.join(self.btn_path, 'icon_sync.png')) + + self.sync_button.setToolTip('Sync') + self.sync_button.setIcon(sync_icon) + self.sync_button.setIconSize(self.sync_button.size()) + self.sync_button.clicked.connect(self.sync) + self.init_ui() current_connection = self.get_current_connection() self.is_tor_mode = current_connection == 'tor' self.set_toggle_state(self.is_tor_mode) + def perform_update_check(self): + update_available = ClientController.can_be_updated() + if update_available: + menu_page = self.page_stack.findChild(MenuPage) + menu_page.on_update_check_finished() - + def sync(self): + if ConfigurationController.get_connection() == 'tor': + self.worker_thread = WorkerThread('SYNC_TOR') + else: + self.worker_thread = WorkerThread('SYNC') + self.sync_button.setIcon(QtGui.QIcon(os.path.join(self.btn_path, 'icon_sync.png'))) + self.worker_thread.finished.connect(lambda: self.perform_update_check()) + self.worker_thread.start() def _handle_exception(self, identifier, message, trace): if issubclass(identifier, UnknownConnectionTypeError): @@ -515,7 +548,8 @@ class CustomWindow(QMainWindow): return ConfigurationController.get_connection() def _setup_gui_directory(self): - os.makedirs(self.gui_dir, exist_ok=True) + os.makedirs(self.gui_cache_home, exist_ok=True) + os.makedirs(self.gui_config_home, exist_ok=True) if not os.path.exists(self.gui_config_file): default_config = { @@ -562,7 +596,7 @@ class CustomWindow(QMainWindow): def _setup_gui_logging(self): - os.makedirs(self.gui_dir, exist_ok=True) + os.makedirs(self.gui_cache_home, exist_ok=True) formatter = logging.Formatter( '%(asctime)s - %(levelname)s - %(message)s', @@ -734,24 +768,25 @@ class CustomWindow(QMainWindow): - def init_system_tray(self, icon_base): + def init_system_tray(self, icon_base_path): if QSystemTrayIcon.isSystemTrayAvailable(): tray_icon = QIcon() window_icon = QIcon() tray_sizes = [22, 24] for size in tray_sizes: - icon_path = os.path.join(icon_base, f"{size}x{size}/apps/simplified-privacy.png") + icon_path = os.path.join(icon_base_path, f"hv-icon-{size}x{size}.png") if os.path.exists(icon_path): tray_icon.addFile(icon_path, QSize(size, size)) window_sizes = [32, 48, 64, 128] for size in window_sizes: - icon_path = os.path.join(icon_base, f"{size}x{size}/apps/simplified-privacy.png") + icon_path = os.path.join(icon_base_path, f"hv-icon-{size}x{size}.png") if os.path.exists(icon_path): window_icon.addFile(icon_path, QSize(size, size)) - + self.tray = QSystemTrayIcon(self) + self.tray.setToolTip('HydraVeil') self.tray.setIcon(tray_icon) self.tray.setVisible(True) self.setWindowIcon(window_icon) @@ -828,13 +863,13 @@ class CustomWindow(QMainWindow): self.editor_page = EditorPage(self.page_stack, self) self.pages = [MenuPage(self.page_stack, self), ProtocolPage(self.page_stack, self), + WireGuardPage(self.page_stack, self), + HidetorPage(self.page_stack, self), LocationPage(self.page_stack, self), BrowserPage(self.page_stack, self), ScreenPage(self.page_stack, self), ResumePage(self.page_stack, self), - WireGuardPage(self.page_stack, self), ResidentialPage(self.page_stack, self), - HidetorPage(self.page_stack, self), InstallSystemPackage(self.page_stack, self), WelcomePage(self.page_stack, self), PaymentPage(self.page_stack, self), @@ -878,8 +913,8 @@ class CustomWindow(QMainWindow): self.disable_marquee() def check_first_launch(self): - config_file = os.path.join(self.gui_dir, "first_launch.txt") - + + config_file = os.path.join(self.gui_config_home, '.first-run') os.makedirs(Constants.HV_CONFIG_HOME, exist_ok=True) is_first_launch = not os.path.exists(config_file) @@ -936,7 +971,23 @@ class CustomWindow(QMainWindow): def set_scroll_speed(self, speed): self.scroll_speed = speed + @staticmethod + def should_be_synchronized(): + + current_datetime = datetime.today().astimezone(timezone.utc) + last_synced_at = ConfigurationController.get_last_synced_at() + + return last_synced_at is None or (current_datetime - last_synced_at) >= timedelta(days=30) + def page_changed(self, index): + + if CustomWindow.should_be_synchronized(): + sync_icon = QtGui.QIcon(os.path.join(self.btn_path, 'icon_sync_urgent.png')) + else: + sync_icon = QtGui.QIcon(os.path.join(self.btn_path, 'icon_sync.png')) + + self.sync_button.setIcon(sync_icon) + current_page = self.page_stack.widget(index) if self.page_history: previous_page = self.page_history[-1] @@ -958,15 +1009,17 @@ class CustomWindow(QMainWindow): elif isinstance(current_page, LocationPage): self.update_status(None, clear=True) elif isinstance(current_page, InstallSystemPackage): - self.update_status("Required tools are not installed. Please install them.") + self.update_status('Please check package availability.') else: self.update_status(None) if isinstance(current_page, MenuPage): + self.sync_button.setVisible(True) self.tor_text.setVisible(True) - self.toggle_button.setGeometry(645, 541, 50, 22) - self.tor_icon.setGeometry(705, 537, 25, 25) + self.toggle_button.setGeometry(670, 541, 50, 22) + self.tor_icon.setGeometry(730, 537, 25, 25) else: + self.sync_button.setVisible(False) self.tor_text.setVisible(False) self.toggle_button.setGeometry(540, 541, 50, 22) self.tor_icon.setGeometry(600, 537, 25, 25) @@ -1104,7 +1157,7 @@ class Worker(QObject): except ProfileStateConflictError: self.update_signal.emit("The profile is already being enabled...", False, None, None, None) except CommandNotFoundError as e : - self.update_signal.emit(str(e), False, -1, None, None) + self.update_signal.emit(str(e.subject), False, -1, None, None) except Exception as e: print(e) self.update_signal.emit("An unknown error occurred", False, None, None, None) @@ -1198,7 +1251,7 @@ class MenuPage(Page): self.worker = WorkerThread('DOWNLOAD_UPDATE') self.worker.start() else: - self.update_status.update_status("Update cancelled by user.") + self.update_status.update_status('Update canceled') @@ -1328,6 +1381,9 @@ class MenuPage(Page): return new_dict def create(self): + self.boton_just.setEnabled(False) + self.boton_just_session.setEnabled(False) + self.boton_edit.setEnabled(False) self.profiles_data = self.match_core_profiles(ProfileController.get_all()) self.number_of_profiles = len(self.profiles_data) self.profile_info.update(self.profiles_data) @@ -1933,7 +1989,7 @@ class ConnectionManager: def get_is_profile_being_enabled(self, profile_id: int) -> bool: return self._is_profile_being_enabled.get(profile_id, False) - + class InstallSystemPackage(Page): def __init__(self, page_stack, main_window=None, parent=None): super().__init__("InstallPackage", page_stack, main_window, parent) @@ -1953,110 +2009,104 @@ class InstallSystemPackage(Page): self.auto_install_package_commands = { 'all': { - 'debian': 'pkexec apt install -y bubblewrap iproute2 microsocks proxychains4 ratpoison tor wireguard xserver-xephyr resolvconf', - 'arch': 'pkexec pacman -S bubblewrap iproute2 microsocks proxychains-ng tor wireguard-tools xorg-server-xephyr resolvconf', - 'fedora': 'pkexec dnf -y install bubblewrap iproute-doc proxychains4 ratpoison tor wireguard xorg-x11-server-Xephyr resolvconf' + 'debian': 'pkexec apt install -y bubblewrap iproute2 microsocks proxychains4 ratpoison tor wireguard xserver-xephyr', + 'arch': 'pkexec pacman -S bubblewrap iproute2 microsocks proxychains-ng tor wireguard-tools xorg-server-xephyr', + 'fedora': 'pkexec dnf -y install bubblewrap iproute proxychains4 ratpoison tor wireguard-tools xorg-x11-server-Xephyr' }, - - 'wireguard': { - 'debian': 'pkexec apt -y install wireguard resolvconf', - 'arch': 'pkexec pacman -S wireguard-tools resolvconf', - 'fedora': 'pkexec dnf -y install wireguard-tools resolvconf' + 'bwrap': { + 'debian': 'pkexec apt -y install bubblewrap', + 'arch': 'pkexec pacman -S bubblewrap', + 'fedora': 'pkexec dnf -y install bubblewrap' }, - 'resolvconf': { - 'debian': 'pkexec apt -y install resolvconf', - 'arch': 'pkexec pacman -S resolvconf', - 'fedora': 'pkexec dnf -y install resolvconf' - }, - 'tor': { - 'debian': 'pkexec apt -y install tor proxychains4 microsocks', - 'arch': 'pkexec pacman -S tor proxychains4 microsocks', - 'fedora': 'pkexec dnf -y install tor proxychains4' - }, - 'tor_sync': { - 'debian': 'pkexec apt -y install tor', - 'arch': 'pkexec pacman -S tor', - 'fedora': 'pkexec dnf -y install tor' - }, - 'proxychains4': { - 'debian': 'pkexec apt -y install proxychains4', - 'arch': 'pkexec pacman -S proxychains-ng', - 'fedora': 'pkexec dnf -y install proxychains4' + 'ip': { + 'debian': 'pkexec apt -y install iproute2', + 'arch': 'pkexec pacman -S iproute2', + 'fedora': 'pkexec dnf -y install iproute' }, 'microsocks': { 'debian': 'pkexec apt -y install microsocks', 'arch': 'pkexec pacman -S microsocks', - 'fedora': 'pkexec dnf -y install microsocks' + 'fedora': 'zenity --warning --text="An essential dependency (microsocks) is not included in your distribution\'s default repository. Please build it from source or contact support."' }, - 'xserver-xephyr': { - 'debian': 'pkexec apt -y install xserver-xephyr bubblewrap ratpoison', - 'arch': 'pkexec pacman -S xorg-server-xephyr bubblewrap ratpoison', - 'fedora': 'pkexec dnf -y install xorg-x11-server-Xephyr bubblewrap ratpoison' + 'proxychains4': { + 'debian': 'pkexec apt -y install proxychains4', + 'arch': 'pkexec pacman -S proxychains-ng', + 'fedora': 'pkexec dnf -y install proxychains4' }, - 'bubblewrap': { - 'debian': 'pkexec apt -y install bubblewrap', - 'arch': 'pkexec pacman -S bubblewrap', - 'fedora': 'pkexec dnf -y install bubblewrap' + 'ratpoison': { + 'debian': 'pkexec apt -y install ratpoison', + 'arch': 'zenity --warning --text="An essential dependency (ratpoison) is not included in your distribution\'s default repository. Please build it from source or contact support."', + 'fedora': 'pkexec dnf -y install ratpoison' + }, + 'tor': { + 'debian': 'pkexec apt -y install tor', + 'arch': 'pkexec pacman -S tor', + 'fedora': 'pkexec dnf -y install tor' + }, + 'wg-quick': { + 'debian': 'pkexec apt -y install wireguard', + 'arch': 'pkexec pacman -S wireguard-tools', + 'fedora': 'pkexec dnf -y install wireguard-tools' + }, + 'Xephyr': { + 'debian': 'pkexec apt -y install xserver-xephyr', + 'arch': 'pkexec pacman -S xorg-server-xephyr', + 'fedora': 'pkexec dnf -y install xorg-x11-server-Xephyr' } } self.manual_install_package_commands = { 'all': { - 'debian': 'sudo apt install -y bubblewrap iproute2 microsocks proxychains4 ratpoison tor wireguard xserver-xephyr resolvconf', - 'arch': 'sudo pacman -S bubblewrap iproute2 microsocks proxychains-ng tor wireguard-tools xorg-server-xephyr resolvconf', - 'fedora': 'sudo dnf -y install bubblewrap iproute-doc proxychains4 ratpoison tor wireguard xorg-x11-server-Xephyr resolvconf' + 'debian': 'sudo apt install -y bubblewrap iproute2 microsocks proxychains4 ratpoison tor wireguard xserver-xephyr', + 'arch': 'sudo pacman -S bubblewrap iproute2 microsocks proxychains-ng tor wireguard-tools xorg-server-xephyr', + 'fedora': 'sudo dnf -y install bubblewrap iproute proxychains4 ratpoison tor wireguard-tools xorg-x11-server-Xephyr' }, - 'polkit': { - 'debian': 'sudo apt -y install policykit-1', - 'arch': 'sudo pacman -S polkit', - 'fedora': 'sudo dnf -y install polkit' + 'bwrap': { + 'debian': 'sudo apt -y install bubblewrap', + 'arch': 'sudo pacman -S bubblewrap', + 'fedora': 'sudo dnf -y install bubblewrap' }, - 'wireguard': { - 'debian': 'sudo apt -y install wireguard resolvconf', - 'arch': 'sudo pacman -S wireguard-tools resolvconf', - 'fedora': 'sudo dnf -y install wireguard-tools resolvconf' - }, - 'resolvconf': { - 'debian': 'sudo apt -y install resolvconf', - 'arch': 'sudo pacman -S resolvconf', - 'fedora': 'sudo dnf -y install resolvconf' - }, - 'tor': { - 'debian': 'sudo apt -y install tor proxychains4 microsocks', - 'arch': 'sudo pacman -S tor proxychains-ng microsocks', - 'fedora': 'sudo dnf -y install tor proxychains4' - }, - 'tor_sync': { - 'debian': 'sudo apt -y install tor', - 'arch': 'sudo pacman -S tor', - 'fedora': 'sudo dnf -y install tor' - }, - 'proxychains4': { - 'debian': 'sudo apt -y install proxychains4', - 'arch': 'sudo pacman -S proxychains-ng', - 'fedora': 'sudo dnf -y install proxychains4' + 'ip': { + 'debian': 'sudo apt -y install iproute2', + 'arch': 'sudo pacman -S iproute2', + 'fedora': 'sudo dnf -y install iproute' }, 'microsocks': { 'debian': 'sudo apt -y install microsocks', 'arch': 'sudo pacman -S microsocks', - 'fedora': 'sudo dnf -y install microsocks' + 'fedora': '# Package not available.' }, - 'xserver-xephyr': { - 'debian': 'sudo apt -y install xserver-xephyr bubblewrap ratpoison', - 'arch': 'sudo pacman -S xorg-server-xephyr bubblewrap ratpoison', - 'fedora': 'sudo dnf -y install xorg-x11-server-Xephyr bubblewrap ratpoison' + 'proxychains4': { + 'debian': 'sudo apt -y install proxychains4', + 'arch': 'sudo pacman -S proxychains-ng', + 'fedora': 'sudo dnf -y install proxychains4' }, - 'bubblewrap': { - 'debian': 'sudo apt -y install bubblewrap', - 'arch': 'sudo pacman -S bubblewrap', - 'fedora': 'sudo dnf -y install bubblewrap' + 'ratpoison': { + 'debian': 'sudo apt -y install ratpoison', + 'arch': '# Package not available.', + 'fedora': 'sudo dnf -y install ratpoison' + }, + 'tor': { + 'debian': 'sudo apt -y install tor', + 'arch': 'sudo pacman -S tor', + 'fedora': 'sudo dnf -y install tor' + }, + 'wg-quick': { + 'debian': 'sudo apt -y install wireguard', + 'arch': 'sudo pacman -S wireguard-tools', + 'fedora': 'sudo dnf -y install wireguard-tools' + }, + 'Xephyr': { + 'debian': 'sudo apt -y install xserver-xephyr', + 'arch': 'sudo pacman -S xorg-server-xephyr', + 'fedora': 'sudo dnf -y install xorg-x11-server-Xephyr' } } def _setup_permanent_ui(self): self.title.setGeometry(20, 50, 300, 60) self.title.setText("Package Installation") - self.title.setStyleSheet("font-size: 24px; font-weight: bold;") + self.title.setStyleSheet("font-size: 22px; font-weight: bold;") self.permanent_elements.append(self.title) self.display.setGeometry(QtCore.QRect(100, 160, 580, 435)) @@ -2147,6 +2197,7 @@ class InstallSystemPackage(Page): self.ui_elements.append(auto_install_label) auto_install_desc = QLabel("Click the button below to automatically install the missing packages:", self) + auto_install_desc.setStyleSheet("font-size: 14px; font-weight: bold;") auto_install_desc.setGeometry(80, 170, 650, 30) auto_install_desc.setVisible(True) self.ui_elements.append(auto_install_desc) @@ -2182,6 +2233,7 @@ class InstallSystemPackage(Page): self.ui_elements.append(manual_install_label) manual_install_desc = QLabel("Run this command in your terminal:", self) + manual_install_desc.setStyleSheet("font-size: 14px; font-weight: bold;") manual_install_desc.setGeometry(80, 330, 380, 30) manual_install_desc.setVisible(True) @@ -2368,7 +2420,7 @@ class InstallSystemPackage(Page): def check_package(self): try: if self.package_name.lower() == 'all': - packages = ['bwrap', 'ip', 'microsocks', 'proxychains4', 'ratpoison', 'tor', 'Xephyr', 'wg', 'resolvconf'] + packages = ['bwrap', 'ip', 'microsocks', 'proxychains4', 'ratpoison', 'tor', 'Xephyr', 'wg'] for package in packages: if subprocess.getstatusoutput(f'{package} --help')[0] == 127: self.status_label.setText(f"{package} is not installed") @@ -2397,120 +2449,6 @@ class InstallSystemPackage(Page): def go_next(self): self.page_stack.setCurrentIndex(self.page_stack.indexOf(self.page_stack.findChild(MenuPage))) -class WelcomePage(Page): - def __init__(self, page_stack, main_window=None, parent=None): - super().__init__("Welcome", page_stack, main_window, parent) - self.btn_path = main_window.btn_path - self.update_status = main_window - self.ui_elements = [] - self.button_next.clicked.connect(self.go_to_install) - self.button_next.setVisible(True) - self._setup_welcome_ui() - self._setup_stats_display() - - def _setup_welcome_ui(self): - welcome_title = QLabel("Welcome to HydraVeilVPN", self) - welcome_title.setGeometry(20, 45, 760, 60) - welcome_title.setStyleSheet(""" - font-size: 32px; - font-weight: bold; - color: cyan; - """) - welcome_title.setAlignment(Qt.AlignmentFlag.AlignCenter) - - welcome_msg = QLabel( - "Before we begin your journey, we need to set up a few essential components. " - "Click 'Next' to take you to the installation page.", self) - welcome_msg.setGeometry(40, 100, 720, 80) - welcome_msg.setWordWrap(True) - welcome_msg.setStyleSheet(""" - font-size: 16px; - color: cyan; - """) - welcome_msg.setAlignment(Qt.AlignmentFlag.AlignCenter) - - def _setup_stats_display(self): - stats_container = QWidget(self) - stats_container.setGeometry(70, 200, 730, 240) - - stats_title = QLabel(stats_container) - stats_title.setText("Features & Services") - stats_title.setGeometry(190, 10, 300, 30) - stats_title.setStyleSheet(""" - font-size: 22px; - font-weight: bold; - color: cyan; - """) - - grid_widget = QWidget(stats_container) - grid_widget.setGeometry(0, 70, 700, 190) - grid_layout = QGridLayout(grid_widget) - grid_layout.setSpacing(30) - - stats = [ - ("Browsers", "browsers_mini.png", "10 Supported Browsers", True), - ("WireGuard", "wireguard_mini.png", "6 Global Locations", True), - ("Proxy", "just proxy_mini.png", "5 Proxy Locations", True), - ("Tor", "toricon_mini.png", "Tor Network Access", True) - ] - - for i, (title, icon_name, count, available) in enumerate(stats): - row = i // 2 - col = i % 2 - - stat_widget = QWidget() - stat_layout = QHBoxLayout(stat_widget) - stat_layout.setContentsMargins(20, 10, 2, 10) - stat_layout.setSpacing(15) - - icon_label = QLabel() - icon_path = os.path.join(self.btn_path, icon_name) - icon_label.setPixmap(QPixmap(icon_path).scaled(30, 30, Qt.AspectRatioMode.KeepAspectRatio, Qt.TransformationMode.SmoothTransformation)) - icon_label.setFixedSize(30, 30) - stat_layout.addWidget(icon_label) - - text_widget = QWidget() - text_layout = QVBoxLayout(text_widget) - text_layout.setSpacing(5) - text_layout.setContentsMargins(0, 0, 30, 0) - - title_widget = QWidget() - title_layout = QHBoxLayout(title_widget) - title_layout.setContentsMargins(0, 0, 0, 0) - title_layout.setSpacing(10) - - title_label = QLabel(title) - title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #2c3e50;") - title_layout.addWidget(title_label) - - status_indicator = QLabel("●") - status_indicator.setStyleSheet("color: #2ecc71; font-size: 16px;") - title_layout.addWidget(status_indicator) - - title_layout.addStretch() - text_layout.addWidget(title_widget) - - count_label = QLabel(count) - count_label.setStyleSheet("color: #34495e;") - text_layout.addWidget(count_label) - - stat_layout.addWidget(text_widget, stretch=1) - - stat_widget.setStyleSheet(""" - QWidget { - background-color: transparent; - border-radius: 10px; - } - """) - - grid_layout.addWidget(stat_widget, row, col) - - - def go_to_install(self): - install_page = self.page_stack.findChild(InstallSystemPackage) - install_page.configure(package_name='all', distro='debian') - self.page_stack.setCurrentIndex(self.page_stack.indexOf(install_page)) - class ProtocolPage(Page): def __init__(self, page_stack, main_window=None, parent=None): super().__init__("Protocol", page_stack,main_window, parent) @@ -2538,8 +2476,7 @@ class ProtocolPage(Page): for j, (object_type,icon_name, page_class, geometry) in enumerate([ (QPushButton,"wireguard", WireGuardPage, (585, 90,185,75)), (QPushButton,"residential", ResidentialPage, (585, 90+30+75,185,75)), - (QPushButton,"hidetor", HidetorPage, (585, 90+30+75+30+75,185,75)), - (QPushButton,"open", LocationPage, (585, 90+30+75+30+75+30+75,185,75)) + (QPushButton,"hidetor", HidetorPage, (585, 90+30+75+30+75,185,75)) ]): boton = object_type(self) boton.setGeometry(*geometry) @@ -2559,6 +2496,7 @@ class ProtocolPage(Page): self.update_status.write_data({"protocol": self.selected_protocol_icon}) def show_protocol(self, page_class, protocol): + self.update_status.clear_data() self.display.setPixmap(QPixmap(os.path.join(self.btn_path, f"{protocol}.png")).scaled(self.display.size(), Qt.AspectRatioMode.KeepAspectRatio)) self.selected_protocol_icon = protocol self.selected_page_class = page_class @@ -2767,7 +2705,7 @@ class HidetorPage(Page): boton.setVisible(False) boton.setIcon(QIcon(os.path.join(self.btn_path, f"button_{icon_name}.png"))) if boton.icon().isNull(): - boton.setPixmap(QPixmap(os.path.join(self.btn_path, "default_location_button.png"))) + boton.setIcon(QIcon(os.path.join(self.btn_path, "default_location_button.png"))) self.buttons.append(boton) self.buttonGroup.addButton(boton, j) boton.clicked.connect(lambda _, location=icon_name: self.show_location(location)) @@ -3075,7 +3013,7 @@ class LocationPage(Page): def show_location(self, location): - self.initial_display.hide() + self.initial_display.hide() self.display.setPixmap(QPixmap(os.path.join(self.btn_path, f"icon_{location}.png")).scaled(self.display.size(), Qt.AspectRatioMode.KeepAspectRatio)) self.selected_location_icon = location self.button_next.setVisible(True) @@ -3356,7 +3294,7 @@ class ResumePage(Page): def create_interface_elements(self): for j, (object_type, icon_name, geometry) in enumerate([ - (QLineEdit, None, (130, 70, 300, 30)), + (QLineEdit, None, (130, 73, 300, 24)), (QLabel, None, (0,0,0,0)) ]): @@ -3373,8 +3311,8 @@ class ResumePage(Page): self.line_edit.setGeometry(*geometry) self.line_edit.setMaxLength(13) self.line_edit.textChanged.connect(self.toggle_button_visibility) - self.line_edit.setStyleSheet("background-color: rgba(22, 10, 30, 0.5);") - self.line_edit.setPlaceholderText("Type a name here") + self.line_edit.setStyleSheet("background-color: transparent; border: none; color: cyan;") + self.line_edit.setPlaceholderText("Enter profile name") self.line_edit.setAlignment(Qt.AlignmentFlag.AlignCenter) self.create() @@ -3644,13 +3582,14 @@ class EditorPage(Page): self.button_back.clicked.connect(self.go_back) self.name_handle = QLabel(self) - self.name_handle.setGeometry(125, 70, 400, 30) + self.name_handle.setGeometry(134, 70, 400, 30) + self.name_handle.setStyleSheet('color: #cacbcb;') self.name_handle.setText("Profile Name:") self.name = QLineEdit(self) - self.name.setGeometry(275, 70, 400, 30) + self.name.setGeometry(288, 70, 190, 30) - self.name.setStyleSheet("border: transparent;") + self.name.setStyleSheet("color: cyan; border: transparent;") self.temp_changes = {} self.original_values = {} @@ -4144,7 +4083,7 @@ class Settings(Page): border: none; background: transparent; color: #808080; - font-size: 15px; + font-size: 14px; {self.font_style} }} QPushButton:checked {{ @@ -4477,7 +4416,7 @@ class Settings(Page): value_label = ClickableValueLabel("N/A", stat_widget) value_label.setObjectName("value_label") - value_label.setStyleSheet(f"color: #00ffff; font-size: 13px; font-weight: bold; {self.font_style}") + value_label.setStyleSheet(f"color: #00ffff; font-size: 12px; font-family: 'Retro Gaming', sans-serif;") value_label.setAlignment(Qt.AlignmentFlag.AlignCenter) stat_widget.layout().insertWidget(0, value_label) @@ -4639,15 +4578,21 @@ class Settings(Page): layout.setSpacing(10) config_path = Constants.HV_CONFIG_HOME + + current_connection = self.update_status.get_current_connection(); + + if current_connection is not None: + current_connection = current_connection.capitalize() + stats = [ ("Config Path", config_path), ("Client Version", Constants.HV_CLIENT_VERSION_NUMBER), - ("Connection", self.update_status.get_current_connection()), + ("Connection", current_connection), ] for i, (label, value) in enumerate(stats): info_widget = QLabel(f"{label}: {value}") - info_widget.setStyleSheet(f"color: white; padding: 5px; {self.font_style}") + info_widget.setStyleSheet(f"font-size: 14px; color: white; padding: 5px; {self.font_style}") info_widget.setWordWrap(True) layout.addWidget(info_widget, i, 0) @@ -4667,7 +4612,7 @@ class Settings(Page): value_label = QLabel(str(value)) value_label.setObjectName("value_label") - value_label.setStyleSheet("color: #00ffff; font-size: 24px; font-weight: bold") + value_label.setStyleSheet("font-family: 'Retro Gaming', sans-serif; color: #00ffff; font-size: 22px; font-weight: bold") value_label.setAlignment(Qt.AlignmentFlag.AlignCenter) desc_label = QLabel(label) @@ -4744,7 +4689,7 @@ class Settings(Page): title.setStyleSheet(f"color: #808080; font-size: 12px; font-weight: bold; {self.font_style}") layout.addWidget(title) - log_text = QLabel(f"If enabled, these Error Logs would be stored locally on your computer\nat {Constants.HV_DATA_HOME}/gui") + log_text = QLabel(f"Enabling this feature means error logs will be stored on your local\nmachine at: '{Constants.HV_CACHE_HOME}/gui'.") log_text.setStyleSheet(f"color: white; font-size: 14px; {self.font_style}") layout.addWidget(log_text) @@ -4818,7 +4763,7 @@ class IdPage(Page): self.btn_path = main_window.btn_path self.buttonGroup = QButtonGroup(self) self.display.setGeometry(QtCore.QRect(-10, 50, 550, 460)) - self.display.setPixmap(QPixmap(os.path.join(self.btn_path, "wireguardx.png")).scaled(self.display.size(), Qt.AspectRatioMode.KeepAspectRatio)) + # self.display.setPixmap(QPixmap(os.path.join(self.btn_path, "wireguardx.png")).scaled(self.display.size(), Qt.AspectRatioMode.KeepAspectRatio)) self.create_interface_elements() @@ -5336,7 +5281,7 @@ class PaymentConfirmed(Page): self.update_status = main_window self.buttonGroup = QButtonGroup(self) self.display.setGeometry(QRect(-10, 50, 550, 460)) - self.display.setPixmap(QPixmap(os.path.join(self.btn_path, f"wireguardx.png")).scaled(self.display.size(), Qt.AspectRatioMode.KeepAspectRatio)) + # self.display.setPixmap(QPixmap(os.path.join(self.btn_path, f"wireguardx.png")).scaled(self.display.size(), Qt.AspectRatioMode.KeepAspectRatio)) self.button_reverse.setVisible(False) @@ -5652,7 +5597,7 @@ class SyncScreen(Page): def perform_sync(self): self.button_go.setEnabled(False) self.button_back.setEnabled(False) - self.update_status.update_status('Syncing in progress...') + self.update_status.update_status('Sync in progress...') if self.main_window.get_current_connection() == 'tor': self.worker_thread = WorkerThread('SYNC_TOR') else: @@ -5754,7 +5699,7 @@ class WelcomePage(Page): self._setup_stats_display() def _setup_welcome_ui(self): - welcome_title = QLabel("Welcome to HydraVeilVPN", self) + welcome_title = QLabel('Welcome to HydraVeil', self) welcome_title.setGeometry(20, 45, 760, 60) welcome_title.setStyleSheet(""" font-size: 32px; @@ -5836,7 +5781,7 @@ class WelcomePage(Page): text_layout.addWidget(title_widget) count_label = QLabel(count) - count_label.setStyleSheet("color: #34495e;") + count_label.setStyleSheet("font-size: 16px; color: #34495e;") text_layout.addWidget(count_label) stat_layout.addWidget(text_widget, stretch=1) diff --git a/gui/resources/images/.gitkeep b/gui/resources/images/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/gui/resources/images/1-country.png b/gui/resources/images/1-country.png index 410d741..8cc3872 100644 Binary files a/gui/resources/images/1-country.png and b/gui/resources/images/1-country.png differ diff --git a/gui/resources/images/1024x1280_button.png b/gui/resources/images/1024x1280_button.png index 6f3c83d..1a679ce 100644 Binary files a/gui/resources/images/1024x1280_button.png and b/gui/resources/images/1024x1280_button.png differ diff --git a/gui/resources/images/1024x760.png b/gui/resources/images/1024x760.png index c095bf7..83e7cca 100644 Binary files a/gui/resources/images/1024x760.png and b/gui/resources/images/1024x760.png differ diff --git a/gui/resources/images/1024x760_button.png b/gui/resources/images/1024x760_button.png index f89565e..2063416 100644 Binary files a/gui/resources/images/1024x760_button.png and b/gui/resources/images/1024x760_button.png differ diff --git a/gui/resources/images/1152x1080.png b/gui/resources/images/1152x1080.png index cb7ef60..0143871 100644 Binary files a/gui/resources/images/1152x1080.png and b/gui/resources/images/1152x1080.png differ diff --git a/gui/resources/images/1152x1080_button.png b/gui/resources/images/1152x1080_button.png index d68281c..08197c5 100644 Binary files a/gui/resources/images/1152x1080_button.png and b/gui/resources/images/1152x1080_button.png differ diff --git a/gui/resources/images/1280x1024.png b/gui/resources/images/1280x1024.png index d7ea942..32b970b 100644 Binary files a/gui/resources/images/1280x1024.png and b/gui/resources/images/1280x1024.png differ diff --git a/gui/resources/images/1280x1024_button.png b/gui/resources/images/1280x1024_button.png index 7e12ff3..d50ad88 100644 Binary files a/gui/resources/images/1280x1024_button.png and b/gui/resources/images/1280x1024_button.png differ diff --git a/gui/resources/images/1920x1080.png b/gui/resources/images/1920x1080.png index 5ee739b..29495a8 100644 Binary files a/gui/resources/images/1920x1080.png and b/gui/resources/images/1920x1080.png differ diff --git a/gui/resources/images/1920x1080_button.png b/gui/resources/images/1920x1080_button.png index 67aae43..66ad6d5 100644 Binary files a/gui/resources/images/1920x1080_button.png and b/gui/resources/images/1920x1080_button.png differ diff --git a/gui/resources/images/400x50_button.png b/gui/resources/images/400x50_button.png index 39af119..16e6551 100644 Binary files a/gui/resources/images/400x50_button.png and b/gui/resources/images/400x50_button.png differ diff --git a/gui/resources/images/540x455.png b/gui/resources/images/540x455.png index 9cb0ce4..5d9803e 100644 Binary files a/gui/resources/images/540x455.png and b/gui/resources/images/540x455.png differ diff --git a/gui/resources/images/800x600.png b/gui/resources/images/800x600.png index 1302151..f6a6396 100644 Binary files a/gui/resources/images/800x600.png and b/gui/resources/images/800x600.png differ diff --git a/gui/resources/images/800x600_button.png b/gui/resources/images/800x600_button.png index 07b3169..75fc2b8 100644 Binary files a/gui/resources/images/800x600_button.png and b/gui/resources/images/800x600_button.png differ diff --git a/gui/resources/images/Dark.png b/gui/resources/images/Dark.png index ad6233d..65b2e6f 100644 Binary files a/gui/resources/images/Dark.png and b/gui/resources/images/Dark.png differ diff --git a/gui/resources/images/Dark2.png b/gui/resources/images/Dark2.png index 59e3361..4f7bbbd 100644 Binary files a/gui/resources/images/Dark2.png and b/gui/resources/images/Dark2.png differ diff --git a/gui/resources/images/Default.png b/gui/resources/images/Default.png index 7437888..18c5bcd 100644 Binary files a/gui/resources/images/Default.png and b/gui/resources/images/Default.png differ diff --git a/gui/resources/images/Mesa de trabajo 1.png b/gui/resources/images/Mesa de trabajo 1.png index 3005f19..24f7090 100644 Binary files a/gui/resources/images/Mesa de trabajo 1.png and b/gui/resources/images/Mesa de trabajo 1.png differ diff --git a/gui/resources/images/Mesa de trabajo 10.png b/gui/resources/images/Mesa de trabajo 10.png index 3c9be40..543b1e6 100644 Binary files a/gui/resources/images/Mesa de trabajo 10.png and b/gui/resources/images/Mesa de trabajo 10.png differ diff --git a/gui/resources/images/Mesa de trabajo 2.png b/gui/resources/images/Mesa de trabajo 2.png index 1350826..ac70ae3 100644 Binary files a/gui/resources/images/Mesa de trabajo 2.png and b/gui/resources/images/Mesa de trabajo 2.png differ diff --git a/gui/resources/images/Mesa de trabajo 3.png b/gui/resources/images/Mesa de trabajo 3.png deleted file mode 100644 index 74dbb0e..0000000 Binary files a/gui/resources/images/Mesa de trabajo 3.png and /dev/null differ diff --git a/gui/resources/images/Mesa de trabajo 4.png b/gui/resources/images/Mesa de trabajo 4.png index 58a9ed6..2f96797 100644 Binary files a/gui/resources/images/Mesa de trabajo 4.png and b/gui/resources/images/Mesa de trabajo 4.png differ diff --git a/gui/resources/images/Mesa de trabajo 8.png b/gui/resources/images/Mesa de trabajo 8.png index 48c1a6a..8d83d68 100644 Binary files a/gui/resources/images/Mesa de trabajo 8.png and b/gui/resources/images/Mesa de trabajo 8.png differ diff --git a/gui/resources/images/UP_button.png b/gui/resources/images/UP_button.png index 5980912..40ac989 100644 Binary files a/gui/resources/images/UP_button.png and b/gui/resources/images/UP_button.png differ diff --git a/gui/resources/images/app_off.png b/gui/resources/images/app_off.png index be807d8..559c420 100644 Binary files a/gui/resources/images/app_off.png and b/gui/resources/images/app_off.png differ diff --git a/gui/resources/images/app_on.png b/gui/resources/images/app_on.png index 59b3122..6b7ddb4 100644 Binary files a/gui/resources/images/app_on.png and b/gui/resources/images/app_on.png differ diff --git a/gui/resources/images/apply.png b/gui/resources/images/apply.png index 92a8e74..d66bd57 100644 Binary files a/gui/resources/images/apply.png and b/gui/resources/images/apply.png differ diff --git a/gui/resources/images/arch.png b/gui/resources/images/arch.png index b0738ea..003f45c 100644 Binary files a/gui/resources/images/arch.png and b/gui/resources/images/arch.png differ diff --git a/gui/resources/images/arrow-down.png b/gui/resources/images/arrow-down.png index 86c64b5..7f8794f 100644 Binary files a/gui/resources/images/arrow-down.png and b/gui/resources/images/arrow-down.png differ diff --git a/gui/resources/images/arrow.png b/gui/resources/images/arrow.png index 4327cbb..7121680 100644 Binary files a/gui/resources/images/arrow.png and b/gui/resources/images/arrow.png differ diff --git a/gui/resources/images/back.png b/gui/resources/images/back.png index 92bfc2d..697ff5a 100644 Binary files a/gui/resources/images/back.png and b/gui/resources/images/back.png differ diff --git a/gui/resources/images/back_transparente.png b/gui/resources/images/back_transparente.png index 3164e00..c99bd05 100644 Binary files a/gui/resources/images/back_transparente.png and b/gui/resources/images/back_transparente.png differ diff --git a/gui/resources/images/backgoud800x600.png b/gui/resources/images/backgoud800x600.png index d6071ce..f3dee2c 100644 Binary files a/gui/resources/images/backgoud800x600.png and b/gui/resources/images/backgoud800x600.png differ diff --git a/gui/resources/images/background.png b/gui/resources/images/background.png index d5c1182..75e30a5 100644 Binary files a/gui/resources/images/background.png and b/gui/resources/images/background.png differ diff --git a/gui/resources/images/background_connected.png b/gui/resources/images/background_connected.png index 5375fb9..d1b49c7 100644 Binary files a/gui/resources/images/background_connected.png and b/gui/resources/images/background_connected.png differ diff --git a/gui/resources/images/background_tormode.png b/gui/resources/images/background_tormode.png deleted file mode 100644 index 9b67901..0000000 Binary files a/gui/resources/images/background_tormode.png and /dev/null differ diff --git a/gui/resources/images/billing_off.png b/gui/resources/images/billing_off.png index 748d902..e9172b6 100644 Binary files a/gui/resources/images/billing_off.png and b/gui/resources/images/billing_off.png differ diff --git a/gui/resources/images/billing_on.png b/gui/resources/images/billing_on.png index 6beef34..76fc4ea 100644 Binary files a/gui/resources/images/billing_on.png and b/gui/resources/images/billing_on.png differ diff --git a/gui/resources/images/bitcoin.png b/gui/resources/images/bitcoin.png index eefe5d9..c99a5fd 100644 Binary files a/gui/resources/images/bitcoin.png and b/gui/resources/images/bitcoin.png differ diff --git a/gui/resources/images/bitcoin_1year.png b/gui/resources/images/bitcoin_1year.png index 17935c4..e290067 100644 Binary files a/gui/resources/images/bitcoin_1year.png and b/gui/resources/images/bitcoin_1year.png differ diff --git a/gui/resources/images/bov_off.png b/gui/resources/images/bov_off.png index d6b6bb8..efcb2dd 100644 Binary files a/gui/resources/images/bov_off.png and b/gui/resources/images/bov_off.png differ diff --git a/gui/resources/images/bov_on.png b/gui/resources/images/bov_on.png index d52db01..d1d40ac 100644 Binary files a/gui/resources/images/bov_on.png and b/gui/resources/images/bov_on.png differ diff --git a/gui/resources/images/brave latest_mini.png b/gui/resources/images/brave latest_mini.png index 5dee25a..048194d 100644 Binary files a/gui/resources/images/brave latest_mini.png and b/gui/resources/images/brave latest_mini.png differ diff --git a/gui/resources/images/brave_button.png b/gui/resources/images/brave_button.png index da06431..535a372 100644 Binary files a/gui/resources/images/brave_button.png and b/gui/resources/images/brave_button.png differ diff --git a/gui/resources/images/brave_icon.png b/gui/resources/images/brave_icon.png index 6ad537f..8ee2ab2 100644 Binary files a/gui/resources/images/brave_icon.png and b/gui/resources/images/brave_icon.png differ diff --git a/gui/resources/images/browser only.png b/gui/resources/images/browser only.png index 4ea476d..4c7239b 100644 Binary files a/gui/resources/images/browser only.png and b/gui/resources/images/browser only.png differ diff --git a/gui/resources/images/browser-only.png b/gui/resources/images/browser-only.png index 08602b0..ca44ef6 100644 Binary files a/gui/resources/images/browser-only.png and b/gui/resources/images/browser-only.png differ diff --git a/gui/resources/images/browser-only_button.png b/gui/resources/images/browser-only_button.png index 08602b0..ca44ef6 100644 Binary files a/gui/resources/images/browser-only_button.png and b/gui/resources/images/browser-only_button.png differ diff --git a/gui/resources/images/browser_just_proxy.png b/gui/resources/images/browser_just_proxy.png index 0f8044d..968ef07 100644 Binary files a/gui/resources/images/browser_just_proxy.png and b/gui/resources/images/browser_just_proxy.png differ diff --git a/gui/resources/images/browser_tor.png b/gui/resources/images/browser_tor.png index f8c9f82..22cbe20 100644 Binary files a/gui/resources/images/browser_tor.png and b/gui/resources/images/browser_tor.png differ diff --git a/gui/resources/images/browsers_mini.png b/gui/resources/images/browsers_mini.png index 7306f2d..cfe577b 100644 Binary files a/gui/resources/images/browsers_mini.png and b/gui/resources/images/browsers_mini.png differ diff --git a/gui/resources/images/button230x220.png b/gui/resources/images/button230x220.png index bae5410..5566702 100644 Binary files a/gui/resources/images/button230x220.png and b/gui/resources/images/button230x220.png differ diff --git a/gui/resources/images/button_ch_zh.png b/gui/resources/images/button_ch_zh.png index 8b9742a..5b88419 100644 Binary files a/gui/resources/images/button_ch_zh.png and b/gui/resources/images/button_ch_zh.png differ diff --git a/gui/resources/images/button_fi_01.png b/gui/resources/images/button_fi_01.png index 674ee76..c7f0fb4 100644 Binary files a/gui/resources/images/button_fi_01.png and b/gui/resources/images/button_fi_01.png differ diff --git a/gui/resources/images/button_is_1.png b/gui/resources/images/button_is_1.png index 9dd1cb7..dd2feab 100644 Binary files a/gui/resources/images/button_is_1.png and b/gui/resources/images/button_is_1.png differ diff --git a/gui/resources/images/button_md_cu.png b/gui/resources/images/button_md_cu.png index 0a290b3..9da0377 100644 Binary files a/gui/resources/images/button_md_cu.png and b/gui/resources/images/button_md_cu.png differ diff --git a/gui/resources/images/button_my.png b/gui/resources/images/button_my.png index 9601b2f..f02199f 100644 Binary files a/gui/resources/images/button_my.png and b/gui/resources/images/button_my.png differ diff --git a/gui/resources/images/button_nl_li.png b/gui/resources/images/button_nl_li.png index c35baea..f97a997 100644 Binary files a/gui/resources/images/button_nl_li.png and b/gui/resources/images/button_nl_li.png differ diff --git a/gui/resources/images/button_profile.png b/gui/resources/images/button_profile.png index 8338f26..a99db1b 100644 Binary files a/gui/resources/images/button_profile.png and b/gui/resources/images/button_profile.png differ diff --git a/gui/resources/images/button_session_profile.png b/gui/resources/images/button_session_profile.png index b6edb5a..1b3f484 100644 Binary files a/gui/resources/images/button_session_profile.png and b/gui/resources/images/button_session_profile.png differ diff --git a/gui/resources/images/button_session_tor.png b/gui/resources/images/button_session_tor.png index 969de56..46157ce 100644 Binary files a/gui/resources/images/button_session_tor.png and b/gui/resources/images/button_session_tor.png differ diff --git a/gui/resources/images/button_system_profile.png b/gui/resources/images/button_system_profile.png index dcc6da1..95903a0 100644 Binary files a/gui/resources/images/button_system_profile.png and b/gui/resources/images/button_system_profile.png differ diff --git a/gui/resources/images/button_us_oh.png b/gui/resources/images/button_us_oh.png index 1a6bca8..c8c9b81 100644 Binary files a/gui/resources/images/button_us_oh.png and b/gui/resources/images/button_us_oh.png differ diff --git a/gui/resources/images/button_us_wa.png b/gui/resources/images/button_us_wa.png index 125b0c5..e66f7c0 100644 Binary files a/gui/resources/images/button_us_wa.png and b/gui/resources/images/button_us_wa.png differ diff --git a/gui/resources/images/check.png b/gui/resources/images/check.png index 28755cd..b847096 100644 Binary files a/gui/resources/images/check.png and b/gui/resources/images/check.png differ diff --git a/gui/resources/images/check_icon.png b/gui/resources/images/check_icon.png index c4050f6..c79e881 100644 Binary files a/gui/resources/images/check_icon.png and b/gui/resources/images/check_icon.png differ diff --git a/gui/resources/images/chromium latest_mini.png b/gui/resources/images/chromium latest_mini.png index 66a009b..3e7d00f 100644 Binary files a/gui/resources/images/chromium latest_mini.png and b/gui/resources/images/chromium latest_mini.png differ diff --git a/gui/resources/images/chromium_button.png b/gui/resources/images/chromium_button.png index 0d876d5..5017552 100644 Binary files a/gui/resources/images/chromium_button.png and b/gui/resources/images/chromium_button.png differ diff --git a/gui/resources/images/chromium_icon.png b/gui/resources/images/chromium_icon.png index 0b09057..4fa6b8e 100644 Binary files a/gui/resources/images/chromium_icon.png and b/gui/resources/images/chromium_icon.png differ diff --git a/gui/resources/images/config.txt b/gui/resources/images/config.txt deleted file mode 100644 index e69de29..0000000 diff --git a/gui/resources/images/connect.png b/gui/resources/images/connect.png index 36e1263..798d7c9 100644 Binary files a/gui/resources/images/connect.png and b/gui/resources/images/connect.png differ diff --git a/gui/resources/images/create_profile.png b/gui/resources/images/create_profile.png index ace377c..3a519bd 100644 Binary files a/gui/resources/images/create_profile.png and b/gui/resources/images/create_profile.png differ diff --git a/gui/resources/images/cuadro150x50.png b/gui/resources/images/cuadro150x50.png index cd721a1..801eab4 100644 Binary files a/gui/resources/images/cuadro150x50.png and b/gui/resources/images/cuadro150x50.png differ diff --git a/gui/resources/images/cuadro400x50.png b/gui/resources/images/cuadro400x50.png index 39af119..16e6551 100644 Binary files a/gui/resources/images/cuadro400x50.png and b/gui/resources/images/cuadro400x50.png differ diff --git a/gui/resources/images/debian.png b/gui/resources/images/debian.png index ffd0ea4..01aff26 100644 Binary files a/gui/resources/images/debian.png and b/gui/resources/images/debian.png differ diff --git a/gui/resources/images/default_location_button.png b/gui/resources/images/default_location_button.png index 3bf4e9e..b6d7149 100644 Binary files a/gui/resources/images/default_location_button.png and b/gui/resources/images/default_location_button.png differ diff --git a/gui/resources/images/default_location_mini.png b/gui/resources/images/default_location_mini.png index 66e55e8..eeedec0 100644 Binary files a/gui/resources/images/default_location_mini.png and b/gui/resources/images/default_location_mini.png differ diff --git a/gui/resources/images/delete_profile.png b/gui/resources/images/delete_profile.png index 8500648..5a22599 100644 Binary files a/gui/resources/images/delete_profile.png and b/gui/resources/images/delete_profile.png differ diff --git a/gui/resources/images/disconnect.png b/gui/resources/images/disconnect.png index 670d00a..e010424 100644 Binary files a/gui/resources/images/disconnect.png and b/gui/resources/images/disconnect.png differ diff --git a/gui/resources/images/disconnect_system_wide.png b/gui/resources/images/disconnect_system_wide.png index 69ffc16..37c7a1a 100644 Binary files a/gui/resources/images/disconnect_system_wide.png and b/gui/resources/images/disconnect_system_wide.png differ diff --git a/gui/resources/images/disconnected.png b/gui/resources/images/disconnected.png index 8eb3732..39f2da1 100644 Binary files a/gui/resources/images/disconnected.png and b/gui/resources/images/disconnected.png differ diff --git a/gui/resources/images/edit_profile.png b/gui/resources/images/edit_profile.png index a4b4056..ebd17c5 100644 Binary files a/gui/resources/images/edit_profile.png and b/gui/resources/images/edit_profile.png differ diff --git a/gui/resources/images/editv.png b/gui/resources/images/editv.png index e13b22b..cc42346 100644 Binary files a/gui/resources/images/editv.png and b/gui/resources/images/editv.png differ diff --git a/gui/resources/images/eeuu garaje.png b/gui/resources/images/eeuu garaje.png index 70a12d7..41a38f1 100644 Binary files a/gui/resources/images/eeuu garaje.png and b/gui/resources/images/eeuu garaje.png differ diff --git a/gui/resources/images/eeuu_button.png b/gui/resources/images/eeuu_button.png index 213c45a..38fd689 100644 Binary files a/gui/resources/images/eeuu_button.png and b/gui/resources/images/eeuu_button.png differ diff --git a/gui/resources/images/eeuu_mini.png b/gui/resources/images/eeuu_mini.png index 1fa7a11..b7b29c2 100644 Binary files a/gui/resources/images/eeuu_mini.png and b/gui/resources/images/eeuu_mini.png differ diff --git a/gui/resources/images/fedora.png b/gui/resources/images/fedora.png index 5e79631..d68f703 100644 Binary files a/gui/resources/images/fedora.png and b/gui/resources/images/fedora.png differ diff --git a/gui/resources/images/firefox latest_mini.png b/gui/resources/images/firefox latest_mini.png index 2dd5eef..5cd50dd 100644 Binary files a/gui/resources/images/firefox latest_mini.png and b/gui/resources/images/firefox latest_mini.png differ diff --git a/gui/resources/images/firefox_button.png b/gui/resources/images/firefox_button.png index 7867b25..63c4889 100644 Binary files a/gui/resources/images/firefox_button.png and b/gui/resources/images/firefox_button.png differ diff --git a/gui/resources/images/firefox_icon.png b/gui/resources/images/firefox_icon.png index a4a49c8..f97fd28 100644 Binary files a/gui/resources/images/firefox_icon.png and b/gui/resources/images/firefox_icon.png differ diff --git a/gui/resources/images/global-acces.png b/gui/resources/images/global-acces.png index 7d0a57c..9816eaa 100644 Binary files a/gui/resources/images/global-acces.png and b/gui/resources/images/global-acces.png differ diff --git a/gui/resources/images/hdtor_is_1.png b/gui/resources/images/hdtor_is_1.png index 0e34315..5be9091 100644 Binary files a/gui/resources/images/hdtor_is_1.png and b/gui/resources/images/hdtor_is_1.png differ diff --git a/gui/resources/images/hdtor_md_cu.png b/gui/resources/images/hdtor_md_cu.png index f98be04..4dde890 100644 Binary files a/gui/resources/images/hdtor_md_cu.png and b/gui/resources/images/hdtor_md_cu.png differ diff --git a/gui/resources/images/hdtor_mini_md_cu.png b/gui/resources/images/hdtor_mini_md_cu.png index 6ea1f4a..5caeed5 100644 Binary files a/gui/resources/images/hdtor_mini_md_cu.png and b/gui/resources/images/hdtor_mini_md_cu.png differ diff --git a/gui/resources/images/hdtor_mini_nl_li.png b/gui/resources/images/hdtor_mini_nl_li.png index e6f32af..f175831 100644 Binary files a/gui/resources/images/hdtor_mini_nl_li.png and b/gui/resources/images/hdtor_mini_nl_li.png differ diff --git a/gui/resources/images/hdtor_mini_us_oh.png b/gui/resources/images/hdtor_mini_us_oh.png index 0975c17..ce34dfd 100644 Binary files a/gui/resources/images/hdtor_mini_us_oh.png and b/gui/resources/images/hdtor_mini_us_oh.png differ diff --git a/gui/resources/images/hdtor_my_14.png b/gui/resources/images/hdtor_my_14.png index 875d06a..1bb6309 100644 Binary files a/gui/resources/images/hdtor_my_14.png and b/gui/resources/images/hdtor_my_14.png differ diff --git a/gui/resources/images/hdtor_nl_li.png b/gui/resources/images/hdtor_nl_li.png index e00814f..73ad548 100644 Binary files a/gui/resources/images/hdtor_nl_li.png and b/gui/resources/images/hdtor_nl_li.png differ diff --git a/gui/resources/images/hdtor_us_oh.png b/gui/resources/images/hdtor_us_oh.png index 8e36ef1..35f5e3e 100644 Binary files a/gui/resources/images/hdtor_us_oh.png and b/gui/resources/images/hdtor_us_oh.png differ diff --git a/gui/resources/images/hdtor_us_wa.png b/gui/resources/images/hdtor_us_wa.png index df2690f..6215653 100644 Binary files a/gui/resources/images/hdtor_us_wa.png and b/gui/resources/images/hdtor_us_wa.png differ diff --git a/gui/resources/images/hidetor.png b/gui/resources/images/hidetor.png index 8d2f770..f1bddf2 100644 Binary files a/gui/resources/images/hidetor.png and b/gui/resources/images/hidetor.png differ diff --git a/gui/resources/images/hidetor_button.png b/gui/resources/images/hidetor_button.png index 6bf6274..894ecd3 100644 Binary files a/gui/resources/images/hidetor_button.png and b/gui/resources/images/hidetor_button.png differ diff --git a/gui/resources/images/hong kong garaje.png b/gui/resources/images/hong kong garaje.png index bbecc48..763b913 100644 Binary files a/gui/resources/images/hong kong garaje.png and b/gui/resources/images/hong kong garaje.png differ diff --git a/gui/resources/images/hong kong_button.png b/gui/resources/images/hong kong_button.png index f060abb..85a69db 100644 Binary files a/gui/resources/images/hong kong_button.png and b/gui/resources/images/hong kong_button.png differ diff --git a/gui/resources/images/hong kong_mini.png b/gui/resources/images/hong kong_mini.png index 5f3154f..c35aca5 100644 Binary files a/gui/resources/images/hong kong_mini.png and b/gui/resources/images/hong kong_mini.png differ diff --git a/gui/resources/images/hv-icon-128x128.png b/gui/resources/images/hv-icon-128x128.png new file mode 100644 index 0000000..e80b4f8 Binary files /dev/null and b/gui/resources/images/hv-icon-128x128.png differ diff --git a/gui/resources/images/hv-icon-16x16.png b/gui/resources/images/hv-icon-16x16.png new file mode 100644 index 0000000..32b00e1 Binary files /dev/null and b/gui/resources/images/hv-icon-16x16.png differ diff --git a/gui/resources/images/hv-icon-22x22.png b/gui/resources/images/hv-icon-22x22.png new file mode 100644 index 0000000..12c6d05 Binary files /dev/null and b/gui/resources/images/hv-icon-22x22.png differ diff --git a/gui/resources/images/hv-icon-24x24.png b/gui/resources/images/hv-icon-24x24.png new file mode 100644 index 0000000..d0dcd80 Binary files /dev/null and b/gui/resources/images/hv-icon-24x24.png differ diff --git a/gui/resources/images/hv-icon-256x256.png b/gui/resources/images/hv-icon-256x256.png new file mode 100644 index 0000000..750283b Binary files /dev/null and b/gui/resources/images/hv-icon-256x256.png differ diff --git a/gui/resources/images/hv-icon-32x32.png b/gui/resources/images/hv-icon-32x32.png new file mode 100644 index 0000000..b6c6818 Binary files /dev/null and b/gui/resources/images/hv-icon-32x32.png differ diff --git a/gui/resources/images/hv-icon-48x48.png b/gui/resources/images/hv-icon-48x48.png new file mode 100644 index 0000000..c834d8a Binary files /dev/null and b/gui/resources/images/hv-icon-48x48.png differ diff --git a/gui/resources/images/hv-icon-64x64.png b/gui/resources/images/hv-icon-64x64.png new file mode 100644 index 0000000..2543b82 Binary files /dev/null and b/gui/resources/images/hv-icon-64x64.png differ diff --git a/gui/resources/images/icon-linux.png b/gui/resources/images/icon-linux.png index 5a92094..7cca354 100644 Binary files a/gui/resources/images/icon-linux.png and b/gui/resources/images/icon-linux.png differ diff --git a/gui/resources/images/icon_ch_zh.png b/gui/resources/images/icon_ch_zh.png index 178ea41..5bdc0da 100644 Binary files a/gui/resources/images/icon_ch_zh.png and b/gui/resources/images/icon_ch_zh.png differ diff --git a/gui/resources/images/icon_fi_01.png b/gui/resources/images/icon_fi_01.png index 9c95d78..bc30389 100644 Binary files a/gui/resources/images/icon_fi_01.png and b/gui/resources/images/icon_fi_01.png differ diff --git a/gui/resources/images/icon_is_1.png b/gui/resources/images/icon_is_1.png index d638f3b..62b0489 100644 Binary files a/gui/resources/images/icon_is_1.png and b/gui/resources/images/icon_is_1.png differ diff --git a/gui/resources/images/icon_md_cu.png b/gui/resources/images/icon_md_cu.png index e103356..1f71585 100644 Binary files a/gui/resources/images/icon_md_cu.png and b/gui/resources/images/icon_md_cu.png differ diff --git a/gui/resources/images/icon_mini_ch_zh.png b/gui/resources/images/icon_mini_ch_zh.png index 90bc5ca..bcff992 100644 Binary files a/gui/resources/images/icon_mini_ch_zh.png and b/gui/resources/images/icon_mini_ch_zh.png differ diff --git a/gui/resources/images/icon_mini_fi_01.png b/gui/resources/images/icon_mini_fi_01.png index 6ff3e39..8fb9ec5 100644 Binary files a/gui/resources/images/icon_mini_fi_01.png and b/gui/resources/images/icon_mini_fi_01.png differ diff --git a/gui/resources/images/icon_mini_is_1.png b/gui/resources/images/icon_mini_is_1.png index bb020fe..6844d37 100644 Binary files a/gui/resources/images/icon_mini_is_1.png and b/gui/resources/images/icon_mini_is_1.png differ diff --git a/gui/resources/images/icon_mini_md_cu.png b/gui/resources/images/icon_mini_md_cu.png index f32a01c..7d4b08d 100644 Binary files a/gui/resources/images/icon_mini_md_cu.png and b/gui/resources/images/icon_mini_md_cu.png differ diff --git a/gui/resources/images/icon_mini_my_14.png b/gui/resources/images/icon_mini_my_14.png index 26f78a7..2363328 100644 Binary files a/gui/resources/images/icon_mini_my_14.png and b/gui/resources/images/icon_mini_my_14.png differ diff --git a/gui/resources/images/icon_mini_nl_li.png b/gui/resources/images/icon_mini_nl_li.png index 6639452..703f96e 100644 Binary files a/gui/resources/images/icon_mini_nl_li.png and b/gui/resources/images/icon_mini_nl_li.png differ diff --git a/gui/resources/images/icon_mini_us_oh.png b/gui/resources/images/icon_mini_us_oh.png index 69d6a59..8eedeb0 100644 Binary files a/gui/resources/images/icon_mini_us_oh.png and b/gui/resources/images/icon_mini_us_oh.png differ diff --git a/gui/resources/images/icon_mini_us_wa.png b/gui/resources/images/icon_mini_us_wa.png index 2fa38d8..1bee18f 100644 Binary files a/gui/resources/images/icon_mini_us_wa.png and b/gui/resources/images/icon_mini_us_wa.png differ diff --git a/gui/resources/images/icon_my_14.png b/gui/resources/images/icon_my_14.png index 89a11b9..b227452 100644 Binary files a/gui/resources/images/icon_my_14.png and b/gui/resources/images/icon_my_14.png differ diff --git a/gui/resources/images/icon_nl_li.png b/gui/resources/images/icon_nl_li.png index 79392a1..752499c 100644 Binary files a/gui/resources/images/icon_nl_li.png and b/gui/resources/images/icon_nl_li.png differ diff --git a/gui/resources/images/icon_sync.png b/gui/resources/images/icon_sync.png new file mode 100644 index 0000000..7160cb1 Binary files /dev/null and b/gui/resources/images/icon_sync.png differ diff --git a/gui/resources/images/icon_sync_urgent.png b/gui/resources/images/icon_sync_urgent.png new file mode 100644 index 0000000..7c8bcbb Binary files /dev/null and b/gui/resources/images/icon_sync_urgent.png differ diff --git a/gui/resources/images/icon_us_oh.png b/gui/resources/images/icon_us_oh.png index 5ee1489..9921604 100644 Binary files a/gui/resources/images/icon_us_oh.png and b/gui/resources/images/icon_us_oh.png differ diff --git a/gui/resources/images/icon_us_wa.png b/gui/resources/images/icon_us_wa.png index 1852035..61c7f9f 100644 Binary files a/gui/resources/images/icon_us_wa.png and b/gui/resources/images/icon_us_wa.png differ diff --git a/gui/resources/images/install.png b/gui/resources/images/install.png index f813a66..5386d96 100644 Binary files a/gui/resources/images/install.png and b/gui/resources/images/install.png differ diff --git a/gui/resources/images/just proxy_button.png b/gui/resources/images/just proxy_button.png index 31f99c3..ca53fa0 100644 Binary files a/gui/resources/images/just proxy_button.png and b/gui/resources/images/just proxy_button.png differ diff --git a/gui/resources/images/just proxy_mini.png b/gui/resources/images/just proxy_mini.png index ef3291a..cce5092 100644 Binary files a/gui/resources/images/just proxy_mini.png and b/gui/resources/images/just proxy_mini.png differ diff --git a/gui/resources/images/just.png b/gui/resources/images/just.png index 53ead26..9bf23e2 100644 Binary files a/gui/resources/images/just.png and b/gui/resources/images/just.png differ diff --git a/gui/resources/images/just_session.png b/gui/resources/images/just_session.png index 85a957d..1ff623e 100644 Binary files a/gui/resources/images/just_session.png and b/gui/resources/images/just_session.png differ diff --git a/gui/resources/images/launch.png b/gui/resources/images/launch.png index c62420a..8f75af7 100644 Binary files a/gui/resources/images/launch.png and b/gui/resources/images/launch.png differ diff --git a/gui/resources/images/left.png b/gui/resources/images/left.png index 8d11718..194e214 100644 Binary files a/gui/resources/images/left.png and b/gui/resources/images/left.png differ diff --git a/gui/resources/images/librewolf latest_mini.png b/gui/resources/images/librewolf latest_mini.png index eb69a8a..d32c216 100644 Binary files a/gui/resources/images/librewolf latest_mini.png and b/gui/resources/images/librewolf latest_mini.png differ diff --git a/gui/resources/images/librewolf_button.png b/gui/resources/images/librewolf_button.png index bcb9d25..959506c 100644 Binary files a/gui/resources/images/librewolf_button.png and b/gui/resources/images/librewolf_button.png differ diff --git a/gui/resources/images/librewolf_icon.png b/gui/resources/images/librewolf_icon.png index ff93c01..1c36c47 100644 Binary files a/gui/resources/images/librewolf_icon.png and b/gui/resources/images/librewolf_icon.png differ diff --git a/gui/resources/images/lightnering.png b/gui/resources/images/lightnering.png index fcd0021..f522ce8 100644 Binary files a/gui/resources/images/lightnering.png and b/gui/resources/images/lightnering.png differ diff --git a/gui/resources/images/linux.png b/gui/resources/images/linux.png index c6d58b2..0e1d54a 100644 Binary files a/gui/resources/images/linux.png and b/gui/resources/images/linux.png differ diff --git a/gui/resources/images/litecoin.png b/gui/resources/images/litecoin.png index 5772422..2240efa 100644 Binary files a/gui/resources/images/litecoin.png and b/gui/resources/images/litecoin.png differ diff --git a/gui/resources/images/lnew york.png b/gui/resources/images/lnew york.png index bca8d73..fd1b4e6 100644 Binary files a/gui/resources/images/lnew york.png and b/gui/resources/images/lnew york.png differ diff --git a/gui/resources/images/lokinet finland.png b/gui/resources/images/lokinet finland.png deleted file mode 100644 index ed8472d..0000000 Binary files a/gui/resources/images/lokinet finland.png and /dev/null differ diff --git a/gui/resources/images/lokinet los angeles.png b/gui/resources/images/lokinet los angeles.png deleted file mode 100644 index 44b5c16..0000000 Binary files a/gui/resources/images/lokinet los angeles.png and /dev/null differ diff --git a/gui/resources/images/lokinet malaysia.png b/gui/resources/images/lokinet malaysia.png deleted file mode 100644 index 06b139a..0000000 Binary files a/gui/resources/images/lokinet malaysia.png and /dev/null differ diff --git a/gui/resources/images/lokinet new york.png b/gui/resources/images/lokinet new york.png deleted file mode 100644 index e3e806d..0000000 Binary files a/gui/resources/images/lokinet new york.png and /dev/null differ diff --git a/gui/resources/images/lokinet rumania.png b/gui/resources/images/lokinet rumania.png deleted file mode 100644 index 9a3a64e..0000000 Binary files a/gui/resources/images/lokinet rumania.png and /dev/null differ diff --git a/gui/resources/images/lokinet switzerland.png b/gui/resources/images/lokinet switzerland.png deleted file mode 100644 index 13c7861..0000000 Binary files a/gui/resources/images/lokinet switzerland.png and /dev/null differ diff --git a/gui/resources/images/lokinet.png b/gui/resources/images/lokinet.png deleted file mode 100644 index 352cddf..0000000 Binary files a/gui/resources/images/lokinet.png and /dev/null differ diff --git a/gui/resources/images/lokinet_button.png b/gui/resources/images/lokinet_button.png deleted file mode 100644 index 09baac4..0000000 Binary files a/gui/resources/images/lokinet_button.png and /dev/null differ diff --git a/gui/resources/images/lokinet_mini.png b/gui/resources/images/lokinet_mini.png deleted file mode 100644 index 64a9ede..0000000 Binary files a/gui/resources/images/lokinet_mini.png and /dev/null differ diff --git a/gui/resources/images/los angeles.png b/gui/resources/images/los angeles.png index 4594a25..4f73477 100644 Binary files a/gui/resources/images/los angeles.png and b/gui/resources/images/los angeles.png differ diff --git a/gui/resources/images/los angeles_button.png b/gui/resources/images/los angeles_button.png index 260c997..3eab4a4 100644 Binary files a/gui/resources/images/los angeles_button.png and b/gui/resources/images/los angeles_button.png differ diff --git a/gui/resources/images/los angeles_mini.png b/gui/resources/images/los angeles_mini.png index ba437ff..2ff6da5 100644 Binary files a/gui/resources/images/los angeles_mini.png and b/gui/resources/images/los angeles_mini.png differ diff --git a/gui/resources/images/marco_miniatura.png b/gui/resources/images/marco_miniatura.png index 478cd9c..044450d 100644 Binary files a/gui/resources/images/marco_miniatura.png and b/gui/resources/images/marco_miniatura.png differ diff --git a/gui/resources/images/monero.png b/gui/resources/images/monero.png index 8fba8ea..7a49c84 100644 Binary files a/gui/resources/images/monero.png and b/gui/resources/images/monero.png differ diff --git a/gui/resources/images/new york.png b/gui/resources/images/new york.png index bca8d73..fd1b4e6 100644 Binary files a/gui/resources/images/new york.png and b/gui/resources/images/new york.png differ diff --git a/gui/resources/images/new york_button.png b/gui/resources/images/new york_button.png index 03062ad..fabb46e 100644 Binary files a/gui/resources/images/new york_button.png and b/gui/resources/images/new york_button.png differ diff --git a/gui/resources/images/new york_mini.png b/gui/resources/images/new york_mini.png index dc9dd66..50b2edf 100644 Binary files a/gui/resources/images/new york_mini.png and b/gui/resources/images/new york_mini.png differ diff --git a/gui/resources/images/new_id.png b/gui/resources/images/new_id.png index b728bb8..1397ab7 100644 Binary files a/gui/resources/images/new_id.png and b/gui/resources/images/new_id.png differ diff --git a/gui/resources/images/new_york.png b/gui/resources/images/new_york.png index cf5e9c9..5a63845 100644 Binary files a/gui/resources/images/new_york.png and b/gui/resources/images/new_york.png differ diff --git a/gui/resources/images/next.png b/gui/resources/images/next.png index 324141b..8e73409 100644 Binary files a/gui/resources/images/next.png and b/gui/resources/images/next.png differ diff --git a/gui/resources/images/noe.png b/gui/resources/images/noe.png index 2a1a6d7..ca4c9c3 100644 Binary files a/gui/resources/images/noe.png and b/gui/resources/images/noe.png differ diff --git a/gui/resources/images/off.png b/gui/resources/images/off.png index 06b00c1..623c5db 100644 Binary files a/gui/resources/images/off.png and b/gui/resources/images/off.png differ diff --git a/gui/resources/images/ohio.png b/gui/resources/images/ohio.png index 8e36ef1..35f5e3e 100644 Binary files a/gui/resources/images/ohio.png and b/gui/resources/images/ohio.png differ diff --git a/gui/resources/images/on.png b/gui/resources/images/on.png index b7e9eb3..703d42b 100644 Binary files a/gui/resources/images/on.png and b/gui/resources/images/on.png differ diff --git a/gui/resources/images/open finland.png b/gui/resources/images/open finland.png deleted file mode 100644 index 8712591..0000000 Binary files a/gui/resources/images/open finland.png and /dev/null differ diff --git a/gui/resources/images/open los angeles.png b/gui/resources/images/open los angeles.png deleted file mode 100644 index cf01548..0000000 Binary files a/gui/resources/images/open los angeles.png and /dev/null differ diff --git a/gui/resources/images/open malaysia.png b/gui/resources/images/open malaysia.png deleted file mode 100644 index 68442c1..0000000 Binary files a/gui/resources/images/open malaysia.png and /dev/null differ diff --git a/gui/resources/images/open new york.png b/gui/resources/images/open new york.png deleted file mode 100644 index bca3984..0000000 Binary files a/gui/resources/images/open new york.png and /dev/null differ diff --git a/gui/resources/images/open rumania.png b/gui/resources/images/open rumania.png deleted file mode 100644 index c802142..0000000 Binary files a/gui/resources/images/open rumania.png and /dev/null differ diff --git a/gui/resources/images/open switzerland.png b/gui/resources/images/open switzerland.png deleted file mode 100644 index 5d60585..0000000 Binary files a/gui/resources/images/open switzerland.png and /dev/null differ diff --git a/gui/resources/images/open.png b/gui/resources/images/open.png deleted file mode 100644 index dbdf5ff..0000000 Binary files a/gui/resources/images/open.png and /dev/null differ diff --git a/gui/resources/images/open_button.png b/gui/resources/images/open_button.png deleted file mode 100644 index f82394a..0000000 Binary files a/gui/resources/images/open_button.png and /dev/null differ diff --git a/gui/resources/images/open_mini.png b/gui/resources/images/open_mini.png deleted file mode 100644 index e86da88..0000000 Binary files a/gui/resources/images/open_mini.png and /dev/null differ diff --git a/gui/resources/images/original.png b/gui/resources/images/original.png index fdfbfbd..f1882dd 100644 Binary files a/gui/resources/images/original.png and b/gui/resources/images/original.png differ diff --git a/gui/resources/images/paste_button.png b/gui/resources/images/paste_button.png index 02b93f3..5068b1f 100644 Binary files a/gui/resources/images/paste_button.png and b/gui/resources/images/paste_button.png differ diff --git a/gui/resources/images/port.png b/gui/resources/images/port.png index c5c2282..4f1cec7 100644 Binary files a/gui/resources/images/port.png and b/gui/resources/images/port.png differ diff --git a/gui/resources/images/port2.png b/gui/resources/images/port2.png index 4ff83f2..185ad91 100644 Binary files a/gui/resources/images/port2.png and b/gui/resources/images/port2.png differ diff --git a/gui/resources/images/r.png b/gui/resources/images/r.png index a0d2c16..f299278 100644 Binary files a/gui/resources/images/r.png and b/gui/resources/images/r.png differ diff --git a/gui/resources/images/r1.png b/gui/resources/images/r1.png index b8cc5b9..52944b9 100644 Binary files a/gui/resources/images/r1.png and b/gui/resources/images/r1.png differ diff --git a/gui/resources/images/r2.png b/gui/resources/images/r2.png index 70951eb..61a9fdd 100644 Binary files a/gui/resources/images/r2.png and b/gui/resources/images/r2.png differ diff --git a/gui/resources/images/r4.png b/gui/resources/images/r4.png index ef7f6f5..865da2c 100644 Binary files a/gui/resources/images/r4.png and b/gui/resources/images/r4.png differ diff --git a/gui/resources/images/rb_off.png b/gui/resources/images/rb_off.png index 2642d04..7397c26 100644 Binary files a/gui/resources/images/rb_off.png and b/gui/resources/images/rb_off.png differ diff --git a/gui/resources/images/rb_on.png b/gui/resources/images/rb_on.png index 27b22b5..2c63c8e 100644 Binary files a/gui/resources/images/rb_on.png and b/gui/resources/images/rb_on.png differ diff --git a/gui/resources/images/residential tor_mini.png b/gui/resources/images/residential tor_mini.png index 2cd719c..330a302 100644 Binary files a/gui/resources/images/residential tor_mini.png and b/gui/resources/images/residential tor_mini.png differ diff --git a/gui/resources/images/residential.png b/gui/resources/images/residential.png index dcaa957..71969fc 100644 Binary files a/gui/resources/images/residential.png and b/gui/resources/images/residential.png differ diff --git a/gui/resources/images/residential_button.png b/gui/resources/images/residential_button.png index 71aa544..379d15c 100644 Binary files a/gui/resources/images/residential_button.png and b/gui/resources/images/residential_button.png differ diff --git a/gui/resources/images/residential_mini.png b/gui/resources/images/residential_mini.png index ef63696..05c3029 100644 Binary files a/gui/resources/images/residential_mini.png and b/gui/resources/images/residential_mini.png differ diff --git a/gui/resources/images/right.png b/gui/resources/images/right.png index f86654a..5f8cf50 100644 Binary files a/gui/resources/images/right.png and b/gui/resources/images/right.png differ diff --git a/gui/resources/images/rp.png b/gui/resources/images/rp.png index 77a1f38..f92faaf 100644 Binary files a/gui/resources/images/rp.png and b/gui/resources/images/rp.png differ diff --git a/gui/resources/images/rp_off.png b/gui/resources/images/rp_off.png index 3eeb9e5..f9cfc92 100644 Binary files a/gui/resources/images/rp_off.png and b/gui/resources/images/rp_off.png differ diff --git a/gui/resources/images/rp_on.png b/gui/resources/images/rp_on.png index 218890b..e7cd606 100644 Binary files a/gui/resources/images/rp_on.png and b/gui/resources/images/rp_on.png differ diff --git a/gui/resources/images/rr1.png b/gui/resources/images/rr1.png index 62da18a..323399e 100644 Binary files a/gui/resources/images/rr1.png and b/gui/resources/images/rr1.png differ diff --git a/gui/resources/images/rr2.png b/gui/resources/images/rr2.png index 5749341..859c40f 100644 Binary files a/gui/resources/images/rr2.png and b/gui/resources/images/rr2.png differ diff --git a/gui/resources/images/rr3.png b/gui/resources/images/rr3.png index a3dcc26..2d46ca1 100644 Binary files a/gui/resources/images/rr3.png and b/gui/resources/images/rr3.png differ diff --git a/gui/resources/images/russia.png b/gui/resources/images/russia.png index b96d7d7..a4aad08 100644 Binary files a/gui/resources/images/russia.png and b/gui/resources/images/russia.png differ diff --git a/gui/resources/images/save.png b/gui/resources/images/save.png index 5d0a562..147f551 100644 Binary files a/gui/resources/images/save.png and b/gui/resources/images/save.png differ diff --git a/gui/resources/images/sett.png b/gui/resources/images/sett.png index 58c08cb..aab06ad 100644 Binary files a/gui/resources/images/sett.png and b/gui/resources/images/sett.png differ diff --git a/gui/resources/images/settings.png b/gui/resources/images/settings.png index dcd3776..8fddbf3 100644 Binary files a/gui/resources/images/settings.png and b/gui/resources/images/settings.png differ diff --git a/gui/resources/images/settings_icon.png b/gui/resources/images/settings_icon.png index 4460507..67faad6 100644 Binary files a/gui/resources/images/settings_icon.png and b/gui/resources/images/settings_icon.png differ diff --git a/gui/resources/images/sweetzerland.png b/gui/resources/images/sweetzerland.png index 4dcac22..a025d16 100644 Binary files a/gui/resources/images/sweetzerland.png and b/gui/resources/images/sweetzerland.png differ diff --git a/gui/resources/images/sync_button.png b/gui/resources/images/sync_button.png index 012ac2c..cb0a897 100644 Binary files a/gui/resources/images/sync_button.png and b/gui/resources/images/sync_button.png differ diff --git a/gui/resources/images/system-wide.png b/gui/resources/images/system-wide.png index a47f933..3f28256 100644 Binary files a/gui/resources/images/system-wide.png and b/gui/resources/images/system-wide.png differ diff --git a/gui/resources/images/system-wide_button.png b/gui/resources/images/system-wide_button.png index a47f933..3f28256 100644 Binary files a/gui/resources/images/system-wide_button.png and b/gui/resources/images/system-wide_button.png differ diff --git a/gui/resources/images/system_wide_global.png b/gui/resources/images/system_wide_global.png index 6bd63b4..22567ca 100644 Binary files a/gui/resources/images/system_wide_global.png and b/gui/resources/images/system_wide_global.png differ diff --git a/gui/resources/images/tapa_miniatura.png b/gui/resources/images/tapa_miniatura.png index c272654..98ffe84 100644 Binary files a/gui/resources/images/tapa_miniatura.png and b/gui/resources/images/tapa_miniatura.png differ diff --git a/gui/resources/images/tor 86x130.png b/gui/resources/images/tor 86x130.png index a47645a..b586cf2 100644 Binary files a/gui/resources/images/tor 86x130.png and b/gui/resources/images/tor 86x130.png differ diff --git a/gui/resources/images/tor_button.png b/gui/resources/images/tor_button.png index a066503..062df29 100644 Binary files a/gui/resources/images/tor_button.png and b/gui/resources/images/tor_button.png differ diff --git a/gui/resources/images/tor_sync.png b/gui/resources/images/tor_sync.png index 91eea46..b3da423 100644 Binary files a/gui/resources/images/tor_sync.png and b/gui/resources/images/tor_sync.png differ diff --git a/gui/resources/images/torgrande.png b/gui/resources/images/torgrande.png index edfdfa1..376afb9 100644 Binary files a/gui/resources/images/torgrande.png and b/gui/resources/images/torgrande.png differ diff --git a/gui/resources/images/toricon_mini.png b/gui/resources/images/toricon_mini.png index c9dbc34..f145de8 100644 Binary files a/gui/resources/images/toricon_mini.png and b/gui/resources/images/toricon_mini.png differ diff --git a/gui/resources/images/toricon_mini_false.png b/gui/resources/images/toricon_mini_false.png index eb3e9fa..d2dfed8 100644 Binary files a/gui/resources/images/toricon_mini_false.png and b/gui/resources/images/toricon_mini_false.png differ diff --git a/gui/resources/images/torx.png b/gui/resources/images/torx.png index 22ae170..9238ff1 100644 Binary files a/gui/resources/images/torx.png and b/gui/resources/images/torx.png differ diff --git a/gui/resources/images/united kingdom garaje.png b/gui/resources/images/united kingdom garaje.png index 9077087..7670fa1 100644 Binary files a/gui/resources/images/united kingdom garaje.png and b/gui/resources/images/united kingdom garaje.png differ diff --git a/gui/resources/images/united kingdom_button.png b/gui/resources/images/united kingdom_button.png index a7f39de..981ad52 100644 Binary files a/gui/resources/images/united kingdom_button.png and b/gui/resources/images/united kingdom_button.png differ diff --git a/gui/resources/images/united kingdom_mini.png b/gui/resources/images/united kingdom_mini.png index 4a6cd1b..6e05266 100644 Binary files a/gui/resources/images/united kingdom_mini.png and b/gui/resources/images/united kingdom_mini.png differ diff --git a/gui/resources/images/windows.png b/gui/resources/images/windows.png index fc0a860..7fa34a3 100644 Binary files a/gui/resources/images/windows.png and b/gui/resources/images/windows.png differ diff --git a/gui/resources/images/windowsx.png b/gui/resources/images/windowsx.png index 17ee105..0c4ede6 100644 Binary files a/gui/resources/images/windowsx.png and b/gui/resources/images/windowsx.png differ diff --git a/gui/resources/images/wireguard.png b/gui/resources/images/wireguard.png index 63fd9ee..5108f56 100644 Binary files a/gui/resources/images/wireguard.png and b/gui/resources/images/wireguard.png differ diff --git a/gui/resources/images/wireguard_browser.png b/gui/resources/images/wireguard_browser.png index 43feb16..e5e47b5 100644 Binary files a/gui/resources/images/wireguard_browser.png and b/gui/resources/images/wireguard_browser.png differ diff --git a/gui/resources/images/wireguard_button.png b/gui/resources/images/wireguard_button.png index 6f35a6a..3b1d7d2 100644 Binary files a/gui/resources/images/wireguard_button.png and b/gui/resources/images/wireguard_button.png differ diff --git a/gui/resources/images/wireguard_ch_zh.png b/gui/resources/images/wireguard_ch_zh.png index bc00bfa..010ecc2 100644 Binary files a/gui/resources/images/wireguard_ch_zh.png and b/gui/resources/images/wireguard_ch_zh.png differ diff --git a/gui/resources/images/wireguard_fi_01.png b/gui/resources/images/wireguard_fi_01.png index 9ffd8cf..31d3930 100644 Binary files a/gui/resources/images/wireguard_fi_01.png and b/gui/resources/images/wireguard_fi_01.png differ diff --git a/gui/resources/images/wireguard_is_1.png b/gui/resources/images/wireguard_is_1.png index 27c248f..e934cc3 100644 Binary files a/gui/resources/images/wireguard_is_1.png and b/gui/resources/images/wireguard_is_1.png differ diff --git a/gui/resources/images/wireguard_md_cu.png b/gui/resources/images/wireguard_md_cu.png index faa7864..e372b03 100644 Binary files a/gui/resources/images/wireguard_md_cu.png and b/gui/resources/images/wireguard_md_cu.png differ diff --git a/gui/resources/images/wireguard_mini.png b/gui/resources/images/wireguard_mini.png index 629255b..78284a3 100644 Binary files a/gui/resources/images/wireguard_mini.png and b/gui/resources/images/wireguard_mini.png differ diff --git a/gui/resources/images/wireguard_my_14.png b/gui/resources/images/wireguard_my_14.png index 7c78367..91d5a6e 100644 Binary files a/gui/resources/images/wireguard_my_14.png and b/gui/resources/images/wireguard_my_14.png differ diff --git a/gui/resources/images/wireguard_nl_li.png b/gui/resources/images/wireguard_nl_li.png index 2ea9dce..f72a207 100644 Binary files a/gui/resources/images/wireguard_nl_li.png and b/gui/resources/images/wireguard_nl_li.png differ diff --git a/gui/resources/images/wireguard_system_wide.png b/gui/resources/images/wireguard_system_wide.png index 35e4e09..b9c5f50 100644 Binary files a/gui/resources/images/wireguard_system_wide.png and b/gui/resources/images/wireguard_system_wide.png differ diff --git a/gui/resources/images/wireguard_us_oh.png b/gui/resources/images/wireguard_us_oh.png index 055d273..9f3aaad 100644 Binary files a/gui/resources/images/wireguard_us_oh.png and b/gui/resources/images/wireguard_us_oh.png differ diff --git a/gui/resources/images/wireguard_us_wa.png b/gui/resources/images/wireguard_us_wa.png index 2b0dda9..1aaa043 100644 Binary files a/gui/resources/images/wireguard_us_wa.png and b/gui/resources/images/wireguard_us_wa.png differ diff --git a/gui/resources/styles/.gitkeep b/gui/resources/styles/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/gui/resources/styles/look.css b/gui/resources/styles/look.css index 092a7b9..53f1ed8 100644 --- a/gui/resources/styles/look.css +++ b/gui/resources/styles/look.css @@ -11,6 +11,12 @@ QLineEdit { font-size: 18px; color: rgb(0, 255, 255); } + +QLineEdit:focus { + border: none; + outline: none; +} + QTextEdit { background-color:transparent; font-family: Retro Gaming;