Giter Club home page Giter Club logo

autonetplan's Introduction

Nisamov's GitHub Profile

I'm Nisamov, a passionate Network Services Technician with a focus on Linux systems and web development. I enjoy tinkering with technology and exploring new possibilities in the digital world.

My journey in the realm of technology has been an exciting one. From delving into the intricacies of Linux server administration to crafting elegant web solutions, I've found my niche in the ever-evolving landscape of IT.

Feel free to explore my projects, contributions, and repositories. Let's connect and collaborate to create something amazing!

• About Me |━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

About Me:

As a dedicated professional, I thrive on challenges and constantly seek to expand my horizons. Here are some key areas where I excel:
  • Linux Administration: With hands-on experience in managing Linux servers, I've mastered user and permissions management, security protocols, and system configuration.
  • Web Development: My expertise extends to crafting responsive and dynamic web experiences using technologies such as HTML5, CSS3, and JavaScript. I'm also adept at leveraging web servers like Apache2 and Nginx to deliver seamless online experiences.
  • Scripting and Automation: I'm proficient in Bash scripting, which allows me to automate routine tasks and streamline operations efficiently.
  • Networking: I possess a strong understanding of network fundamentals and protocols, enabling me to troubleshoot and optimize network infrastructures.
  • Windows Server Management: I have also studied the management and usage of Windows Server, including domain control and management configurations.
• Related Activities | Linux, Web Structure, Other |━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Related Activities:

Linux:

My expertise in Linux extends across various domains:

  • User & Groups management: Ensuring secure access and permissions for users and groups.
  • Server Services: Configuring and managing essential server services for optimal performance.
  • Directory and file management: Organizing and securing data efficiently within the Linux filesystem.
  • System Configuration management: Fine-tuning system settings and parameters to meet specific requirements.
  • Security management: Implementing robust security measures to safeguard against threats and vulnerabilities.

Web Structure:

My proficiency in web technologies encompasses:

  • HTML5: Crafting semantic and structured web content for enhanced accessibility and usability.
  • CSS3: Styling web elements to create visually appealing and responsive layouts.
  • JavaScript: Adding interactivity and dynamic functionality to web applications and interfaces.
  • Markdown: Writing clean and readable documentation using Markdown syntax.

Other:

In addition to Linux and web technologies, I also specialize in:

  • Bash: Writing scripts and automating tasks to streamline workflows and enhance productivity.

  • Putty: Leveraging SSH client management for secure remote access and administration.

• Projects | LinuxCommands, LinuxGuide, AutoNetplan...|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Relevant Projects:

Featured projects being worked on, review the most relevant projects in its history.:

  • LinuxCommands: LinuxCommands is a repository where all the knowledge acquired by Nisamov is stored, made public, allowing the reader to learn and understand the operation of the commands, as well as their additional options, it complements LinuxGuide in some aspects.
  • LinuxGuide: LinuxGuide is a repository created to help in the creation of services, it has constant updates and a high description of the processes, this repository aims to help, serve as a guide or support to all those computer technicians who have doubts about the process of use or installation, it complements LinuxCommands in some aspects.
  • AutoNetplan: AutoNetplan is a public repository that helps people to automate the configuration of their Netplan service, offering them several configuration possibilities, serving both Server and Desktop Ubuntu Linux distributions.
  • SSP: SSP (Secure Service Protocol) is a system that allows you to control the services that run on the system, this software being a means of extra security in terms of protecting a computer from actions carried out by unknown services that can violate our system.

Currently Working:

Task Description Version Link Description
Working on SSP - Creating Security System Protocol 0.0.1 SSP The SSP project aims to create a secure protocol that allows manual permission of services on your system. It blocks any unauthorized service from executing, enhancing security by preventing potential viruses and unwanted background services. The system monitors running processes and blocks any new, unauthorized services. It offers advanced users a powerful tool to increase system security.

Contact With Me:

autonetplan's People

Contributors

hncamob avatar nisamov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autonetplan's Issues

Error por salida de código

Describe el error
Error en las lineas
De la línea 296 a la 320

