.png)
Sei que isso provavelmente é possível e provavelmente fácil para alguém que sabe o que está fazendo, mas peço desculpas antecipadamente pelo pouco que sei.
Estou essencialmente procurando algum tipo de código (script? de novo, não sei) que gravará os nomes das páginas e/ou URLs completos de cada site visitado (mesmo com a navegação privada ativada) em um histórico de "backup" arquivo que não será apagado ou modificado através da barra de ferramentas padrão do Safari. De preferência, isso incluiria carimbos de data/hora, embora isso não seja obrigatório.
Alternativamente, se for possível/mais fácil deixar o botão Navegação Privada ativado, mas fazer com que ele não faça nada, então grave/faça backup das alterações na lista de histórico do Safari a cada 60 segundos ou mais para um local "seguro" e não editável , isso também funcionaria.
Algumas coisas que eu não quero:
Instruções sobre como ativar o Controle dos Pais ou remover a opção de navegação privada
Instruções para um programa de monitoramento da web ou software espião que deve ser baixado e instalado no computador
Instruções sobre como fazer login no nível do roteador (atualmente não é possível) ou usar Open DNS (que mostra apenas domínios, mas não todas as páginas da Web em nível granular)
Discussão ética ou moral (eu sei o que estou pedindo e por que estou pedindo; por favor, confie em mim)
Eu sei que existem programas de monitoramento que fazem o que eu quero (e muito mais, muitos dos quais são desnecessários), então presumo que seja possível codificar algo em algum lugar que realize a mesma tarefa. Eu também precisaria (serei honesto) de algumas instruções bastante completas sobre como/onde inserir esse código e executá-lo. Estou disposto a pagar (se necessário) para contratar alguém para fazer isso, mas mesmo sem saber exatamente o que estou pedindo, estou tendo problemas para formular um anúncio de emprego em qualquer um dos sites de contratação de programadores freelance .
Qualquer ajuda/orientação/assistência/esclarecimento/etc. seria apreciado.
Responder1
Salve um script como este em algum lugar no .scpt
formato padrão no Editor AppleScript:
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
O script é executado apenas a cada 10 segundos, portanto provavelmente perderá algumas páginas. Você pode reduzir o atraso se quiser.
Você pode iniciar o script no login e reiniciá-lo se ele sair, salvando uma lista de propriedades como esta ~/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>
Em seguida, carregue o plist executando launchctl load ~/Library/LaunchAgents/some_label.plist
ou efetuando logout e login novamente.