SolveSpace (Wikipedie), tj. multiplatformní open source parametrický 2D/3D CAD, byl vydán v nové verzi 3.2. Přehled novinek v Changelogu na GitHubu. Vyzkoušet lze novou oficiální webovou verzi.
Organizátoři Dne IPv6, tradiční akce věnované tématům spojeným s tímto protokolem, vyhlásili Call for Abstracts. Na webu konference mohou zájemci přihlašovat příspěvky o délce 20 nebo 40 minut či 10minutové lighting talky a to až do 30. dubna. Tvůrci programu uvítají návrhy přednášek z akademického i komerčního sektoru, které mohou být technického i netechnického zaměření. Den IPv6 se letos uskuteční 4. června a místem konání bude i
… více »Euro-Office (Wikipedie) je evropský fork open source kancelářského balíku OnlyOffice. Za forkem stojí koalice firem IONOS, Nextcloud, Eurostack, XWiki, OpenProject, Soverin, Abilian a BTactic. Cílem je zajistit digitální suverenitu Evropy a snížit závislost na neevropských platformách. Projekt vznikl mimo jiné v reakci na nedávné uzavření cloudové služby OnlyOffice. OnlyOffice obviňuje Euro-Office z porušení licenčních podmínek. Na možné problémy upozorňuje i Collabora Online. Jednostranná změna licence není v pořádku.
Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Ve stručnosti si pro začátek řekněme, co je to Bayesovský filtr, jak funguje a proč je pro nás tak zajímavý. Bayesovský filtr vypočítává pravděpodobnost toho, jestli je daný mail spam nebo ne. Hlavní podstatou je určování pravděpodobnosti klíčových slov, jejichž průměr určí výslednou hodnotu, tj. jaká je šance, že celý mail je spam. Výhodou oproti ostatním filtrům je především to, že se stále učí z nových došlých mailů, které jsou ručně nebo automaticky označovány jako spam a tím se neustále rozrůstá databáze, podle které je možné odhadovat pravděpodobnost nevyžádané pošty.
Ve skutečnosti existuje více variací Bayesovského filtru a pravděpodobně každá implementace má své výhody. Nicméně všechny stojí na výše popsaném základním principu. My se dnes podíváme na dva programy, kde je tento filtr využit. První je desktopové řešení a tím je emailový klient oblíbeného prohlížeče Mozilla, druhý je naopak serverové řešení SpamAssassin hodící se především pro spojení s mailserverem.
V Mozille funguje antispamová ochrana velmi jednoduše. Stačí každý nevyžádaný příchozí email označit jako "Junk" ("Nevyžádaná") a Mozilla si příště bude pamatovat, že takový a jemu podobné má rovnou zahazovat a to buď do složky "Junk", nebo jinam dle nastaveni. Pravidla pro označování mailů jako spamu si Mozilla vytváří právě na základě Bayesovského filtru, z čehož vyplývá, že čím více budeme mít jak vyžádané, tak nevyžádané (a řádně označené) pošty, tím přesnější filtr bude. Už při menším počtu začne filtr celkem slušně fungovat, ale pro správnou funkci je zapotřebí relativně velké množství vzorků, takže minimálně zpočátku není dobré slepě věřit, že vše, co skončí ve složce "Junk", je opravdu jen spam. Proto je lepší ji čas od času zkontrolovat.
Pro zprovoznění správné JunkMail funkce je třeba ji nějak nastavit. Provedeme to ve složce Tools/Junk Mail Controls (Nástroje/Nastavení nevyžádané pošty). Nastavují se zde účty, na které se bude filtr aplikovat, také "White Lists", které budou obsahovat buď adresy z osobního adresáře nebo z posbíraných adres. Je také samozřejmě možné celou kontrolu povolit nebo zakázat. Dále zde najdeme, jakým způsobem se má nakládat právě s poštou označenou jako "Junk". Pro každý účet je možné nechtěnou poštu přesunout do složky "Junk", nebo je možné spam ze všech účtů shromažďovat do jediné složky. Je také možné nastavit, za jak dlouho se mají "junkmaily" ze složek odstranit, eventuálně je možné je odstraňovat rovnou. Dále je možné zapnout/vypnout logování.
Ještě pro doplnění je třeba říci, že v Mozille-ThunderBird (samostatný email klient) je nastavení malinko odlišné. Celé nastavení je rozděleno do tří záložek - pravděpodobně pro budoucí rozšíření. Na první záložce je navíc položka pro "očištění" HTML spamu. Dále například na záložce "Adaptive Filters" je možné službu pouze zapnout/vypnout. Předpokládám, že v budoucnu bude možné nějaké další nastavení. Poslední záložkou je "Black Lists", kde asi bude možné nastavovat známé "černé listiny", ale tato možnost zatím nebyla v Mozille ThunderBird 0.1a aktivována.
SpamAssassin je perlový program, takže nutným předpokladem je mít nainstalován Perl. Jako další je potřeba mít následující perl moduly:
File::Spec, Pod::Usage, HTML::Parser, Sys::Syslog.
|
Pod "rootem" lze všechny nainstalovat pomocí příkazu:
perl -MCPAN -e 'Modul::Name'.
|
Bez práv "roota" je to o něco složitější, nicméně to taky jde.
Ale přidávat tyto moduly je nutné pouze pokud se SpamAssassin instaluje ze zdrojového kódu. U ostatních způsobů by se měly nainstalovat samy.
Nainstalovat SpamAssasin je možné mnoha způsoby. Download oficiálních verzí je k dispozici na zde nebo mirror zde.
V nejnovějších distribucích RedHat, Mandrake a Debian je SpamAssassin už obsažen, takže je možné jej vybrat již při instalaci systému. Pokud tak neučiníme při instalaci, pak máme k dispozici následující možnosti:
rpm -ivh spamassassin-*.i386.rpm
|
apt-get install spamassassin
|
tar -zxvf Mail-SpamAssassin-*
|
pokud budeme instalovat bez superuživatelských práv pouze do svého domovského adresáře, tak můžeme nahradit třetí řádek následujícím:
perl Makefile.PL PREFIX=~/sausr SYSCONFDIR=~/saetc
|
perl -MCPAN -e shell
|
Jestli se podařilo SpamAssassin nainstalovat správně je možné vyzkoušet příkazem:
/usr/bin/spamassassin < /usr/share/doc/spamassassin-2.55/sample-spam.txt
|
Samozřejmě příkaz v téhle podobě bude fungovat pouze pokud je nainstalována verze 2.55 do standardních adresářů. Jeho výstupem by měl být mail, který ve svých hlavičkách obsahuje následující položky:
X-Spam-Status:
|
V těchto hlavičkách se objeví, jestli je mail označen jako spam, jaké je jeho skóre, verze SpamAssassinu, zpráva a příznak, který by v tomto konkrétním případě měl být 'YES'.
Spustit SpamAssasin je možné z mnoha míst a záleží na našem nastavení systému, který zpracovává poštu. Protože nám ale jde především o nastavení filtrů, ukážu některé jednodušší varianty. Na oficiálních stránkách SpamAssassinu se můžeme dočíst, kde všude ho lze integrovat. Mezi ty zajímavější patří Amavisd-new, MailScanner, Sendmail a další. Všechny nástroje fungují na stejném principu a na některém místě zpracování mailu se SpamAssassin spustí a zapíše do hlaviček výsledek. My si tedy ukážeme zapojení do systému přes Procmail a Postfix.
Ještě je třeba říci, že SpamAssassin může běžet ve dvou módech. Jednak jako démon, který běží na pozadí a jeho klientem je program "spamc", a nebo se vždy spouští celý program "spamassassin". Démona může spouštět pouze uživatel root a to například příkazem /etc/init.d/spamassassin start. Používání démona by mělo mít výhodu hlavně v rychlosti zpracování.
Toto je velmi jednoduchá záležitost. Pro celosystémové použití (Site-Wide use) do /etc/procmailrc nebo pouze pro uživatele do ~/.procmailrc zapíšeme následující:
MAILDIR=$HOME/mail
|
Druhý řádek záleží na našem nastavení. Prostě je to cesta buď ke klientovi "spamc" nebo přímo k programu "spamassassin".
Pro automatickou filtraci můžeme použít další pravidlo, které zprávy označené jako spam uloží do speciální schránky. Pokud to budeme chtít udělat pro všechny uživatele, pak v /etc/procmailrc, pro jednotlivé uživatele opět do ~/.procmailrc, nastavíme:
:0
|
SpamAssassin je možné integrovat přímo do Postfixu během několika málo kroků. Pěkný, funkční návod "krok za krokem" je možné nalézt zde. Integrace do Postfixu jsou kroky 3 - 9. Zbytek už je opět filtrace přes procmail, která je už výše zmíněná.
SpamAssassin nabízí velmi širokou škálu nastavení. Systémové nastavení se nalézá v souboru /etc/mail/spamassassin/local.cf, uživatelské nastavení pak v souboru ~/.spamassassin/user_prefs. Voleb je opravdu mnoho, jejich seznam je zde. Několik základních si ale představíme.
V témže souboru je možné měnit hodnotu jednotlivých pravidel pomocí direktivy
score SYMBOLIC_TEST_NAME n.nn
|
čímž můžeme výrazně ovlivnit, co se bude a nebude považovat za spam. Symbolická jména testů je možné nalézt v adresáři /usr/share/spamassassin/, kde jsou v různých souborech popsána všechna pravidla. Tato pravidla se nedoporučuje měnit, protože při upgradu na novější verzi budou přepsána. Jsou také popsána včetně výchozích hodnot zde.
Poslední věc, kterou ještě zmíním, je pomocná aplikace pro vytváření
databáze pro Baeysovský filtr. Tato aplikace se nazývá sa-learn a najdeme ji v adresáři s nainstalovanými binárkami. Nejjednodušší použití je zhruba takovéto:
/usr/bin/sa-learn --spam --mbox ~/mail/spam
|
Přidá do uživatelské databáze spam ze složky, do které ukládáme spam.
/usr/bin/sa-learn --ham --mbox /var/spool/mail/user_name
|
Přidá do uživatelské databáze ham ("nespam") ze složky, ve které je došlá pošta s nižším než potřebným skóre.
Tak to byl takový zevrubný popis a průvodce instalací SpamAssassinu. Je to opravdu velmi rozsáhlé téma a i když se to třeba nezdá, tak SpamAssassin nabízí mnohem širší možnosti než co jsou výše popsány. Pro vyloženě zvídavé jsou připraveny následující odkazy, oficiální dokumentace, manuálové stránky a samozřejmě také "pan Google" je ochoten kdykoli pomoci.
Razor - uživatelská databáze spamu, založená na faktu, že jeden stejný mail se rozesílá na tisíce adres. V případě, že spam někdo dostane dříve než my, označí jej a odešle do sdílené databáze, máme pak možnost do této databáze nahlédnout a stejný mail případně zamítnout.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
#!/bin/sh
#----------------------------------------
# FUNCTIONS
#----------------------------------------
function mylog()
{
MYLOG_CURRENT=`date "+%Y-%m-%d %H:%M:%S"`
echo "$MYLOG_ID $MYLOG_CURRENT $1" >> $MYLOG
}
#----------------------------------------
# PREPARE DIRECTORIES AND VARIABLES
#----------------------------------------
MYLOG=/var/log/bogofilter.log
MYDIR=/data/scripts/bogowrap
MBXS_SPAM=$MYDIR/mbxs_spam
MBXS_NOSPAM=$MYDIR/mbxs_nospam
export PATH="/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin"
export WORDLIST_DIR=$MYDIR/wordlists
case "$1" in
"-l")
#--------------------------------------------
# LEARNING
#--------------------------------------------
mkdir $WORDLIST_DIR 2> /dev/null
mkdir $WORDLIST_DIR.tmp 2> /dev/null
rm -f $WORDLIST_DIR.tmp/*.db 2> /dev/null
[ "$2" = "-e" ] || cp -f $WORDLIST_DIR/* $WORDLIST_DIR.tmp/ 2> /dev/null
mylog "Bogofilter learning started (prepare)."
SPAM_COUNT=`find $MBXS_SPAM -follow | grep -c ""`
mylog "Bogofilter learning of $SPAM_COUNT spam messages started."
find $MBXS_SPAM -follow | egrep "\.$" | nice -n 10 awk '{system("cat \""$1"\" | \
bogofilter -s -d "ENVIRON["WORDLIST_DIR"]".tmp")}'
mylog "Bogofilter learning of $SPAM_COUNT nospam messages started."
[ $? -eq 0 ] && find $MBXS_NOSPAM -follow -printf "%TY%Tm%Td %p\n" | egrep "\.$" | sort | \
tail -$SPAM_COUNT | nice -n 10 awk '{system("cat \""$2"\" | \
bogofilter -n -d "ENVIRON["WORDLIST_DIR"]".tmp")}'
if [ $? -eq 0 ]
then
rm -f $WORDLIST_DIR/goodlist.db 2> /dev/null
bogoutil -d $WORDLIST_DIR.tmp/goodlist.db | bogoutil -l $WORDLIST_DIR/goodlist.db
rm -f $WORDLIST_DIR/spamlist.db 2> /dev/null
bogoutil -d $WORDLIST_DIR.tmp/spamlist.db | bogoutil -l $WORDLIST_DIR/spamlist.db
fi
mylog "Bogofilter learning finished."
exit $?
;;
"-a")
#--------------------------------------------
# ANALYZING
#--------------------------------------------
SPAM=No
MYFILE=$MYDIR`tempfile`
mkdir $SPAM_TREZOR 2> /dev/null
cp "$2" "$MYFILE"
bogofilter -I "$MYFILE" -O "$2" -p -d $WORDLIST_DIR
[ $? -eq 0 ] && SPAM=Yes
mylog "Bogofilter analysis of $2 done (X-Bogosity: $SPAM)."
rm -f "$MYFILE"
;;
*)
echo "Syntax : bogowrap [-l [-e]|-a ]"
echo "Options : -l ... learn"
echo " -a ... analyze message "
echo " -e ... learn and emty wordlists, used with -l"
exit 0
;;
esac
A idea na zaver. Proc vyse uvedeny princip pouzivat pouze na spam? Proc jej nevyuzit i pro bezne zatridovani zprav metodou 'by example'?
(Firebird 0.6)
Pouzivam jej priblizne pul roku a za tu doby jsem nemel jediny "dobry" mail spatne zarazeny do spamu a tak asi 1 spam za 14 dni klasifikovany jako "dobry". Slusna uspesnost ne? Zvlast kdyz me v dobry den prijde i 30 spamu...
maps_rbl_domains = relays.ordb.org, bl.spamcop.net, dnsbl.njabl.orgna inych mailserveroch tiez jednoducho nastavitelne. bye