Modelo de reporte
Ubicación del error:

  1. Ir a la/s linea/s '296'/'320' del fichero/s 'autonetplan.sh'.
  2. Explicación: 'Durante la ejecución, intenta extraer datos que no parece reconocer'.
  3. Proceso para llegar al error en la ejecución del programa: 'autonetplan -u'.

Capturas de pantalla
image

Sistema operativo usado durante la ejecución del programa
Sistema operativo: 'ubuntu 22.04 LTS'.

El Sin Sentido del Exit

Describe el error
En el script principal autonetplan.sh, al referenciar un error usas lo siguiente:

# Si se ingresa un valor no valido
        echo "[#] Ingreso de valores no registrados, cancelando..."
        exit 1

Que tipos de salidas tiene el programa, bien puede ser:
exit 0 > Ejecución exitosa
exit 1 > Programa con error de salida desconocida
exit 2 > Programa con salida conocida

Es solo un ejemplo, pero realmente tal como veo el código, hay ciertos puntos que no tienen sentido.

Error Código del Programa, Ejecución y Fallos de Script

Descripción el error
Erro de estructura y posible motivo de la no respuesta con "-ntcd | --netwrokcard"

Modelo de reporte
Ubicación del error:

  1. Ir a la/s linea/s '323' del fichero/s 'autonetplan.sh'.
  2. Explicación: 'Las lineas del resto del programa no me han coincidido con el código, revisar posteriormente.'
  3. Proceso para llegar al error en la ejecución del programa: 'autonetplan -x -a -iface -s -ntcd' (-ntcd no reconocible, a excepción de usar -lnkd).

Capturas de pantalla
Si es posible, adjuntar una captura de pantalla (únicamente mostrando el error)
No se incorporan capturas, pues no es necesario

Sistema operativo usado durante la ejecución del programa
Sistema operativo: 'Ubuntu Server LTS 22.04'.

