Om et halvt år etter min siste utlysningen på Dreambox min sitestemata jeg kan meddele nye og trolig en av de siste versjonene av Nuki. Versjonen var klar selv før den 2 måneder av latskap, men der hvor ting er for feilsøking med pozabaviha annonsering. Fra et par dager arbeider på 32 Dreambox 500-s, og resultatene er veldig bra. Endringene er svært – fjernet er idiotisk i henhold til den Linux Server overføre logger – Nå må du ha apache + PHP, fordi det nye systemet for å skrive logger er å sende parametere til en php-skript på serveren. Jeg endret manuset arbeide uten serverdelen – Hvis du har noen satellittmottakere er ikke meningsfull sette en server å ta informasjon slik at jeg kan flytte skriptet hardkodnato med 2 variabel informasjon for CAM-. Jeg har også erklært en ekstra variabel feilsøke – Hvis du ikke vil ikke kaste loggene – igjen tilbakestående gapet enn tidligere 🙂 lys popraviki i koden ble gjort, Det så ut som er skrevet av polugramoten retard (ikke at ikke jeg er de). Ostrane oss 2 kritiske feil fører til oppsigelse av arbeidet til skriptet på noen tilfeldige øyeblikk, igjen oligofrenski forsømmelser på min del. Vanligvis var ikke skrive veldig enkelt måtte vurdere for å gjøre som folk, at busybox og aske ikke er enkel ting å domestisering. Denne gangen tror jeg lagre store rant med koden og forklare hvilke variabler for hva det er og hva behandlinger kan gjøres med henne (nye) 🙂

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 '[email protected]:@@')
 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

Så åpenbart promenliviti navn taler for seg selv, men nok skjønt, og jeg mener noen smarte ord.

FRITTSTÅENDE er en av de viktigste variabel er sant hvis setnata ikke skal ringe til serveren og vil ikke kreve lenger etter server hvis du bruker den du må sette følgende verdier og HCAM1 (Jeg vet ikke hvorfor jeg heter det som jeg ikke husker nå, men uansett). Hvis det er ingen reell verdi i det og en frittstående script skritpa antar fungerer på ukryptert kanaler og det er ingen bekreftelse for dekryptering modul, Hvis det vil teste etter angitte realverdien. HCAM2 valgfritt hvis du bare bruker modulen dekoder 1 La oss for eksempel si prosessen CCcam.

DEBUGING de andre interessante variabel prlûe eller informasjon du vil holde stille ifølge avhenger på hva verdien du er slengte. Avotmatično går i et kutt hvis FRITTSTÅENDE er sann

NEWDBGSTYLE utkast en viktig variabel. Den vil overføre loggene til serveren. Hvis sanne vilje er den nye måten uten idiostkata ifølge netcat. Hvis du fortsatt beholde den gamle metoden sette falske. Generelt, dette er ting jeg trenger å fokusere, men jeg tror, Selv om endringene er radikal blir en idé gjennomsiktig for angitt standard verdier 🙂

Definitivt er jeg veldig fornøyd med hvordan du trene – skriptet ble tilstrekkelig fleksibelt otpdnaha idiotkite etter tilleggsfiler for funksjoner som otpdna allerede og jeg tror etter nc eller behovet for en server, etc. ikke alle liker 30+ boksen-en at en server eller du kan ha en ruter en. Fortsatt har mye å forbedre men nå jeg tror jeg skal avstå fra ting fordi takvia ikke er nødvendig 🙂

Som filene ligger vanligvis i Directory en krypt for innføring av loggene kan lastes ned fra her

Og i tilfelle en god script et stykke for en akselererende alle gasspedalene 😀

Forbedret lenker:

Fra nesten et år jobbet jeg på min demočeto Nuki. I dag har jeg tid til å fikse ting fordi det var mange ting som ikke var godt. Jeg har lagt litt av ny funksjonalitet. Jeg omlegge koden, med flere funksjoner og kortsluttet ble mer brukervennlig.

