.png)
Sé que esto probablemente sea posible y probablemente fácil para alguien que sabe lo que está haciendo, pero me disculpo de antemano por lo poco que sé.
Básicamente estoy buscando algún tipo de código (¿script? Nuevamente, no lo sé) que escriba los nombres de las páginas y/o las URL completas de cada sitio web visitado (incluso con la navegación privada habilitada) en un historial de "copia de seguridad". archivo que no se borrará ni modificará a través de la barra de herramientas estándar de Safari. Preferiblemente, esto incluiría marcas de tiempo, aunque no es obligatorio.
Alternativamente, si es posible/más fácil dejar habilitado el botón de navegación privada, pero hacerlo de modo que en realidad no HAGA nada, luego escriba/haga una copia de seguridad de los cambios en la lista del historial de Safari cada 60 segundos aproximadamente en una ubicación "segura" y no editable. , eso también funcionaría.
Un par de cosas que no quiero:
Instrucciones sobre cómo habilitar los controles parentales o eliminar la opción de navegación privada
Instrucciones para un programa de software espía o de monitoreo web que debe descargarse e instalarse en la computadora
Instrucciones sobre cómo iniciar sesión a nivel de enrutador (actualmente no es posible) o usar Open DNS (que muestra solo dominios, pero no todas las páginas web a nivel granular)
Discusión ética o moral (sé lo que estoy pidiendo y por qué lo estoy pidiendo; por favor, créanme en eso)
Sé que hay programas de monitoreo que hacen lo que quiero (y mucho más, la mayoría de los cuales son innecesarios), así que supongo que es posible codificar algo en algún lugar que realice la misma tarea. También necesitaría (seré honesto) algunas instrucciones bastante detalladas sobre cómo/dónde ingresar este código y ejecutarlo. Estoy dispuesto a pagar (si es necesario) para contratar a alguien para que haga esto, pero sin siquiera saber exactamente lo que estoy pidiendo, tengo problemas para formular una oferta de trabajo en cualquiera de los sitios para contratar a un codificador independiente. .
Cualquier ayuda/orientación/asistencia/aclaración/etc. sería apreciado.
Respuesta1
Guarde un script como este en algún lugar con el .scpt
formato predeterminado en AppleScript Editor:
repeat
try
tell application "System Events"
if name of (process 1 where frontmost is true) is not "Safari" then error
end tell
tell document 1 of application "Safari"
set u to URL
set n to name
end tell
do shell script "f=/path/to/log_file
u=" & quoted form of u & "
n=" & quoted form of n & "
[[ $(tail -n1 $f | cut -d' ' -f2) = $u ]] && exit
printf '%s\\n' \"$(date +%FT%H:%M) $u $n\" >> $f"
end try
delay 10
end repeat
El script sólo se ejecuta cada 10 segundos, por lo que probablemente se perderán algunas páginas. Sin embargo, puedes reducir el retraso si lo deseas.
Puede iniciar el script al iniciar sesión y reiniciarlo si sale guardando una lista de propiedades como esta como ~/Library/LaunchAgents/some_label.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnableGlobbing</key>
<true/>
<key>Label</key>
<string>some_label</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>/path/to/script.scpt</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Luego cargue el plist ejecutándolo launchctl load ~/Library/LaunchAgents/some_label.plist
o cerrando sesión y volviendo a iniciarla.