Posible Solución
(No es una solución oficial, es un ejemplo de estructura a revisar y tener en cuenta.

#!/bin/bash

# Programa de revision de errores por parte del script principal

if [[ $1 == "-x" || $1 == "--execute" ]]; then
    echo "$1 == -x"
else
    echo "$1 != -x"
fi
    if [[ $2 == "-m" || $2 == "--manual" ]]; then
        echo "$2 == -m"
    elif [[ $2 == "-a" || $2 == "--automatic" ]]; then
        # Continuacion del programa (motivo por el cual no va)
        if [[ $3 == "-iface" || $3 == "--interface" ]]; then
            # Preguntar por interfaz de red a usar
            read -p "Ingrese la interfaz de red a usar: " iface
            # Continuacion de programa
            if [[ $4 == "-f" || $3 == "--fluid" ]]; then
                # Configuracion de red por DHCP
                echo "Configuración de red seleccionada con conexion por DHCP"
                # DHCP4 ==  true >> Aplicar cambios en configuracion de red
                ipfigured=true
                # Aplicar directamente la configuracion (posteriormente, comentar las lineas gateway, ip, etc)
                aune-networked
                # Aplicar configuracion de red
                sudo netplan apply
                # Comentar secciones (al ser ip dinamica)
                comment_line_dhcp_true
                # Aplicar cambios al programa netplan meidante la llamada a la funcion netplanapply
                netplanapply           
            elif [[ $4 == "-s" || $4 == "--static" ]]; then
                # Configuracion de red por ip estatica
                echo -e "[\e[33m#\e[0m] La configuracion de red esta establecida de forma estatica"
                # Continuacion de programa
                # Preguntar por ip a almacenar
                read -p "Ingrese la direccion IP a usar: " ipconfigure
                # Preugntar por mascara de red a agregar
                read -p "Ingrese la mascara de red a agregar: " masked
                # Esablecer ipfigured como no >> ip estatica
                ipfigured=no
                # Llamar a funcion aune-networked
                # Sustituir valores
                aune-networked
                # Aviso por gateway4
                echo -e "[\e[33m#\e[0m] Es posbile que si no se ha seleccionado gateway4 como (-lnkd), muestre un aviso de problema en la configuracion, no obstante, no debera preocuparse, pues todo se resuelve automaticamente."
                # Aplicar configuracion de red
                netplanapply
                if [[ $5 == "-lnkd" || $5 == "--linkeddoor" ]]; then
                    # Preguntar por puerta de enlace
                    read -p "Ingrese una puerta de enlace: " linkeddoor
                    # Llamar a funcion aune-networked
                    # Sustituir valores
                    aune-networked
                    # Aplicar red
                    netplanapply
                # Seccion no reconocida por el programa, revision y ajuste de codigo
                elif [[ $5 == "-ntcd" || $5 == "--networkcard" ]]; then
                    # Llamar a la funcion new-network-card
                    new-network-card
                    # Configuracion para otra tarjeta de red (solo de ser necesario)
                    # Si $5 es desigual que -ntcd (para evitar duplicar la tarjeta)
                else
                    # Mensaje por error de valores
                    echo -e "[\e[33m!\e[0m] No se ha ingresado una puerta de enlace o tarjeta de red nueva: '-lnkd', '-ntcd'."
                    # LLamar a funcion comment_line_gateway4 por saltarse -lnkd
                    comment_line_gateway4
                    # Aplicar red
                    netplanapply
                fi
                if [[ $5 != "-ntcd" && $6 == "-ntcd" || $5 != "-ntcd" && $6 == "--networkcard" ]]; then
                    # Agregar mas configuracion para otras tarjetas de red
                    # Preguntar por otra tarjeta de red
                    read -p "¿Deseas configurar una nueva tarjeta de red? [s/n]: " addnwntcd
                    # Llamar a funcion new-network-card
                    new-network-card
                    # Prueba de manejo de valores
                    echo "[#] SUPUESTAMENTE LA FUNCION 'new-network-card' SE HA EJECUTADO"
                else
                    # No ingresa valores en $5
                    echo "[#] No se ha proporcionado informacion en $5 (valor 5)"
                    # Reconoce esta accion al: autonetplan -x -a -iface -s --ntcd
                fi
                # Preguntar si mostrar configuracion de red
                # Llamar a la funcion show_net_configuration
                show_net_configuration
                # Realizar copia de seguridad si en el fichero de configuracion esta indicado como true
                # Revisar en configuracion si autonetplan-automate-update es true o false
                opcionaab=$(grep "^autonetplan-automate-backup" "$program_config" | cut -d "=" -f2)
                # Si es true - realizar copia de seguridad
                if [[ "$opcionaab" == "true" ]]; then
                    # Llamar a la funcion aune-backup
                    echo "[#] La configuracion autonetplan-automate-backup esta configurada como true."
                    aune-backup
                elif [[ "$opcionaab" == "false" ]]; then
                    # No se descargan paquetes
                    echo "[#] La opcion autonetplan-automate-backup esta configurada como false."
                else
                    echo -e "[\e[31m#\e[0m] No se ha detectado ninguna configuracion con el ID autonetplan-automate-backup."
                fi
            else
                # Mensaje por error de valores
                echo -e "[\e[31m#\e[0m] Error de valores ingresados: '-f' o '-s'."
                # Error por ingreso de valores erroneos
                exit 1
            fi
        else
            # Mensaje por error de valores
            echo -e "[\e[31m#\e[0m] Error de valores ingresados: '-iface' o '--interface'."
            # Error por ingreso de valores erroneos
            exit 1
        fi
    else
        echo -e "[\e[31m#\e[0m] No se ha detectado ninguna configuracion con el ID autonetplan-formatted-on-call."
    fi
    else
        # Mensaje por error de valores
        echo -e "[\e[31m#\e[0m] Error de valores ingresados: '-m' o '-a'."
        # Error por ingreso de valores erroneos
        exit 1
    fi
else
    # Mensaje por error de valores
    echo -e "[\e[31m#\e[0m] Error de valores ingresados: '-h', '-r', '-b', '-l', '-m' '-x'."
    # Error por ingreso de valores erroneos
    exit 1
fi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.