Den største nye funksjonen at jeg sette et signal felle-. På et tidspunkt mens du roterer demon dreambox mottakeren bestemmer seg for å drepe ham og dermed stoppe overvåking min prosess, som i seg selv er ganske ubehagelig øyeblikk. Og det er ingen måte å finne ut hva som skjer fordi stedet er litt skitt og logger må gjøre komplekse mønstre nettverksressurser som du ikke ønsker å håndtere. Generelt linjer signal felle-er en hyggelig ansiktstrekk av bash-skript for å fange opp signaler fra utgangene eller de innsendt til dem av kjernen gjennom en kill-si 😉 og dermed vi kan hindre noen av umiddelbart etterfølgende hendelsene. Fordømme den SIGKIL eller drepe -9 kan ikke være prehvanat og forhindret, Det er kjernen design. Den avsluttet direkte innsendt hans PID. Og nå feilkoden

#trapping signals I know -9 dosent work but we try it just in case ; )
trap on_exit 0 14 1 2 9 13 15 6 8 4 3 11 5
on_exit () {
make_debug 10 #unexpected error
#reboot now if we hawe trapped signal
reboot -d 0
exit 0
}

Den første linjen erklærer USA som handlingen skal utføres og i hvilke varsler vil vi lese mer om varsler mann signaler i disse 😉 meg vare. Som du kan se resultatet i en enkel funkciika som gjør feilsøking programmer melding og starte mottakeren. Jeg er ikke overbevist, som vil føre til utfallet forventede, fordi jeg tror at alt som hindrer dreper med kill -9 men ingenting hindrer å prøve.

Andre endringer er kardinal funksjoner de fleste ting som blir gjentatt av koden fylle dem i funksjoner, Det var litt stygge ikke, nå som er bra, hadde jeg et 😉 de drama med en avkastning i bash- – Jeg satte på min tilbake en funksjon og forventet oppførsel som alle andre kjente programmeringsspråk, men det viste seg at bare returnerer heltallsverdier og returnerer den til maksimalt 2 😀 og jeg ønsket å returnere strengen. Det var en stygg gris. Løsningen er enkel

#---cuted---

if [ $T -eq $N ]
 then
 echo "Cam is down! Reboot..."
make_debug 4 # cam is down
 else
echo $rcam
 fi

# ---cuted----

#finding real cam1
 rcam1=$(find_cam $cam1)

Den første delen er slutten av funksjonen og ekko resultatet av seier. Hans beslutninger er enkelt med den siste linjen i ovennevnte passasje.

Hmmm tror jeg, Det er interessant del av koden.

Jeg ønsker å uttrykke min takknemlighet til inspirasjon 😉

http://www.youtube.com/watch?v = SilMJ0O13UI&funksjonen = relatert

De fleste- til slutt var jeg i stand til å fullføre sitt arbeid på manuset til at jeg skriver så mye tid 🙂 Allerede Nuki den er en ganske stabilt script. Stress 1 fordi de fjerne flere skript, hvordan å bygge det på det viktigste. Allerede opparbeidet seg en monolittisk struktur, men personlig synes jeg det er bra for en demo versjon 🙂 Allerede forbedringer er ikke veldig, siste pixovi ulike mindre bugs og forsøk på å forbedre koden. Det eneste konkrete som jeg har lagt ut en sjekk og mottaker. Naglasi jeg gjør det hver 10 dager til å ikke starte selve.

