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:
- 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
- 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.
- Escriba el siguiente comando en la terminal:
sudo crontab -e
Su terminal debería verse así:
- Ahora presione «i» para ir al modo de inserción/edición y escriba @reboot python_script_path.
- 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.
- 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.
- En primer lugar, cambie la extensión de su secuencia de comandos de «.py» a «.pyw».
- 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.
- Haga clic en «crear tarea». Complete el nombre de su elección y marque «Ejecutar con el mayor privilegio».
- Ahora vaya a disparadores, seleccione «Al inicio» para comenzar la tarea.
- Vaya a la barra de acciones y cree una nueva acción y proporcione la ruta de su secuencia de comandos.
- Vaya a la barra de condiciones y quite la marca de la sección de potencia.
- Presiona ok y podrás ver el script programado.
- 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