Logo

Aplicación de escritorio para Windows, visualizar y modificar configuraciones de puertos de red.

NetPort Configurator

Aplicación de escritorio para Windows, desarrollada con Tauri y HTML/CSS/JavaScript, diseñada para visualizar y modificar configuraciones de puertos de red de manera sencilla a través de una interfaz gráfica.

Esta herramienta permite a los administradores y técnicos de redes cambiar rápidamente parámetros clave como:

Incluye scripts PowerShell integrados que se ejecutan con permisos elevados para realizar las configuraciones directamente en el sistema.


Características


Requisitos previos

Antes de ejecutar o compilar el proyecto, asegúrate de tener instalado:

Requisito Versión recomendada Notas
Node.js LTS (>= 16) Necesario para gestionar dependencias y scripts.
Rust >= 1.70 Requerido por Tauri para compilar.
Tauri CLI v2.x Instalar con npm install -g @tauri-apps/cli o npx.
Windows 10/11 - Optimizado para este sistema.

Instalación para desarrollo

  1. Clonar el repositorio

    git clone https://github.com/usuario/netport-configurator.git cd netport-configurator

  2. Instalar Dependencias

    npm install

  3. Ejecutar modo desarrollo

    npm run tauiri dev


Modificar Iconos de la Aplicacion

La aplicacion de tauri por defecto ya trae iconos, para ocupar iconos personalizados:

  1. Descargar una imagen .ico

  2. Pagina de donde saque el icono de mi aplicacion: icon-icons.com.

  3. Ocupar el comando:

    npm run tauri icon –source ./src-tauri/icons/nombre_archivo.ico

Este comando selecciona una imagen.ico personalizada que se haya descargado o creado, crea varias versiones del icono en distintos tamaños para utilizarlos en la aplicacion, genera un archivo .icns y carpetas con iconos para android y ios.

```markdown

  1. Una vez generados los iconos que se utilizaran se debe de modificar el archivo tuari.conf.json

     {
         "bundle": {
             "icon": [
             "icons/32x32.png",
             "icons/128x128.png",
             "icons/128x128@2x.png",
             "icons/icon.icns",
             "icons/icon.ico"
             ]
         }
     }
    
  2. Se recomienda que la salida coincida al menos con tauri icon: 32x32.png , 128x128.png , 128x128@2x.png y icon.png. .

  3. En caso de crear uno mismo los iconos consultar documentacion de Tauri: Creando iconos manualmente.


Recomendaciones de uso

  1. Ejecucion con permisos elevados

Ejemplos:

  1. runas /noprofile /user:mymachine\NameUser /savedcred "ruta_mi_archivo.exe"
    
  2. runas /noprofile /user:mydomain\NameUser /savedcred "ruta_mi_archivo.exe"
    
  1. Funciones disponibles en la interfaz

Compilación para distribución

Generar ejecutable para Windows:

npm run tauri build

Compilacion cruzada

cargo-xwin.exe rustc --target x86_64-pc-windows-msvc

Este comando realiza una compilación cruzada de un proyecto Rust para el x86_64-pc-windows-msvc

El archivo resultante estara en:

/src-tauri/target/release/bundle

Dentro de la carpeta bundle estaran dos carpetas:

Para compilar si esta utilizando Linux o Mac, seguir la documentación oficial de Tauri.


Instaladores

Los instaladores generados despues de realizar el empaquetamiento tienen un diseño y caracteristicas por defecto, para realizar personalizar estos instaladores se requeiere modificar el archivo tauri.conf.json del proyecto.

"windows": {
"allowDowngrades": true,
"certificateThumbprint": null,
"digestAlgorithm": null,
"nsis":{
    "sidebarImage": "icons/DialogImagePath.bmp",
    "installMode": "perMachine",
    "languages": ["spanish"],
    "startMenuFolder": "NetPort-app",
    "installerIcon": "icons/icon.ico"
},
"signCommand": null,
"timestampUrl": null,
"tsp": false,
"webviewInstallMode": {
    "silent": true,
    "type": "embedBootstrapper"
},
"wix": {
    "language": "es-ES",
    "bannerPath": "icons/bannerPath.png",
    "dialogImagePath": "icons/DialogImagePath.png"
    }
}

Agregar esto en el "bundle" , una vez agregado en caso de mostrar errores revisar la estrucuturacion del archivo tauri.conf.json ya que esto puede generar errores y que no reconozca algunas propiedades. Para modificar el instalador .exe modificar el apartado de nsis y para modificar el instalador .msi modificar el apartado de wix.

Estas son solo algunas de las propiedades que se pueden ocupar.


Notas sobre la aplicacion.

  1. Rutas a archivos externos.

    • Se recomienda que al declarara la ruta del archivo que se manda a llamar en el lib.rs sean declaradas de la siguiente manera:

        let script_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../ruta_del_archivo");
      
    • Ya que al empaquetar el proyecto la aplicacion al ejecutar esa funcion buscara el archivo en la ruta en que se especifico y sino la encuentra mostrara error (Esto solo si el instalador crea los archivos junto el aplicativo).

  2. Permisos elevados.

    • Se recomienda instalar la aplicacion en el disco: C:\ para evitar errores al querer ejecutarla con el usuario administrador estando en otro usuario que no tenga estos privilegios.

    • La aplicacion utiliza scripts de Powershell que requieren permisos de Administrador.

    • Para evitar que se soliciten credenciales cada vez que se utilice la aplicacion, se recomienda:

      1. creat un acceso directo con runas.
      2. configurar el almacenamiento seguro de credenciales de Windows.
    • Importante: la manipulacion de configuraciones de red puede afectar la conectividad del sistema, Usar con precaucion.

    • Revisar el manual de usuario que brinda NetPort: Manual de Usuario.


Estructura del Proyecto.

├── src/                # Archivos HTML, CSS y JS de la interfaz
├── src-tauri/          # Configuración y código backend de Tauri
│   ├── icons/          # Iconos de la aplicación
│   ├── tauri.conf.json # Configuración principal de Tauri
│   └── ...
├── scripts/            # Scripts PowerShell (.ps1) para cambios de red
├── package.json        # Configuración del proyecto y scripts npm
└── README.md           # Documentación del proyecto

Changelog

Para ver las versiones y cambios, consulta el archivo changelog.md.

Instalador para Windows.