Ser tilbake, min første idé til et skript som er enkle å kontrollere mottakere som slucuva med dem tror jeg, som er ganske bra, jeg implementert din tanken mange ganger. Den eneste feil som jeg håper å unngå 10 daglig omstart – det er tider når mottakeren starter på nytt, men mislykkes. Mord i de fleste butikker, inkludert nettverk, men Prado Palace er nesten ferdig å oppnå omstart. Dessverre på grunn av begrensninger pålagt av min penner nemaiah å gjøre er å starte på nytt - og dermed til å omgå øyeblikk. Kanskje en dag i fremtiden vil være å kompilere bildet mitt boksen min, og derfor vil jeg takle dette problemet. Han nagamma min nylige beslutning om å stille opp 🙂 ellers alt annet var veldig bra, enda mye bedre enn min første idé. Spesielt når, som preiman gjennom en metamorfose. Den store delen forble web-grensesnitt, det er derfor jeg fortsetter å ikke gi ham 😆 etter at vi satte oss ned for å skrive i disse dager og få det gratis forbruk. Siste ord – i stedet utvide ønsker bare å takke alle mine venner, overlevde mine dumme spørsmål, og dette – det er et viktig bidrag til å desain kode. Takk og mannen som var et prosjekt, og jeg har fungert som en inspirasjon i de fleste ting middelmådig å skrive 🙂 … Damene fortjener det!

I dag jobbet jeg litt over den nye NUKI-versjon. Endelig brakt rekkefølgen og, og jeg skal fikse det like før han ut nyeste stabile, og sannsynligvis siste versjon. Så fikk jeg ideen å sjekk hvor mange dager er oppetid av verten, Jeg de fleste av mine problemer er mer tid, så jeg bestemte å gjøre 10 dager prfilaktičen omstart. Hast løftet meg Fjern mine konveirče dager resterende variablene fordi resultatet er ganske ubehagelig oppetid otkomandata arbeide

# uptime
12:13:57 up 30 days, 20:07,  1 user,  load average: 0.00, 0.00, 0.00

Så er linjen filtrert ved superskiâ konveir 😛

uptime | awk -F'up' '{ print $2 }' | awk -F'days' '{ print $1 }'

Som om tid er dager føre hele antall dager, og hvis det ligner på rezulatatt

[email protected]:~$ uptime | awk -F'up' '{ print $2 }' | awk -F'days' '{ print $1 }'
1:34,  5 users,  load average: 0.46, 0.39, 0.41
[email protected]:~$

Som passerer avmerker for satsen verdien

if echo $days | grep "^[0-9]*$" > /tmp/null
then
   echo "Uptime in days is $days"
else
  echo "Uptime isnt in days"
fi

Bare enkel og grei i hvis-så struktur sjekker hvis stoisnota inneholder bare tall med vanlig uttrykk grep “^[0-9]*$”.

Eee opplevd å se ham der Nuki 1.0 Hvorfor 🙂 fra versjon 0.6 Jeg hoppet ut av 1.0 Du vil spørre meg, men veldig enkelt – allerede har vi en 100% universell Nuki dekker alle krav, med få unntak Cotto vil fikse i fremtiden, og enda viktigere denne versjonen er implementert i en fundamentalt annerledes måte. Jeg gikk tilbake til min gamle ideen om en demon og litt prøving og feiling denne gangen ting sammen utmerket. Server-programmet er helt sløyd med unntak av et kort php skriptche som trekker informasjon Nuki-det 🙂

E allerede oppnådd nesten alt Nuki der mer? Vel co For å være ærlig har jeg alltid kanskje mer, for eksempel tenker å gjøre på installasjonsskript si å gjøre ting liksom enkelt og forståelig selv for en Linux-bruker alt som skjer som mulig- noen problemer for brukere. Men alt har sin tid. For tiden i Nuki enn noe jeg dobavail modul som overvåker tilkoblingen til serveren, forsvinne dersom mottakeren selv starter på nytt. For øyeblikket Ja, det er fortsatt etablert hvis det fungerer hihihiihh 😆 Abe generelt viangi vil ha noe å være ønsket, eller en ny idé fra noen fortsatt ett hode du ikke kan tenke som 2-3-4 eller mer, selv min 😈

ps igjen la kodenavnet. Jeg tror jeg allerede har en meget solid basis for alt vi bestemmer oss for i fremtiden å gjøre med mitt script