Passim, isang lokal na server ng caching

Passim

Ang Passim ay isang lokal na server ng caching gamit ang mDNS

Kamakailan ay ang lumikha ng isang malaking bilang ng mga Gnome application, ipinaalam sa pamamagitan ng isang blog post, su bagong proyekto, na may pangalang «Passim», na isang lokal na server ng pamamahagi ng file ng caching na gumagamit ng mga hash ng nilalaman upang tugunan ang nilalamang tulad ng IPFS.

Ang ideya sa likod ng Passim, ay karaniwang tinutugunan ang mga isyu sa likod ng paghahatid ng parehong nilalaman na na-download nang maraming beses mula sa mga pandaigdigang server o CDN. At ito ay tulad ng inilarawan sa post sa blog:

Bilang bahagi ng pagpapatakbo ng mga proyekto ng passim/LVFS, nakita kong ang pag-download ng "maliit" na file na ito minsan sa bawat 24 na oras ay nagiging sampu-sampung milyong mga kahilingan bawat araw, na katumbas ng ~10TB ng bandwidth . Ang bawat tao'y nagda-download ng parehong file mula sa isang CDN...

Paano kung mai-download natin ang file mula sa Internet CDN sa isang makina, at ang susunod na makina sa lokal na network na nangangailangan nito ay magda-download nito mula sa unang makina? Maaari kaming maglagay ng limitasyon sa bilang ng beses na maibabahagi ito, at ang maximum na edad para hindi kami mag-imbak ng metadata kahapon nang tuluyan...

Maaari naming bawasan ang trapiko ng CDN nang hindi bababa sa isang order ng magnitude, ngunit posibleng higit pa. Mas mainam ito para sa taong nagbabayad ng cloud bill, sa taong nagbabayad ng koneksyon sa internet, at sa planeta sa kabuuan..

Tungkol sa Passim

Passim maaaring gamitin upang mapataas ang kapasidad ng pagganap ng ang mga app na kadalasan download ng data at mga pangalawang file upang pangasiwaan ang iba pang mga kahilingan. Ang pangunahing ideya ay ang paggamit ng Passim bilang isang paraan upang maghatid ng nilalaman ng pag-cache para sa paggamit ng mga lokal na sistema ng network, nang hindi nangangailangang direktang makipag-ugnayan sa mga pangunahing server at nang hindi gumagamit ng pandaigdigang CDN.

Isang halimbawa ng paggamit na binanggit para sa Passim, ay iyon maaaring gamitin sa pamamahagi ng mga update sa software, metadata ng sistema ng proteksyon ng ad, mga update ng administrator, atbp. Sa pagsasagawa, ang Passim ay binalak na gamitin para sa layunin ng pagpaplano ng pamamahagi ng fwupd at ang proyekto ng LVFS.

Nabanggit din yan el proyekto gumagamit ng a modelo SHA-256 based na file addressing kanya nilalaman, At ang gamitin ng hash din nagbibigay-daan sa pagkilala sa file sa el mismo nilalaman, kaya ang paghahanap ng pagkakatulad ay hindi batay sa mga simbolikong pangalan ito sila ay itinalaga. Sa iwasan ang palsipikasyon ng mga file sa gilid del parokyano, Ang tapang sumira dapat na-verify gamit ang tapang hash computed sa mula sa del nilalaman ng na-download na data.

Los ang data sa imbakan ay maaaring awtomatikong idagdag o manu-mano, at nabawasan sa pagkopya ng file sa direktoryo /var/lib/passim/data at magtakda ng maximum na habambuhay at mga limitasyon sa bilang ng mga pag-download sa pamamagitan ng mga pinahabang katangian (xattr).

Matapos ang pag-expire ng kapaki-pakinabang na buhay o lumampas sa limitasyon sa bilang ng mga pag-download, ang file ay awtomatikong tatanggalin. Ang mga file na nasa repository ay makikita sa isang nakabahaging index na makukuha ng lahat ng user gamit ang mDNS o sa pamamagitan ng pag-download ng index sa HTTP.

Tungkol sa operasyon ng Passim, nabanggit na ito:

Gumagamit ito ng isang simpleng single threaded HTTP server upang mag-upload ng mga file. Ang mga file at index ay ibinibigay nang walang pagpapatotoo at walang pag-encrypt (HTTPS ay hindi suportado), dahil ang system ay idinisenyo para sa pampublikong pamamahagi ng data sa lokal na network. Ginagawa ang pag-download sa pamamagitan ng pagpapadala ng HTTP request sa form, kung saan ang hash ay ang key identifier (hindi ibinabalik ang mga file nang walang hash). Ang paunang verification hash at GPG signature ay dina-download sa pamamagitan ng isang tawag sa isang external na CDN.

Sa simula, para ayusin el access sa mga update ng firmware sa LVFS, ay itinuturing na ang posibilidad de gamitin imbakan batay sa a sistema ng mga desentralisadong file, tulad nito IPFS, pero sa wakas ito ay nagpasya lumikha isang alternatiba pagmamay-ari, higit pa simple, nakatadhana sa download lamang mula sa mga server sa lokal na network.

Nabanggit na ang pangunahing dahilan ng pagtanggi sa IPFS ay ang mga potensyal na legal na problema na dulot ng IPFS na nahuhulog sa ilalim ng ITAR (International Traffic in Arms Regulations) at EAR (Export Administration Regulations) export restrictions dahil sa paggamit ng advanced encryption.

Kabilang sa iba pang mga disbentaha ng IPFS na lumitaw kapag nilutas ang problema ng paghahatid ng firmware sa isang lokal na network, binabanggit ang pagiging kumplikado ng pag-install, ang kakulangan ng mga handa na mga pakete sa mga pamamahagi, ang mahabang oras na kinakailangan upang makahanap ng mga mapagkukunan, ang kailangang gumamit ng gateway para ma-access ang IPFS sa HTTP at kakulangan ng priyoridad na access para sa mga lokal na kliyente.

Sa wakas Kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.