Bloqueador de sitios web usando Python

Este es un programa del mundo real que bloquea ciertos sitios web que distraen como Facebook, Youtube, etc. durante sus horas de trabajo.

Acerca del programa: Lo que vamos a hacer en este programa es que pasaremos el enlace de los sitios web que crees que te distraen y el tiempo que estés trabajando en tu computadora y el programa bloqueará esos sitios web.

Arquitectura del programa:

  1. Todos los sistemas tienen un archivo host , ya sea Mac, Windows o Linux.
    Archivo host en Mac y Linux:
    /etc/hosts

    Archivo anfitrión en Windows:

    C:\Windows\System32\drivers\etc
  2. Funcionamiento del archivo de host: Host es un archivo del sistema operativo que asigna nombres de host a direcciones IP. En este programa, asignaremos nombres de host de sitios web a nuestra dirección de host local. Usando la manipulación de manejo de archivos de python, escribiremos el nombre de host en hosts.txt y eliminaremos las líneas después de su horario laboral.

    Archivo anfitrión en Mac:

# Run this script as root
  
import time
from datetime import datetime as dt
  
# change hosts path according to your OS
hosts_path = "/etc/hosts"
# localhost's IP
redirect = "127.0.0.1"
  
# websites That you want to block
website_list = 
["www.facebook.com","facebook.com",
      "dub119.mail.live.com","www.dub119.mail.live.com",
      "www.gmail.com","gmail.com"]
  
while True:
  
    # time of your work
    if dt(dt.now().year, dt.now().month, dt.now().day,8) 
    < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day,16):
        print("Working hours...")
        with open(hosts_path, 'r+') as file:
            content = file.read()
            for website in website_list:
                if website in content:
                    pass
                else:
                    # mapping hostnames to your localhost IP address
                    file.write(redirect + " " + website + "\n")
    else:
        with open(hosts_path, 'r+') as file:
            content=file.readlines()
            file.seek(0)
            for line in content:
                if not any(website in line for website in website_list):
                    file.write(line)
  
            # removing hostnmes from host file
            file.truncate()
  
        print("Fun hours...")
    time.sleep(5)

Nota especial para usuarios de Windows: el usuario de Windows debe crear un duplicado del archivo host del sistema operativo. Ahora proporcione la ruta del archivo duplicado en hosts_path mencionado en el script.

Programación del script anterior en Mac: para programar el script anterior en Mac, debe abrir crontab en su terminal como root.

  1. Escriba el siguiente comando en la terminal:
    sudo crontab -e

    Su terminal debería verse así:

  2. Ahora presione «i» para ir al modo de inserción/edición y escriba @reboot python_script_path.
  3. Guarde la pestaña presionando primero esc para salir del modo de escritura y volver al modo de comando y ahora escriba «:wq» y finalmente presione enter para validar.
  4. Reinicie su sistema y vea la magia.

Programación en Windows: la programación de la secuencia de comandos anterior es un pequeño truco, pero lo guiaré paso a paso.

  1. En primer lugar, cambie la extensión de su secuencia de comandos de «.py» a «.pyw».
  2. Ahora abra el programador de tareas. El programador de tareas debería verse así:

    Es posible que vea el bloqueador de sitios web ya programado porque ya lo he programado en mi computadora para mi propósito de prueba. Siga las instrucciones adicionales de programación cuidadosamente para programar el bloqueador de sitios web en su computadora.

  3. Haga clic en «crear tarea». Complete el nombre de su elección y marque «Ejecutar con el mayor privilegio».

  4. Ahora vaya a disparadores, seleccione «Al inicio» para comenzar la tarea.
  5. Vaya a la barra de acciones y cree una nueva acción y proporcione la ruta de su secuencia de comandos.

  6. Vaya a la barra de condiciones y quite la marca de la sección de potencia.

  7. Presiona ok y podrás ver el script programado.
  8. Finalmente reinicie su computadora y vea la magia.

    Nota: También puede verificar instantáneamente haciendo clic en el botón Ejecutar.

Publicación traducida automáticamente

Artículo escrito por Abhishek Verma 16 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *