DN42 е един прекрасен проект който ви дава възможност да развивате вашите BGP умения без да чупите продуктова среда, без да ви се налага да имате скъпи устройства с които да си правите лаборатория да си правите симулации с GNS3. Същевременно да не е чисто лабораторна среда при която няма проблеми от реалният свят. Участвам с 1 node в проекта от около година. Един от проблемите в проекта е 1:1 с реалният святкогато някой ти обяви префикси които не трябва да обявява. Понеже съм мързелив и не ми се пише на ръка филтри все път, реших проблема с елементарен bash скрипт които ми генерира prefix-list с име dn42 и в него наливам валидните префикси.

#!/bin/bash</pre>
vtysh -c 'conf t' -c "no ip prefix-list dn42"; #drop old prefix list

while read pl
do
vtysh -c 'conf t' -c "$pl"; #insert prefix list row by row
done < <(curl -s https://ca.dn42.us/reg/filter.txt | grep -e ^[0-9] | awk '{ print "ip prefix-list dn42 seq " $1 " " $2 " " $3 " ge " $4 " le " $5}' | sed "s_/\([0-9]\+\) ge \1_/\1_g;s_/\([0-9]\+\) le \1_/\1_g");
vtysh -c 'wr' #write new prefix list

Списъка с валидните предикси се взема https://ca.dn42.us/reg/filter.txt от където и основният конвейр + малко модификации от моя страна за да може да се генерира префикс листа. Командите се изпълняват през vtysh.

Mozilla Thunderbird

Ideja je, enako kot moj post VAKUUMSKI Firefox baz podatkov in REINDEX. От известно време Debian разкараха ребрадинраните версии на Mozilla продуктите. При миграцията от Icedowe към Thunderbird се замислих, че не съм си дефрагментирал базата, а досега през email клиента ми са изтекли сериозно количество писма, email акаунти и сървъри, потребители и пароли. Скрипта е идентичен с този от предишният ми пост само с лека модификация за къде да търси файловете 🙂

Linux версията

for db in $(find ~/.thunderbird/$(grep Path ~/.thunderbird/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
echo "VACUUM ${db}"
sqlite3 ${db} VACUUM
sqlite3 ${db} REINDEX
done

Mac os версията

for db in $(find ~/Library/Thunderbird/$(grep Path ~/Library/Thunderbird/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

За разлика от профилната папката на Firefox тази на Thunderbird е с доста по правилен път (без space) и не се налага да се прави промяна на delimiter.

Pameten trik za povečanje hitrosti v brskalniku firefox, kako lahko acuminate sqlite database. VAKUUMSKI postopek prescrita baze, tako da svoje Defragmenter, zmanjšana velikost in naredi povpraševanje hitreje, disk usage bolj učinkovito, lahko zmanjšala in obremenitev pogona, da jih preberete, da bi v meni. Praviloma to velja za vse zbirke podatkov, ki ne samodejno vakuumske/defragmentiranje sama.

Postopek zbirke podatkov defragmentacija Firefox je precej trivialna – izvaja sqlite3 db-file VAKUUMSKE v profiledata imenik firefox. V linux pot je običajno,~/.mozilla/firefox/random-ime.privzeto. Načeloma moral bi le 1 dircetory .mozilla/firefox če imate več, lahko preverite,~/.mozilla/firefox/profile.ini za pravilno imenik v profilu vašega brskalnika. Тъй като не ми се занимава да извършвам процеса на ръка разписах елементарен скрипт с който да дефрагментирам базите данни:

for db in $(find ~/.mozilla/firefox/$(grep Path ~/.mozilla/firefox/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
   echo "VACUUM ${db}"
   sqlite3 ${db} VACUUM
   sqlite3 ${db} REINDEX
done

След изпълняване на скрипта търсенето в history-то и самото зареждане на лисика е чувствително по бързо. Скрипта предполагам че с малки модификации може да се ползва и в Mac OS.

p.s Ето варианта и за Mac OS Xтестван на Mac OS X Sierra. Налага се да форсираме делимитъра да е нов ред заради space в пътя до папката в която се съдържа профила на firefox

OIFS="$IFS"
IFS=$'\n'
for db in $(find ~/Library/Application\ Support/Firefox/$(grep Path ~/Library/Application\ Support/Firefox/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

Certificiranje v IPv6.HE.net so dnevne preskusov, ki dajejo 1 dodatne točke po opravljeni osnovni testi. Morate storiti, 100 taki testi za največje rezultate 😐 . Testi sami bili povsem nepomembno

  • Traceroute
  • KOPATI AAAA
  • KOPATI PTR
  • Ping
  • Whois

Najbolj neprijetnih, da preskusi sami mora biti edinstvena, zato ne morejo uporabljati eno domeno dayti 🙂 med drugim, in malce nadležno, 🙄 – katero koli številko, samo pluse 5 ukaz cli je in copy/paste v svoje spletno mesto.

Kot leni admin, ki ima rad, da bi olajšali življenje madrasah hitro nered, da se da premagati, da ne umazano delo namesto mene

#!/bin/bash

hr() {
  local start=$'\e(0' end=$'\e(B' line='qqqqqqqqqqqqqqqq'
  local cols=${COLUMNS:-$(tput cols)}
  while ((${#line} < cols)); do line+="$line"; done
  printf '%s%s%s\n' "$start" "${line:0:cols}" "$end"
}

if [ -z $1 ]
then
  echo "Append domain afert the script name!!!"
  exit
fi

IP=$(dig $1 AAAA +short)

if [ -z ${IP} ]
then
  echo "$1 dont have valid IPv6 record"
else
  reset
  traceroute6 $1
  hr
  dig $1 AAAA
  hr
  dig -x ${IP}
  hr
  ping6 -c3 ${IP}
  hr 
  whois ${IP}
fi

Kot lahko vidite, scenarij je noro osnovnih. Poduval ime domene, kaj pa je to, da preverite, če obstajajo IPv6 zapise in če je tako, za izvajanje dnevnih testi za njega. Zgornji del chic – funkcija HR ki natisne črto čez širino zaslona, vzet iz bash-hekerji.

Ena od stvari, ki me moti, najbolj je, ko v cli za kopiranje/premikanje velikih map, tako da ne vem, kakšen odstotek celotne velikosti sem pogojev. Na žalost cp/mv nimajo take sile in potrebno uporabiti alternativne možnosti. Obstaja kar nekaj možnosti, ampak za mene osebno najbolj všeč mi je, da uporabite rsync namesto pc/mv. To je vse, kar je vgrajeno v – varstvo pravice do datotek in map, vrstica napredka, kot sposobnost, da zbrišete kopiranih datotek.

V Splošnem sem naredil sam 2 alias-а които вършат повече от чудна работа:

alias cpi='rsync -a --info=progress2'
alias mvi='rsync -a --info=progress2 --remove-source-files'