Около половин година след последния ми анонс по Dreambox monitoring ситестемата ми мога да анонсирам новата и вероятно някоя от последните си версии на Nuki. Версията беше готова още преди 2 месеца но къде от мързел къде заради дебъгване нещата се позабавиха с анонса. От няколко дни работи на 32 dreambox 500-s и общо взето резултатите са много добри. Промените са много – премахната е идиотската звисимост от Linux server на които да се прехвърлят логовете – вече е необходимо да имате apache + php, защото новата система за писане на логове е като се подава параметри към един php скрипт на сървъра. Отделно съм променил скрипта да работи и без сървърна част – ако имате малко сателитни приемници не е смислено да имате постоянно пуснат сървър от които да се взима инфото затова може да се нанесе хардкоднато в скрипта с 2 променливи информацията за CAM-а. Също така съм декларирал допълнителна променлива за debug – ако не искате няма да ви мята логове – отново малоумен пропуск в сравнение с преди 🙂 Леки поправики по кода бяха напревени, че приличаше като писан от полуграмотен олигофрен (не че несъм де). Остране ни бяха 2 критични грешки в кода водещи до прекратяване на работа на скрипта в някакъв случаен момент, отново олигофренски пропуски от моя страна. Общо взето писането не беше много просто трябваше да се помисли да се направи като хората, че busybox и ash не са най лесни неща за опитомяване. Тоя път мисля да спестя голямата тирада с кода и направо да обясня променливите коя за какво е и какви манипулации могат да се направят с нея (новите) 🙂
SERVER="192.168.100.1" STANDALONE="FALSE" #using like stand alone app no server side depends ; ) HCAM1="" ## if starting like stand alone app give me CAM namezzz if HCAM1 is empty its means chanel is free HCAM2="" ## CAM2 name PORT="666" # port rockzzz : D : ))))))))))))))))) IP=$(ifconfig eth0 | grep inet | awk '{print $2}' | sed -e 's@addr:@@') FILE='/tmp/debug' INFO='/tmp/info_file' NC=$(which nc) WGET=$(which wget) MAX_DAYS="10" TIMEOUT="600" MAX=70 #max cpu usage per process DEBUGING="TRUE" #if u wanna script send debug information set DEBUGING to TRUE if SEVERLESS is set to true this var will be skiped NEWDBGSTYLE="TRUE" #debuging new style sending info to apache derectly, old style using nc
Така очевидно имената на променливити говорят сами за себе си достатъчно но все пак и аз да кажа някоя и друга умна дума.
STANDALONE е една от най важните променливи ако е сетната на TRUE няма да се правят обръщения към сървъра и няма да изисква вече зависимост от сървър ако я използвате трябва да сложите стойности и на следната HCAM1 (незнам защо съм я кръстил така не помня вече но няма и значение). Ако няма стоиност в нея а скритпа е самостоятелен скрипта приема че ще работи на некриптиран канал и няма прави проверка за декриптиращ модул, ако има ще провери според зададената стоиност. HCAM2 е незадължителна ако декодиращия ви модул използва само 1 процес да речем CCcam например.
DEBUGING втората интересна променлива ще ви прлюе информация или ще пази мълчание според зависи каква стойност сте забили. Авотматично преминава в тих режи ако STANDALONE е TRUE
NEWDBGSTYLE трата важна променлива. Тя определя как ще се прехвърлят логовете към сървъра. Ако е TRUE ще е по новия начин без идиостката зависимост от netcat. Ако все пак си държите на стария метод слагате FALSE. В общи линии това са нещата на които трябва да наблегнете но мисля, че промените въпреки че са кардинални ще останат една идея прозрачни заради зададените стойности по подразбиране 🙂
Определено вече съм много доволен как се получиха нещата – скрипта стана достатъчно гъвкав отпднаха идиотките зависимост на допълнителни файлове за функции както и вече отпдна и зависимост на nc мисля или пък нуждата от сървър и прочие не всеки ползва 30+ box-a че да има и сървър или пък може да има само някакъв домаше router. Все още има какво да се подобри но засега мисля да се въздържам от таквиа неща защото не е наложително 🙂
Файловете както обикновено се намират в директорията а крипта за въвеждане на логовете може да свалите от тук
И по случай добрия скрипт едно ускорено парче за всички ускорители 😀