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

Գաղափարն այն նույնական է թե իմ դիրքորոշման Firefox տվյալների բազաների վակուումում եւ reindex. Արդեն որոշ ժամանակ նախագիծն rebradinranite Debian տարբերակները Mozilla ի արտադրանքի. Upon միգրացիայի Icedowe մինչեւ Thunderbird մտածեցի,, Ես չեմ defragment ձեր տվյալների բազայում, եւ մինչ օրս փոստով հաճախորդի Ես անցել է լուրջ քանակությամբ տառերով, էլփոստով հաշիվներ եւ սերվերներ, Users եւ Գաղտնաբառերը. The script նույնական է, որ իմ նախորդ գրառման հետ միայն փոքր ձեւափոխման համար, որտեղ պետք է նայենք համար ֆայլերի 🙂

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.

Խորամանկ հնարք է բարձրացնել աշխատանքի արագության firefox բրաուզերի ձեզ, թե ինչպես вакумирате sqlite տվյալների բազայի. VACUUM գործընթացը преизгражда տվյալների բազայում, այդպիսով, նրա дефрагментира, նվազել է չափը, եւ ստիպում է դրա պահանջարկը ավելի արագ, սկավառակի օգտագործումը ավելի արդյունավետ է, հնարավոր է, նվազել է և բեռը սկավառակի ձեզ, քանի որ կարդալ հաջորդականությամբ սահմաններում ինձ. Ընդհանուր առմամբ, սա ճիշտ է ցանկացած բազա, որը չի կատարում ավտոմատ vacuum/defrag իրեն.

Գործընթացը defrag տվյալների բազայի Firefox բավականին չնչին է – կատարում ենք sqlite3 db-file VACUUM "профилната կատալոգը firefox. Linux ճանապարհը դրան, սովորաբար դա ~/.mozilla/firefox/random-name.default. Սկզբունքորեն, դուք պետք է միայն 1 диркетория .mozilla/firefox, եթե դուք ունեք ավելի մեծ է, դուք կարող եք ստուգել,~/.mozilla/firefox/profiles.ini համար կոռեկտ կատալոգ պրոֆիլում ձեր զննարկիչը. Քանի որ ես չեմ զբաղվում է կատարել գործընթացը ձեռքով разписах տարրական սցենար որը дефрагментирам տվյալների բազայի:

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

Հավաստագրում (սերտիֆիկացում) ՝ ipv6.he.net կան ամենօրյա թեստեր, որոնք տալիս 1 լրացուցիչ միավոր է այն բանից հետո, երբ անցել է բոլոր հիմնական թեստերը. Դուք պետք է անել 100 նման փորձարկումներ առավելագույն արդյունք 😐 . Թեստեր ինքնին լիովին չնչին

  • Traceroute
  • ՔԱՆԴԵԼ AAAA
  • ՔԱՆԴԵԼ PTR
  • Ping
  • Whois

Շատ տհաճ է այն, որ իրենք թեստերը պետք է լինի եզակի, այսինքն չի կարող օգտագործել մեկ տիրույթը двапъти 🙂 Բացի ամենայնից, եւ մի քիչ նյարդայնացնում է 🙄 – որեւիցե մարտահրավեր, պարզապես плющиш 5 թիմի cli, դա copy/paste-ի կայքը.

Ինչպես ծույլ admin ով սիրում է, որ հեշտացնում է կյանքը надрасках արագ խառնաշփոթ ուժեղ հարվածել է, որ, որ, որ, անել սեւ աշխատանքը փոխարեն ինձ

#!/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

Ինչպես երեւում է javascript-insanely սկզբնական. Подаваш տիրույթի անունը, որ նրա ստուգել, եթե կա IPv6 գրառումները և եթե կա, իրականացնել ամենօրյա թեստեր համար. Top chic մասի – գործառույթները hr որը կմեկնի գծի ողջ լայնությամբ էկրան, վերցված bash-hackers.

Մեկը բաներ, որ ամենից շատ ինձ զայրացնում է, երբ cli պատճենել/տեղափոխել մեծ директоря, որ ես չգիտեմ, թե տոկոսը բոլոր չափ ես претъркалял. Ցավոք cp/mv չունեն նման ուժերի և անհրաժեշտության դեպքում կդիմենք այլընտրանքային տարբերակներ. Կան շատ տարբերակներ, բայց անձամբ ինձ շատ ինձ դուր է գալիս օգտագործումը rsync փոխարեն pc/mv. Այն ամենը, ներկառուցված – իրավունքների պաշտպանության ֆայլերը եւ տեղեկագրքեր, առաջընթաց բար, ինչպես նաեւ հնարավորություն է հեռացնել копируемых ֆայլեր.

Ընդհանուր առմամբ, ես ինքս 2 alias-а които вършат повече от чудна работа:

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