Why Metalink for Download?

ทำไมเราต้องการใช้ Metalink? ในการดาวน์โหลดไฟล์ขนาดใหญ่จากเซิร์ฟเวอร์ด้วยโปรโตคอล http/ftp ผ่านการเชื่อมต่ออินเทอร์เน็ต DSL, Cable หรือ Fiber Metalink จึงทำให้การดาวน์โหลดง่ายขึ้น เร็วขึ้น และเชื่อถือได้ ระหว่างดาวน์โหลดหากเกิดข้อผิดพลาดในการชื่อมต่อ Metalinks จะทำการซ่อมแซม (repair errors) และแก้ไขข้อผิดพลาดในการ transfer และ Metalink จะช่วย Speed การดาวน์โหลดของเราด้วยแบนด์วิดธ์ที่สูงสุด (Downstream) ที่ได้รับ

Why should you use it?

Users: การดาวน์โหลดที่รวดเร็ว และ น่าเชื่อถือได้มากขึ้น

Developers: เป็น Neutral framework ทำงานบนสถาปัตยกรรมเว็บ (Web Architecture) จึงง่ายต่อการใช้งาน

Site owners: Resume และ Recover จากเซิร์ฟเวอร์เดิม (Single Server) เมื่อเซิร์ฟเวอร์ลุ่ม และสามารถดาวน์โหลดอัตโนมัติโดยการ
แยกแหล่งดาวน์โหลด (mirrors/P2P) โดยการดาวน์โหลดทั้งหมดจะถูกตรวจสอบทำให้ผู้ใช้อื่นๆ สามารถเข้าถึงไฟล์ของคุณได้ง่ายขึ้น
และมีความน่าเชื่อถือมากในการดาวน์โหลด

Metalink เป็นไฟล์ XML ไฟล์นี้จะทำการเชื่อมโยงไปยัง mirrors ต่างๆ ที่มีการระบุ host file ภายใต้การพิจารณา
นอกจากนี้ยังอาจมีตำแหน่งของ Torrent ในการเชื่อมโยง ซึ่งประโยชน์ที่ผู้ใช้จะได้รับก็คือ สามารถดาวน์โหลดไฟล์
ได้พร้อมกันในเวลาเดียวกันสถานการณ์ที่แตกต่างกัน (Client download utility) และยังมีการยืนยันการตรวจสอบอัตโนมัติของข้อมูลที่ดาวน์โหลด และหากพบข้อผิดพลาด Metalink จะทำการแก้ไขข้อผิดผลาดนั้นโดยอัตโนมัติด้วยคุณสมบัติ Metalink ซึ่งสนับสนุน
ทั้ง MD5SUM, SHA1SUM, PGP ซึ่งฝังตัวอยู่ใน metalink ในไฟล์นั้นๆ

ตัวอย่าง Metalink XML format

[sourcecode language=”xml”]<?xml version="1.0" encoding="UTF-8"?>
<metalink version="3.0" xmlns="//www.metalinker.org">
<files>
<file name="example.ext">
<verification>
<hash type="md5">example-md5-hash</hash>
<hash type="sha1">example-sha1-hash</hash>
<signature type="pgp"/>
</verification>
<resources>
<url type="ftp" location="us" preference="90">ftp://ftp.example.com/example.ext</url>
<url type="ftp" location="uk" preference="75">ftp://ftp.example.net/example.ext</url>
<url type="http" location="us" preference="80">//example.com/example.ext</url>
<url type="http" location="de" preference="10">//example.net/example.ext</url>
<url type="bittorrent" preference="100">//example.org/example.ext.torrent</url>
<url type="rsync"/>
<url type="magnet"/>
<url type="ed2k"/>
</resources>
</file>
</files>
</metalink>[/sourcecode]

เราสามารถใช้เครื่องมือในการสร้างไฟล์ได้ online Metalink generator

Features

* Standard format for listing multiple mirrors for redundancy and/or automatic accelerated (segmented) downloads.
* Combines FTP and HTTP with Peer-to-peer (P2P, shared bandwidth).
* Simplifies advanced download features, layout, and user experience.
* Automatic checksum verification; No separate MD5/SHA-1 file or manual process for integrity verification.
* Automatic error recovery and repair of corrupted downloads.
* No Single Point of Failure (SPOF) like FTP or HTTP URLs. More fault tolerant.
* Stores more descriptive and useful information for software distribution.
* Automatic load balancing distributes traffic so individual servers are under less strain.
* Structured information about downloads.
* Increased security.
* No long confusing list of possibly outdated Mirrors and P2P links.
* Automated creating, editing, and validating is easy with standard text processing tools.
* In a format that browsers and other tools can already process (even if they might not make use of it yet).
* Makes the download process simpler for users (automatic selection of language, Operating System, location, etc).
* Uniquely identifies files, so even if all references to it in the Metalink stop working, the same exact file can be found in other places.
* Share a library of files between filesharing applications with a small .metalink.
* Congratulations, you’re the first person to read this far.
* Can finish P2P downloads even if files are no longer shared.
* For FTP/HTTP, an updated client is needed, but not a separate client like some types of P2P.
* NO changes or separate services needed on the server side, like a “tracker” etc. Users can create Metalinks for files anyone is hosting and share them.
* Useful for automatic updating programs when new versions are released.
* List accurate file sizes, which are sometimes misreported by older servers (files greater than 2 gigabytes).
* Transparent usage where people can get the benefits of Metalink without even knowing they’re using it.
[hana-code-insert name=’AdSense’ /]

How to Downloading files using Metalinks

ตัวอย่างการดาวน์โหลดไฟล์

โปรแกรม Client ที่สนับสนุนการดาวน์โหลดแบบ Metalink เราสามารถใช้โปรแกรม DownThemAll ซึ่งเป็น Extension ของ Firefox อยู่แล้วได้ แต่ถ้าเป็นระบบปฎิบัติการลีนุกส์ก็ใช้โปรแกรม aria2 ในการดาวน์โหลด (command-line)
– โหลดไฟล์เดียวกันเวลาเดียวกัน ผลลัพธ์ก็คือ จากเซิร์ฟเวอร์เก็บไฟล์คนล่ะเครื่องกัน ดังรูป โดยใช้ DownThemAll

ตัวอย่าง Mirrors ที่ใช้ Metalink กับ ไม่ใช้ Metalink


ใช้ Metalinks


ไม่ได้ใช้ Metalink (Mirrors บ้านเรา)

มุมมอง ในบ้านเราเห็นมีผู้ให้บริการ Mirrors อยู่หลายเจ้า วัตถุประสงค์ก็เพื่อลดแบนด์วิดธ์ออกต่างประเทศ เป็นไปได้ไหมจะใช้ Metalink ผู้ใช้งานจะได้ Fully High-speed of Local ตอนนี่รู้สึกว่า Ditro ออกใหม่เมื่อไรแบนด็วิดธ์ก็ยังออกต่างประเทศอยู่ดี เพราะ Mirrors ไทยรอ Sync.

[hana-code-insert name=’AdSense’ /]
Link of Reference:
//www.metalinker.org
//en.wikipedia.org/wiki/Metalink
//www.linuxforu.com/previews/metalinks-for-download-anyone/