Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.
TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.
Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.
Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.
Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).
Byla vydána grafická knihovna Mesa 26.0.1 s podporou API OpenGL 4.6 a Vulkan 1.4. Je to první stabilní verze po 26.0.0, kde se novinky týkají mj. výkonu ray tracingu na GPU AMD a HoneyKrisp, implementace API Vulkan pro macOS.
Byla vydána nová verze 4.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Byla vydána nová verze 3.23.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opravuje 11 bezpečnostních chyb.
Španělský softwarový inženýr oznámil, že se mu podařilo na dálku ovládat sedm tisíc robotických vysavačů po celém světě. Upozornil tak na slabé kybernetické zabezpečení těchto technologií a jejich možné a snadné zneužití. Nesnažil se hacknout všechny robotické vysavače po světě, ale pouze propojil svůj nový DJI Romo vysavač se zařízením Playstation. Aplikace podle něj ihned začala komunikovat se všemi sedmi tisíci spotřebiči a on je
… více »Momo je fenka cavapoo, která svými náhodnými stisky kláves bezdrátové klávesnice vytváří jednoduché počítačové hry. Technicky to funguje tak, že Raspberry Pi s připojenou bluetooth klávesnicí posílá text do Claude Code, který pak v Godotu píše hry a sám je i testuje pomocí screenshotů a jednoduchých simulovaných vstupů. Za stisky kláves je Momo automaticky odměňována pamlsky. Klíčový je pro projekt prompt, který instruuje AI, aby i
… více »
#!/usr/sbin/nft -f
# vlan10: 192.168.10.0/24 - LAN
# vlan20: 192.168.20.0/24 - DMZ
# vlan30: 192.168.30.0/24 - Guest network
# vlan100: 192.168.100.0/24 - servis / management network
# tun0: 192.168.40.0/24 - OpenVPN
# wg0: 192.168.50.0/24 - Wireguard VPN
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
# accept any localhost traffic
iif lo accept
# accept trafic originated from us
ct state established,related accept
# drop invalid packets
ct state invalid counter drop
# accept http, https from anywhere
tcp dport { 80,443 } accept
# accept OpenVPN clients from anywhere
udp dport 1194 accept
# accept WireGuard clients from anywhere
udp dport 5180 accept
# accept SSH only from my servis / management IPs
tcp dport ssh ip saadr 192.168.100.11 accept
tcp dport ssh ip saadr 192.168.100.12 accept
# accept icmp from anywhere
ip protocol icmp accept
# accept icmpv6 from anywhere
ip6 nexthdr icmpv6 accept
# meta nfproto ipv6 from anywhere
icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 1 accept
icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 255 counter accept
# count and reject everithing else
counter reject with icmpx type admin-prohibited
}
chain forward {
type filter hook forward priority 0;
}
chain output {
type filter hook output priority 0;
}
}
table ip nat {
chain prerouting {
type nat hook prerouting priority 100; policy accept;
iif "ens192" tcp dport 33891 dnat to 192.168.20.11:3389
iif "ens192" tcp dport 33892 dnat to 192.168.20.12:3389
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
ip saddr 192.168.10.0/24 oif "ens192" masquerade
ip saddr 192.168.20.0/24 oif "ens192" masquerade
ip saddr 192.168.30.0/24 oif "ens192" masquerade
ip saddr 192.168.40.0/24 oif "ens192" masquerade
ip saddr 192.168.50.0/24 oif "ens192" masquerade
ip saddr 192.168.100.0/24 oif "ens192" masquerade
}
}
chain forward {
type filter hook forward priority 0; policy drop;
iifname "vlan100" oifname "ens192" ct state related,established accept # vlan100 -> WAN
iifname "ens192" oifname "vlan100" accept # WAN -> vlan100
iifname "vlan101" oifname "ens192" ct state related,established accept # vlan101 -> WAN
iifname "ens192" oifname "vlan101" accept # WAN -> vlan101
iifname "vlan102" oifname "ens192" ct state related,established accept # vlan102 -> WAN
iifname "ens192" oifname "vlan102" accept # WAN -> vlan102
iifname "vlan103" oifname "ens192" ct state related,established accept # vlan103 -> WAN
iifname "ens192" oifname "vlan103" accept # WAN -> vlan103
iifname "vlan100" oifname "vlan101" ct state related,established accept # vlan100 -> vlan101
iifname "vlan100" oifname "vlan102" ct state related,established accept # vlan100 -> vlan102
iifname "vlan100" oifname "vlan103" ct state related,established accept # vlan100 -> vlan103
}
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
# accept any localhost traffic
iif lo accept
# accept trafic originated from us
ct state established,related accept
# drop invalid packets
ct state invalid counter drop
# accept http, https from anywhere
tcp dport { 80,443 } accept
# accept OpenVPN clients from anywhere
udp dport 1194 accept comment "OpenVPN in"
# accept WireGuard clients from anywhere
udp dport 5180 accept comment "WireGuard in"
# accept SSH only from this IPs
tcp dport ssh ip saddr 10.255.255.32 accept comment "SSH in"
tcp dport ssh ip saddr 10.1.100.11 accept comment "SSH in"
tcp dport ssh ip saddr 10.1.100.12 accept comment "SSH in"
# accept icmp from anywhere
ip protocol icmp accept
# accept icmpv6 from anywhere
ip6 nexthdr icmpv6 accept
# meta nfproto ipv6 from anywhere
icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 1 accept
icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 255 counter accept
# count and reject everithing else
counter reject with icmpx type admin-prohibited
}
chain forward {
type filter hook forward priority 0; policy drop;
# povolím přístup na internet z vlan100
iifname "vlan100" oifname "ens192" accept # vlan100 to Internet
iifname "ens192" oifname "vlan100" ct state related,established accept # Internet to vlan100
# povolím přístup na internet z vlan101
iifname "vlan101" oifname "ens192" accept # vlan101 to Internet
iifname "ens192" oifname "vlan101" ct state related,established accept # Internet to vlan101
# povolím přístup z vlan100 do vlan101
# pokud se komunikace navazuje z vlan100
iifname "vlan100" oifname "vlan101" accept # vlan100 to vlan101
iifname "vlan101" oifname "vlan100" ct state related,established accept # vlan101 to vlan100
}
chain output {
type filter hook output priority 0;
}
}
table ip nat {
chain prerouting {
type nat hook prerouting priority 0; policy accept;
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
ip saddr 10.100.1.0/24 oif "ens192" snat 10.255.255.251
ip saddr 10.101.1.0/24 oif "ens192" snat 10.255.255.251
}
}
Předem děkuji.
iifname "vlan101" ip saddr 10.101.1.11 oifname "vlan100" accept
iifname "vlan100" ip daddr 10.101.1.11 oifname "vlan101" accept
Díky,
cat /etc/nftables.conf
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
# accept any localhost traffic
iif lo accept
# accept trafic originated from us
# ct state established,related accept
# drop invalid packets
ct state invalid counter drop
# accept http, https from anywhere
tcp dport { 80,443 } accept
# accept OpenVPN clients from anywhere
udp dport 1194 accept comment "OpenVPN in"
# accept WireGuard clients from anywhere
udp dport 5180 accept comment "WireGuard in"
# accept SSH only from this IPs
tcp dport ssh ip saddr 10.255.255.32 accept comment "SSH in"
tcp dport ssh ip saddr 10.100.1.11 accept comment "SSH in"
tcp dport ssh ip saddr 10.101.1.11 accept comment "SSH in"
# accept icmp from anywhere
ip protocol icmp accept
# accept icmpv6 from anywhere
ip6 nexthdr icmpv6 accept
# meta nfproto ipv6 from anywhere
icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 1 accept
icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} ip6 hoplimit 255 counter accept
# count and reject everithing else
counter reject with icmpx type admin-prohibited
}
chain forward {
type filter hook forward priority 0; policy drop;
# povolím přístup na internet z vlan100
iifname "vlan100" oifname "ens192" accept # vlan100 to Internet
iifname "ens192" oifname "vlan100" ct state related,established accept # Internet to vlan100
# povolím přístup na internet z vlan101
iifname "vlan101" oifname "ens192" accept # vlan101 to Internet
iifname "ens192" oifname "vlan101" ct state related,established accept # Internet to vlan101
# povolím přístup z vlan100 do vlan101
# pokud se komunikace navazuje z vlan100
iifname "vlan100" oifname "vlan101" accept # vlan100 to vlan101
iifname "vlan101" oifname "vlan100" ct state related,established accept # vlan101 to vlan100
iifname "vlan101" ip saddr 10.101.1.12 oifname "vlan100" accept
iifname "vlan100" ip daddr 10.101.1.12 oifname "vlan101" accept
}
chain output {
type filter hook output priority 0;
}
}
table ip nat {
chain prerouting {
type nat hook prerouting priority 0; policy accept;
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
ip saddr 10.100.1.0/24 oif "ens192" snat 10.255.255.251
ip saddr 10.101.1.0/24 oif "ens192" snat 10.255.255.251
}
}
Díky,
Petr
Tiskni
Sdílej: