Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."
Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
Immich byl vydán v první stabilní verzi 2.0.0 (YouTube). Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Jednoho nemileho vecera jsem se dozvedel, ze mi vyprsela platnost mych uctu na Rapidu i Hotfile. Ne, ze bych byl nejakym zarputilym stahovacem, ale na filmy a serialy se zpravidla podivam radeji nekdy v klidu na pocitaci bez dabingu, nez v case, ktery mi urci kterakoliv TV stanice. Premyslel jsem tedy, jak svuj problem vyresit a nakonec jsem si reseni musel napsat.
Motivace & PokusyNejakou dobu jsem zkusil zit jako free-user vsech download serveru, ale zjistil jsem, ze to je az prilis nepohodlne a s bittorentem jsem zacinat nechtel a to jenom kvuli tomu, ze jsem vystraseny srab. Dal jsem se tedy do probirani for s tim, ze zjistim, na ktere download servery nejcasteji lide uploaduji nektere filmy a serialy, co bych si rad stahnul a rozmyslim se, ktery server je pro me ten spravny.
Prozreni
Zadny. Je jich zkratka moc a komunita je uz hrozne roztristena. Pripada mi jako hrozna kravina, platit za jakykoliv jednotlivy download server.
Narazil jsem ale na jeden nedownload server, co me zaujal. nedownload server jsem ho nazval, protoze to neni download server v tom smyslu, jak je chapu ja. Je to vlastne jakasi proxy mezi mnou a obvyklimi servery.Neni vsechno zlato, co se trpyti
Jeste pri registraci je vsechno super. 900MB dostane kazdy user gratis. Ale pak uz jsem narazil.Reseni
Takze jsem sednul, spustil vim a udelal jsem skriptik v Pythonu, co tohle vsechno udela za me. Odkazy na one magicke strance generuje javaskript a pouziva k tomu dve promenne pro uzivatele. Takze jsem funkcionalitu webovky nahradil a skriptu staci jenom se jednou prihlasit, pak uz si tyto promenne ulozi a webovkou nepotrebuje. Skript vzniknul rychle, miliony veci mu ke krase schazi a dost toho neni osetreno - je to zatim jenom takovy koncept za jeden vecer, kdy jsem nemel nic jinyho na praci a urcite na nem jeste budu delat. Ale zatim jsem nenarazil na chybu, kvuli ktere bych neusnul, tak ho davam k posouzeni, k okomentovani a k volnemu vyuzivani.#!/usr/bin/env python2 # -*- coding: utf8 -*- import time, os, random, sys import httplib2 import urllib result={} def getHash(result): user = result['Credentials']['user'] passwd = result['Credentials']['passwd'] h = httplib2.Http(".cache") url = 'http://www.multishare.cz/html/prihlaseni_process.php' body = {'jmeno': user, 'heslo': passwd, 'trvale' : 'ano', 'akce' : 'Přihlásit'} headers = {'Content-type': 'application/x-www-form-urlencoded'} response, content = h.request(url, 'POST', headers=headers, body=urllib.urlencode(body)) headers = { 'Cookie' : response['set-cookie'] } h = httplib2.Http(".cache") url = 'http://www.multishare.cz/' response, content = h.request(url, 'GET', headers=headers) for line in content.split('\n'): if line.find('input') != -1: if line.find('u_ID') != -1: uId=line.split('"')[7] break for sliver in headers['Cookie'].split('='): if sliver.find(user) != -1: uHash=sliver.split('_')[0] break result['Hash'] = { 'u_ID' : str(uId), 'u_hash' : str(uHash)} return result def getConf(result): result['Hash'] = {} home = os.getenv("HOME") confDir = os.path.join(home, '.multishare') confPath = os.path.join(confDir, 'multishare.conf') if os.path.isdir(confDir) and os.path.isfile(confPath): f=open(confPath, 'r') for line in f.readlines(): if line.find('u_ID') != -1: result['Hash']['u_ID']=line.split('=')[1].rstrip('\n') if line.find('u_hash') != -1: result['Hash']['u_hash']=line.split('=')[1].rstrip('\n') f.close() else: result['Credentials'] = {} print "I cannot determine mine config. I need the credentials for login to multishare." print "This is usually needed just once." result['Credentials']['user'] = raw_input("Please enter your USERNAME for multishare.cz: ") result['Credentials']['passwd'] = raw_input("Please enter your PASSWORD for multishare.cz: ") result = getHash(result) if not os.path.exists(confDir): os.mkdir(confDir) f=open(confPath, 'a') for group in result: f.write('_%s_\n' % (group)) for val in result[group]: f.write('%s=%s\n' % (val, result[group][val])) f.close() return result def getURL(result): counter=0 result['URLs']={} src = sys.argv[1] uId = result['Hash']['u_ID'] uHash = result['Hash']['u_hash'] if os.path.isfile(src): f=open(src,'r') for line in f.readlines(): line = line.rstrip('\n') result['URLs'][line]={} for link in result['URLs'].keys(): done=0 urlDown = 'http://dl%s.mms.multishare.cz/html/mms_process.php?u_ID=%s&u_hash=%s&link=%s' % (random.randint(1, 10000), uId, uHash, link) result['URLs'][link]['down'] = urlDown saveAs = urlDown.split('/')[-1] if saveAs == '': saveAs = urlDown.split('/')[-2] while done == 0: if os.path.exists(saveAs): saveAs = '%s.%s' % (saveAs, counter) else: done = 1 result['URLs'][link]['save'] = saveAs f.close() return result def downloadIt(downFrom, saveTo): f = open(saveTo,'w') # httplib2.debuglevel=4 h = httplib2.Http(".cache") try: response, content = h.request(downFrom, 'GET', redirections = 1) f.write(content) f.close() except Exception, e: print 'Problem with downloading %s.\nException: %s' % (downFrom, e) f.close() os.remove(saveTo) def usage(): print 'Usage: %s /path/to/file' % (sys.argv[0]) print '/path/to/file is file which contains a list of URLs' sys.exit(1) def check_usage(): if len(sys.argv) != 2: usage() f=sys.argv[1] if not os.path.isfile(f): usage() #Main check_usage() result=getConf(result) result=getURL(result) for url in result['URLs'].keys(): print 'started %s %s' % (result['URLs'][url]['save'], url) downloadIt(result['URLs'][url]['down'], result['URLs'][url]['save']) print 'finnished %s %s' % (result['URLs'][url]['save'], url)Závěr
Tiskni
Sdílej:
K tomu stahovani zdarma a pres prohlizec muzu rict jen to, ze kdyz clovek vyzkousi, jak moc pohodlny jtreba ten JDownloader je, tak mu padne spodni celist k zemi. Ja vetsinou stahuji veci, co se do jednoho odkazu nevejdou, takze jsou na vic linku = delsi doba cekani. kdyz se chci podivat na jeden nebo dva dily nejakyho serialu pred spanim, nebudu spani odkladat o hodinu, abych ty tri casti stahnul. Jdownloader ma i to, ze pozna, kdyz odkazy oznacim a rovnou testuje, jestli je online. Po stazeni ho automaticky zkusi rozbalit - drzi si databazi hesel, ktere jsem pro rozbalovani nekdy pouzil. Proste oproti prohlizeci celou operaci zrychluje a usnadnuje doporucuji ho aspon zkusit.
Třeba takovýha Shreka 1 a 2 na DVD už nikde neseženu, všude jenom 4 a když se hodně snažim tak i 3. Štestí že děckám je jedno na co koukají, takže vystačim i s tou menší sbírkou. A zbytek holt doplní avíčka, ikdyž ty přehrávač zrovna nemiluje. Aspoň je od nich na chvíli pokoj. Teď si je ještě vyškolit aby nehrabali na obrozovku a nemusela se každej tejden čistit ...
Jedine ulozto.cz
Avi lze po nekolika minutach stahovani zacit prehravat a tak mrknout bez nutnosti cekani na komplet download.
100 - 200 MB rar party na rapidu patri jiz do praveku.
Mj vite ze hafo lidi si mysli ze .rar = rapidshare ....
Pred cca rokem jsem na ulozto nahral asi deset prazdnych souboru (vytvorenych pomoci dd) o velikosti 1024 MB a chaotockem nazvu ... neco jako "ftrsnvhkdhr.vfg", schoval si linky a dnes ty soubory tam stale jsou. Spolehat na to samozrejme nelze, ale ostatni FS se muzou jit v tomto (a nejen tomto) vycpat.
>>> ze se crc check muze podelat jenom na jednom 100MB kusu ...
Ano a pokud v jedinem souboru bude jen jediny bit jinak tak je to spatny narozdil od souvisleho avi ci jineho videosouboru souboru ve kterem muze chybet (nebo byt jinak poskozen) klidne stovky kilobajtu a divak nic nepozna.
rar r
(ale musíš mít ten "nesvobodnej" rar, free a open unrar tuhle funkci nemá). Tahle funkce mi už párkrát vyřešila problém, kdy už to vypadalo že sem tahal 4 GB zbytečně ...
Štěstí že většina uploaderů to balí s 1-5 % dat pro opravu archivu.
Vse je to jen o implementaci protokolu pro prenos souboru v siti.
Pokud budete z klasickeho http serveru v Australii tahat 4 GB iso nejakeho distra a spojeni se mnohosetkrat prerusi, pojede to par kilobajtama a podobne defekty v prenosu tak stejne vezte ze konecny md5 bude naprosto totozny se souborem na serveru tj nedojde k zadne ztrate dat a pritom pouzijete jen: wget -c URL
Jenze to by nebyl byznys, aby se protokol nezkriplil ku prospechu provozovatele takze nelze navazat preruseny prenos ...
Opet neni problem v technice, ale v lidech
java -jar JDownloader.jar -branch NIGHTLY
.
Nicmene jdownloader jako takovy zere dost pameti a CPU (a nightly verze je na tom subjektivne jeste hur), takze rad vyzkousim tvuj skript (ktery bude urcite mene narocny), diky :)