#------------------------------------------------------------------------------ # $File: aria,v 1.2 2024/06/10 23:09:52 christos Exp $ # aria: file(1) magic for download manager aria # URL: https://de.wikipedia.org/wiki/Aria_(Software) # Reference: https://github.com/aria2/aria2/blob/master/doc/manual-src/en/technical-notes.rst # From: Joerg Jenderek # Note: only version 1 suited # check for valid version one 0 beshort 0x0001 # skip most uncompressed DEGAS med-res bitmap *.PI2 and GEM bitmap (v1) *.IMG # by test for valid infoHashCheck extension >2 ubelong&0xffFFffFE 0x00000000 # skip DEGAS med-res bitmap DIAGRAM1.PI2 by test for valid length of download >>(6.L+14) ubequad >0 >>>0 use aria 0 name aria # version; (0x0000) or (0x0001); for 0 all multi-byte are in host byte order. For 1 big endian >0 beshort x aria2 control file, version %u #!:mime application/octet-stream !:mime application/x-aria !:ext aria2 # EXTension; if EXT[3]&1 == 1 checks whether saved InfoHash and current downloading the same; infoHashCheck extension >2 ubelong !0 \b, infoHashCheck %#x # info hash length like: 0 14h >6 ubelong !0 \b, %#x bytes info hash # info hash; BitTorrent InfoHash >>10 ubequad x %#16.16llx... # piece length; the length of the piece like: 400h 100000h >(6.L+10) ubelong x \b, piece length 0x%x # total length; the total length of the download >(6.L+14) ubequad x \b, total length %llu #>(6.L+14) ubequad x \b, total length %#llx # upload length; the uploaded length of download like: 0 400h >(6.L+22) ubequad !0 \b, upload length %#llx # bitfield length; the length of bitfield like: 4 6 Ah 10h 13h 167h >(6.L+30) ubelong x \b, %#x bytes bitfield # bitfield; bitfield which represents current download progress >(6.L+34) ubequad !0 %#llx...