viernes, 27 de julio de 2018

Wild Cards-Privoxy - -> Regex Powershell

Wild Cards-Privoxy  - ->  Regex Powershell


El proposito es eliminar las urls (en este caso  https://github.com/StevenBlack/hosts ) que abarcan sus Wild Cards . . . para ello usando Regex Powershell W10 . . . obteniendo una conversion como la presentada en la imagen.


 Descargando Hosts block list de Steven Black .. ir al sitio ... https://github.com/StevenBlack/hosts
copiar y nombrar ... ... ... StevenBlackhosts-original.txt
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descarga con powershell . .
iwr "https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts" -OutFile "StevenBlackhosts-original.txt"

----------------------------------------------------------------
 Dejando las puras urls Steven Black 
----------------------------------------------------------------
# reemplazando 0.0.0.0  por nada
# eliminando lineas con # y vacias
# borrando hasta la 9 linea

Entre lineas punteadas (Obviamente funciona con copiar y pegar a Powershell + Enter .. :D )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Get-Content "StevenBlackhosts-original.txt" | Select-Object -Skip 30 | Foreach-Object {$_ -Replace('^0.0.0.0 ', '')} | Where-Object {$_ -notmatch '#'} | ? {$_.trim() -ne "" } | Set-Content "StevenBlackhosts-urls.txt"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Notese me salte 30 lineas , quite 0.0.0.0, # y vacios. El resultado a "StevenBlackhosts-urls.txt"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Get-Content "WildCardsHF.action") | Where-Object {$_ -notmatch '#'} | Where-Object {$_ -notmatch '\{\+block\{WildCardsHF\}\}'} | ? {$_.trim() -ne "" } |
 Foreach-Object {
    $_ -replace '\s+', '' `
       -replace '^', '.' `
       -replace '$', '.' `
       -replace '\.\.', '.' `
       -replace '\.', '\.' `
       -replace '\-', '\-' `
       -replace '^..', '(^|\.)' `
       -replace '..$', '($|\/|\.)' `
       -replace '\*', '\w*' `
       -replace '\?', '\w' `
       -replace '\[0..9\]', '[0-9]' `
       -replace '\[a..z\]', '[a-z]' `
       -replace '\\w\*\(.......\)$', '\w*' `
       -replace '^\(....\)\\w\*', '\w*' `
       -replace '^\\w\*\[', '[' `
       -replace '\]\\w\*$', ']' `
       -replace '^\\w\*', '' `
       -replace '\\w\*$', '' `
         } | ? {$_.trim() -ne "" } | Set-Content "WildCardsHF-Conv.txt"

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Notese  mi texto es "WildCardsHF.action" .. elimino lineas con # (comentarios), {+block{WildCardsHF}} y vacios . . . posterior empiezan los reemplazos y el resultado es vaciodo en  "WildCardsHF-Conv.txt"

Para no olvidar al ir añadiendo mas wildCards sigo las siguientes reglas . . .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# WildCardsHF Host file
# -------------------------------------------------------------------------------------
# -- No poner comentario despues de la wildcard ... osea ..:: .wildcard. # comentario
# -- solo usar [0-9] y [a-z] .. y no como [a-bd-z] .. por problemas con guiones
# -- se pueden usar .. del tipo seleccion probar con una ú otra letra como: .. [as89]
# debido a que luego hay que covertir a Regex para usar con powershell
# Las  WildCardsHF  se van sacando de la densidad de palabras ..
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Obtener la lista de urls que no fueron afectados ... para añadirlos a su action file . . :D

Eliminando lineas con..:: "contenido de BorrarLineas.txt" (ahi puede poner urls que estan presentas en StevenBlack pero que visita usted XD; una url por linea ),  reemplazos ..:: # quitar ruta de archivo y eliminar lineas duplicadas y ordena ascendente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Get-Content "StevenBlackhosts-urls.txt" | Select-String -notmatch (Get-Content "WildCardsHF-Conv.txt") | Select-String -notmatch (Get-Content "BorrarLineas.txt") | Foreach-Object {$_ -Replace('^.+:\d*:','')} | Sort-Object -Unique | Set-Content "SBH-NoAfectadosXWC.txt"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 Agregar contenido (en mi caso llamo "BlocksHosts.action" a la lista ) . . . @("Line 1 text", "Line 2 text", "etc..") . . . y uniendo listas
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
@("#","# Este archivo contiene el resto de urls que ","# no se afectaron con WildCardsHF.action ","# Project home page: https://github.com/StevenBlack/hosts", "{+block{blocksHosts} +handle-as-empty-document}", "## ## ## ## ## ## ## ## ## ## ## ##") + (Get-Content "SBH-NoAfectadosXWC.txt") | Set-Content "BlocksHosts.action"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Divertido . . no . . . . lo puede condensar para un solo enter . . XD pero aun lo sigo modificando  XD

No hay comentarios.:

Publicar un comentario