Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.
… více »Inak na tento účel existuje originál nástroj tcprewrite,no bohužiaľ mi to nefunguje.Tu som to prebelal s autorom(je tam aj súbor s radiotap headers).
#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
#include <string.h>
#include <unistd.h>
#include <stdarg.h>
#include <limits.h>
#include <assert.h>
typedef struct pcaprec_hdr_s {
uint32_t ts_sec; /* timestamp seconds */
uint32_t ts_usec; /* timestamp microseconds */
uint32_t incl_len; /* number of octets of packet saved in file */
uint32_t orig_len; /* actual length of packet */
} pcaprec_hdr_t;
int main(int argc, char **argv) {
char c;
// header
for(int i = 0; i<24; i++) {
fread(&c, 1, 1, stdin);
}
// https://github.com/itds-consulting/tetra-multiframe-sds/blob/master/pcap.py
unsigned char _tmp_pcap[] = {
0xd4, 0xc3, 0xb2, 0xa1, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
};
unsigned int _tmp_pcap_len = 24;
fwrite(_tmp_pcap, _tmp_pcap_len, 1, stdout);
// individual packets
struct pcaprec_hdr_s h;
size_t alloc = 0;
char * packet = NULL;
char * eh = malloc(6+6+2);
while(!feof(stdin)) {
// read packet header
fread(&h, sizeof(struct pcaprec_hdr_s), 1, stdin);
// read packet
size_t len = h.incl_len;
if(alloc < len) {
packet = (char*)realloc((void*)packet, len);
alloc = len;
}
fread(packet, len, 1, stdin);
assert(len > 68);
// patch with ethernet header
// dst
memcpy(eh, packet+40, 6);
// src
memcpy(eh+6, packet+52, 6);
// ipv4
//eh[12] = 0x08;
//eh[13] = 0x00;
// copy
memcpy(packet+66-12, eh, 12);
// set size
// strip checksums
size_t diff = 66-12+4;
h.incl_len -= diff;
h.orig_len -= diff;
// write header
fwrite(&h, sizeof(struct pcaprec_hdr_s), 1, stdout);
// write packet
fwrite(packet+diff-4, len-diff, 1, stdout);
}
}
Tiskni
Sdílej: