Grafický správce balíčků Myrlyn pro SUSE a openSUSE, původně YQPkg, dospěl do stabilní verze 1.0.0. Postaven je nad libzypp a Qt 6. Projekt začal na SUSE Hack Weeku 24.
Vývojáři se podařilo vytvořit patch pro Wine, díky kterému je možné na linuxovém stroji nainstalovat a spustit Adobe Photoshop (testováno s verzemi Photoshopu PS2021 a PS2025). Dalším patchem se podařilo umožnit dokonce instalaci téměř celého Adobe Creative Cloud Collection 2023, vyjma aplikací Adobe XD a Adobe Fresco. Patch řeší kompatibilitu s windowsovými subsystémy MSHTML - jádrem prohlížeče Internet exporer, a MSXML3 - parserem
… více »Hackeři zaútočili na portál veřejných zakázek a vyřadili ho z provozu. Systém, ve kterém musí být ze zákona sdíleny informace o veřejných zakázkách, se ministerstvo pro místní rozvoj (MMR) nyní pokouší co nejdříve zprovoznit. Úřad o tom informoval na svém webu a na sociálních sítích. Portál slouží pro sdílení informací mezi zadavateli a dodavateli veřejných zakázek.
Javascriptová knihovna jQuery (Wikipedie) oslavila 20. narozeniny, John Resig ji představil v lednu 2006 na newyorském BarCampu. Při této příležitosti byla vydána nová major verze 4.0.0.
Singularity je rootkit ve formě jaderného modulu (Linux Kernel Module), s otevřeným zdrojovým kódem dostupným pod licencí MIT. Tento rootkit je určený pro moderní linuxová jádra 6.x a poskytuje své 'komplexní skryté funkce' prostřednictvím hookingu systémových volání pomocí ftrace. Pro nadšence je k dispozici podrobnější popis rootkitu na blogu autora, případně v článku na LWN.net. Projekt je zamýšlen jako pomůcka pro bezpečnostní experty a výzkumníky, takže instalujte pouze na vlastní nebezpečí a raději pouze do vlastních strojů 😉.
Iconify je seznam a galerie kolekcí vektorových open-source ikon, ke stažení je přes 275000 ikon z více jak dvou set sad. Tento rovněž open-source projekt dává vývojářům k dispozici i API pro snadnou integraci svobodných ikon do jejich projektů.
Dle plánu certifikační autorita Let's Encrypt nově vydává také certifikáty s šestidenní platností (160 hodin) s možností vystavit je na IP adresu.
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.
Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.
Zdravim potreboval bych prehlednejsi vypis nez da iwlist jenze vse co sem nasel je prot atheros a to mi s bcm43xx nefunguje.
iwlist wlan0 scan | egrep -i 'address|essid|key|quality|frequency'
Cell 01 - Address: 00:4F:62:1F:50:CD
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=61/70 Signal level=-49 dBm
Encryption key:on
ESSID:"NET"
jak udelat aby vypsal
essid Address key signal Ch Freq
----------------------------------------------------------------
"NET" 00:4F:62:1F:50:CD on 61/70 , -49 dBm 1 2.412 GHz
nerozumim tomu jak udelat script kdyz vypis muze byt ruzne dlouhy protoze pokazde iwlist vypise jinak dlouhej seznam
nemate nekdo neco s awkem nebo sedem ci takneco co by udelalo podobny jednoradkovy vypis vsech siti ?
Dekuju
iwlist wlan0 scan | grep ESSID | cut -d":" -f 2 | sed 's/\"//g'
a
iwlist wlan0 scan | grep Quality | cut -d "=" -f2 | cut -d "/" -f1
a jiné přeci při každém iwlist mi vyjede jinej seznam tak jak vyjmout ty rozsahy ?
nebo awk :
iwlist wlan0 scanning| awk '/Cell/ {print $5}; /ESS/ {print substr($1,7)}; /Freq/ {print substr($1,11)}; /Qual/ {print substr($1,9)}; /Encr/ {print substr($2,5)}'
no ale jak tomu dát formu a aby to jelo při více sítích a byla každá na jiném řádku ?
no prostě se snažim o něco jako http://www.simandl.cz/stranky/linux/wifimon/soubory/wifimon-0.5.5
klidně i s tim výpisem wbaru na konci ...
BEGIN {
cnt=0;
}
END {
print "Address essid key signal Ch Freq";
print "----------------------------------------------------------------";
for (i=0; i<cnt; i++)
print cells[i, "addr"], " ", cells[i, "essid"];
}
/ESSID/ {
x=match($0, "\".*\"");
cells[cnt-1, "essid"]=substr($0, x);
}
/Cell [0-9]+.*Address:.* .*$/ {
cells[cnt, "addr"]=$5;
cnt+=1;
}
a potom iwlist wan0 scan | awk -f file.awk
iwlist ... | while read line; do
if [[ $line == ... ]]; then
.....
fi
done
#!/usr/bin/python
import re, sys
c = re.compile(r'(?ms)'
r'^ Cell (?P<cell>\d+) - Address: (?P<addr>[0-9A-F:]+)\n'
r'(?P<info>(?: [^\n]*\n)*)')
def getgroup(info, name):
m = re.search(r'(?m)^ %s\s*(?P<value>.*)$' % name,
info)
if m:
return m.group('value').rstrip()
return ''
print '''\
-----------------------------------------------------------------------
essid address key signal frequency
-----------------------------------------------------------------------'''
fmt = '%16s %17s %3s %14s %s'
for x in c.finditer(sys.stdin.read()):
addr = x.group('addr')
info = x.group('info')
essid = getgroup(info, 'ESSID:')
encrypted = getgroup(info, 'Encryption key:')
channel = getgroup(info, 'Channel:')
frequency = re.sub(r'\s*\(.*', '', getgroup(info, 'Frequency:'))
signal = getgroup(info, 'Quality=').replace('Signal level=', '')
print fmt % (essid, addr, encrypted, signal, frequency)
A jeste přídám jeden skript pro priznivce sedu :)
iwlist ath0 scanning | sed -n -e '/ESSID/p;/Cell/p;/Frequency/p;/Quality/p;' | \
sed -e '$!N;N;N;s/.*Cell \([0123456789]*\) - Address: \(.*\)\n.*ESSID:"\(.*\)"\n.*Frequency:\([0123456789\.]*\) GHz (Channel \([0123456789]*\)).*\n.*Signal level[=:]\(.*\) .*Noise level[=:]\(.*\)/<tr><td> \1 <td>\3 <td>\2 <td><center>\5<\/center> <td>\4 <td>\6 <td>\7/'
Vysledek je videt zde:
http://78.108.103.11:11080/cgi-bin/aplist.cgi
#!/bin/bash
a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;x=0
echo -----------------------------------------------------------------
echo "Ch Essid Bssid Frekvence Kvalita Signal Kodovani Mod"
echo -----------------------------------------------------------------
while read line;do
[ "`echo $line | grep ESSID`" ] && essid[$a]=`echo "$line" | cut -d : -f 2 | grep -o '[a-z,A-Z,0-9]*'`
[ "`echo $line | grep Address`" ] && address[$b]=`echo "$line" | awk '{print $5}'`
[ "`echo $line | grep Channel:`" ] && channel[$c]=`echo "$line" | cut -d : -f 2 `
[ "`echo $line | grep Freq`" ] && freq[$d]=`echo "$line" | awk '{print $1}' | cut -d : -f 2`
[ "`echo $line | grep Quali`" ] && qual[$e]=`echo "$line" | awk '{print substr($1,9)}'`
[ "`echo $line | grep Signal`" ] && signal[$f]=`echo "$line" | awk '{print substr($3,7,3)}' `
[ "`echo $line | grep key`" ] && key[$g]=`echo "$line" | awk '{print substr($2,5,15)}' `
[ "`echo $line | grep Mode`" ] && mode[$h]=`echo "$line" | awk '{print substr($1,6,15)}' `
done < <(iwlist scan 2>/dev/null )
while [ $x -lt ${#essid[@]} ];do
echo ${channel[$x]} , ${essid[$x]} , ${address[$x]} , ${freq[$x]} , ${qual[$x]} , ${signal[$x]} , ${key[$x]} , ${mode[$x]}
(( x++ ))
done
Tak jen nevim jak udelat aby se sloupecky pevne vypisovaly vzdy na stejnem miste bez pouziti tabulatoru (jen s mezerama) kdyz delky nazvu siti mohou byt ruzne a take hodnoty.
user@NB-Pepe:~$ ./script
-----------------------------------------------------------------
Ch Essid Bssid Frekvence Kvalita Signal Kodovani Mod
-----------------------------------------------------------------
1 , NET , 00:4F:62:1F:50:CD , 2.412 , 63/70 , -47 , on , Master
2 , SauronNet Cheb20 , 00:02:72:71:5D:08 , 2.417 , 14/70 , -96 , off , Master
7 , ALLCMPA , 00:4F:62:17:CF:BD , 2.442 , 34/70 , -76 , on , Master
6 , ALLCMP , 00:4F:62:00:4D:81 , 2.437 , 49/70 , -61 , on , Master
7 , APD17P , 00:4F:62:17:E3:39 , 2.442 , 30/70 , -80 , on , Master
user@NB-Pepe:~$
#!/bin/bash
a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;x=0
echo -----------------------------------------------------------------
echo "Ch Essid Bssid Frekvence Kvalita Signal Kodovani Mod"
echo -----------------------------------------------------------------
while read line;do
[ "`echo $line | grep ESSID`" ] && essid[$a]=`echo "$line" | cut -d : -f 2 | grep -o '[a-z,A-Z,0-9]*'` && ((a++))
[ "`echo $line | grep Address`" ] && address[$b]=`echo "$line" | awk '{print $5}'` && ((b++))
[ "`echo $line | grep Channel:`" ] && channel[$c]=`echo "$line" | cut -d : -f 2 ` && ((c++))
[ "`echo $line | grep Freq`" ] && freq[$d]=`echo "$line" | awk '{print $1}' | cut -d : -f 2` && ((d++))
[ "`echo $line | grep Quali`" ] && qual[$e]=`echo "$line" | awk '{print substr($1,9)}'` && ((e++))
[ "`echo $line | grep Signal`" ] && signal[$f]=`echo "$line" | awk '{print substr($3,7,3)}' ` && ((f++))
[ "`echo $line | grep key`" ] && key[$g]=`echo "$line" | awk '{print substr($2,5,15)}' ` && ((g++))
[ "`echo $line | grep Mode`" ] && mode[$h]=`echo "$line" | awk '{print substr($1,6,15)}' ` && ((h++))
done < <(iwlist wlan0 sc 2>/dev/null )
while [ $x -lt ${#essid[@]} ];do
echo ${channel[$x]} , ${essid[$x]} , ${address[$x]} , ${freq[$x]} , ${qual[$x]} , ${signal[$x]} , ${key[$x]} , ${mode[$x]}
(( x++ ))
done
grep, a to s velkou nadějí na vítězství. Na každý řádek výstupu se spouští osmkrát grep + několik dalších zbytečných programů, pokud se daná položka náhodou najde.
Používáš tam awk, tak si to napiš celé v awk, když neumíš python (perl, ruby, něco rozumného), ale do jednoho skriptu pro awk. Šlo by to i v sedu, v pythonu jsem to napsal, jak jsem to napsal, aby moc nezáviselo na změnách formátu (např. pořadí položek, řada změn to ošem i tak rozbije), ale to je zjevně házení perel sviním...
. Výpis je dvouřádkový, včetně signáloměru. Upravil jsem to aby to bralo signál z kvality, ne z úrovní. Bere to jakoukoliv wifinu, tak si když tak uprav, pokud jich máš více. Pro zvýšení diversity je to v perlu
#!/usr/bin/perl
#
use strict;
my @scan = `/sbin/iwlist scan`;
push @scan, ' Cell';
my @list = ();
my $cnt = -1;
foreach my $line (@scan)
{
SW: for ($line)
{
/^\s*Cell/ && do {
if ($cnt >= 0)
{
my $bar = '';
for (my $i = 0; $i <= $list[$cnt]{signal}; $i++) {$bar .= '#';}
#for (my $i = abs($list[$cnt]{signal}); $i <= abs($list[$cnt]{noise}); $i++) {$bar .= '#';}
$list[$cnt]{bar} = $bar;
$line =~ s/Cell//;
}
$cnt++;
redo SW
};
/Address:\s+(\S+)/ && do {
$list[$cnt]{addr} = $1;
last SW;
};
/^\s+ESSID:/ && do {
($list[$cnt]{id}) = $line =~ /(".*")/;
last SW;
};
/\(Channel\s+(\d+)\)/ && do {
$list[$cnt]{ch} = $1;
last SW;
};
/^\s+Quality/ && do {
($list[$cnt]{signal}, $list[$cnt]{noise}) = $line =~ /Quality=(\d+)\/(\d+)/;
#($list[$cnt]{signal}, $list[$cnt]{noise}) = $line =~ /Signal level=(-?\d+).*Noise level=(-?\d+).*/;
last SW;
};
/^\s+Encryption key:(.*)/ && do {
$list[$cnt]{key} = $1;
last SW;
}
}
}
foreach my $cell (sort {$a->{ch} <=> $b->{ch}} @list)
{
printf "Address: %17s Channel: %2s key:%3s ESSID: %s\n", $$cell{addr}, $$cell{ch}, $$cell{key}, $$cell{id};
printf "%4s/%4s %s\n", $$cell{signal}, $$cell{noise}, $$cell{bar};
}
Tiskni
Sdílej: