మూడున్నర సంవత్సరాల అభివృద్ధి తర్వాత, GNU Wget2 ప్రాజెక్ట్ యొక్క మొదటి స్థిరమైన విడుదల అందించబడింది, GNU Wget కంటెంట్ యొక్క పునరావృత డౌన్లోడ్ను ఆటోమేట్ చేయడానికి ప్రోగ్రామ్ యొక్క పూర్తిగా పునఃరూపకల్పన చేయబడిన సంస్కరణను అభివృద్ధి చేస్తుంది. GNU Wget2 మొదటి నుండి రూపొందించబడింది మరియు తిరిగి వ్రాయబడింది మరియు వెబ్ క్లయింట్ యొక్క ప్రాథమిక కార్యాచరణను libwget లైబ్రరీకి తరలించడం ద్వారా గుర్తించదగినది, ఇది అప్లికేషన్లలో విడిగా ఉపయోగించబడుతుంది. యుటిలిటీ GPLv3+ కింద లైసెన్స్ పొందింది మరియు లైబ్రరీ LGPLv3+ కింద లైసెన్స్ పొందింది.
ఇప్పటికే ఉన్న కోడ్ బేస్ను క్రమంగా పునర్నిర్మించడానికి బదులుగా, మొదటి నుండి ప్రతిదీ పునరావృతం చేయాలని మరియు పునర్నిర్మాణం, కార్యాచరణను పెంచడం మరియు అనుకూలతను విచ్ఛిన్నం చేసే మార్పులు చేయడం కోసం ఆలోచనలను అమలు చేయడానికి ఒక ప్రత్యేక Wget2 శాఖను ఏర్పాటు చేయాలని నిర్ణయించారు. FTP ప్రోటోకాల్ మరియు WARC ఆకృతిని మినహాయించి, wget2 చాలా సందర్భాలలో క్లాసిక్ wget యుటిలిటీకి పారదర్శక ప్రత్యామ్నాయంగా పని చేస్తుంది.
ఇలా చెప్పుకుంటూ పోతే, wget2 ప్రవర్తనలో కొన్ని డాక్యుమెంట్ చేసిన వ్యత్యాసాలను కలిగి ఉంది, సుమారు 30 అదనపు ఎంపికలను అందిస్తుంది మరియు అనేక డజన్ల ఎంపికలకు మద్దతు ఇవ్వడం ఆపివేస్తుంది. “-ask-password”, “-header”, “-exclude-directories”, “-ftp*”, “-warc*”, “-limit-rate”, “-relative” వంటి ఎంపికల ప్రాసెసింగ్తో సహా ఆపివేయబడింది " మరియు "--అన్లింక్".
కీలక ఆవిష్కరణలు:
- కార్యాచరణను libwget లైబ్రరీకి తరలిస్తోంది.
- మల్టీ-థ్రెడ్ ఆర్కిటెక్చర్కి మార్పు.
- బహుళ కనెక్షన్లను సమాంతరంగా ఏర్పాటు చేయగల సామర్థ్యం మరియు బహుళ థ్రెడ్లకు డౌన్లోడ్ చేయడం. "-chunk-size" ఎంపికను ఉపయోగించి బ్లాక్లుగా విభజించబడిన ఒక ఫైల్ యొక్క డౌన్లోడ్ను సమాంతరంగా చేయడం కూడా సాధ్యమే.
- HTTP/2 ప్రోటోకాల్ మద్దతు.
- సవరించిన డేటాను మాత్రమే డౌన్లోడ్ చేయడానికి If-Modified-Since HTTP హెడర్ని ఉపయోగించండి.
- ట్రికిల్ వంటి బాహ్య బ్యాండ్విడ్త్ పరిమితులను ఉపయోగించేందుకు మారండి.
- యాక్సెప్ట్-ఎన్కోడింగ్ హెడర్, కంప్రెస్డ్ డేటా ట్రాన్స్ఫర్ మరియు brotli, zstd, lzip, gzip, deflate, lzma మరియు bzip2 కంప్రెషన్ అల్గారిథమ్లకు మద్దతు.
- రద్దు చేయబడిన సర్టిఫికేట్లను తనిఖీ చేయడానికి TLS 1.3, OCSP (ఆన్లైన్ సర్టిఫికేట్ స్టేటస్ ప్రోటోకాల్), HTTPSకి బలవంతంగా దారి మళ్లించడానికి HSTS (HTTP స్ట్రిక్ట్ ట్రాన్స్పోర్ట్ సెక్యూరిటీ) మెకానిజం మరియు సర్టిఫికేట్ బైండింగ్ కోసం HPKP (HTTP పబ్లిక్ కీ పిన్నింగ్) కోసం మద్దతు.
- TLS కోసం బ్యాకెండ్లుగా GnuTLS, WolfSSL మరియు OpenSSLలను ఉపయోగించగల సామర్థ్యం.
- TCP కనెక్షన్లను వేగంగా తెరవడానికి మద్దతు (TCP FastOpen).
- అంతర్నిర్మిత Metalink ఫార్మాట్ మద్దతు.
- అంతర్జాతీయీకరించిన డొమైన్ పేర్లకు మద్దతు (IDNA2008).
- అనేక ప్రాక్సీ సర్వర్ల ద్వారా ఏకకాలంలో పని చేసే సామర్థ్యం (ఒక స్ట్రీమ్ ఒక ప్రాక్సీ ద్వారా మరియు రెండవది మరొకటి ద్వారా లోడ్ చేయబడుతుంది).
- Atom మరియు RSS ఫార్మాట్లలో వార్తల ఫీడ్లకు అంతర్నిర్మిత మద్దతు (ఉదాహరణకు, లింక్లను స్కాన్ చేయడం మరియు డౌన్లోడ్ చేయడం కోసం). RSS/Atom డేటాను స్థానిక ఫైల్ నుండి లేదా నెట్వర్క్ ద్వారా డౌన్లోడ్ చేసుకోవచ్చు.
- సైట్మ్యాప్ల నుండి URLలను సంగ్రహించడానికి మద్దతు. CSS మరియు XML ఫైల్ల నుండి లింక్లను సంగ్రహించడానికి పార్సర్ల లభ్యత.
- కాన్ఫిగరేషన్ ఫైల్లలో 'ఇన్క్లూడ్' డైరెక్టివ్కు మద్దతు మరియు అనేక ఫైల్లలో సెట్టింగ్ల పంపిణీ (/etc/wget/conf.d/*.conf).
- అంతర్నిర్మిత DNS ప్రశ్న కాషింగ్ మెకానిజం.
- డాక్యుమెంట్ ఎన్కోడింగ్ని మార్చడం ద్వారా కంటెంట్ని రీకోడింగ్ చేసే అవకాశం.
- పునరావృత డౌన్లోడ్ల సమయంలో “robots.txt” ఫైల్ కోసం అకౌంటింగ్.
- డేటాను సేవ్ చేసిన తర్వాత fsync() కాల్తో నమ్మదగిన రైట్ మోడ్.
- అంతరాయం కలిగించిన TLS సెషన్లను పునఃప్రారంభించే సామర్థ్యం, అలాగే TLS సెషన్ పారామితులను ఫైల్కి కాష్ చేయడం మరియు సేవ్ చేయడం.
- ప్రామాణిక ఇన్పుట్ స్ట్రీమ్ ద్వారా వచ్చే URLలను లోడ్ చేయడానికి "--input-file-" మోడ్.
- ఒకే రెండవ-స్థాయి డొమైన్లో (ఉదాహరణకు, “a.github.io” మరియు “b.github) హోస్ట్ చేయబడిన ఒకదానికొకటి వేర్వేరు సైట్ల నుండి వేరుచేయడానికి పబ్లిక్ డొమైన్ ప్రత్యయాలు (పబ్లిక్ ప్రత్యయం జాబితా) డైరెక్టరీకి వ్యతిరేకంగా కుక్కీ పరిధిని తనిఖీ చేస్తోంది. io").
- ICEcast/SHOUTcast స్ట్రీమింగ్ని డౌన్లోడ్ చేయడానికి మద్దతు ఇస్తుంది.
మూలం: opennet.ru