I-Rspamd yakhiwe kusetshenziswa i-architecture eqhutshwa umcimbi futhi ekuqaleni yakhelwe ukusetshenziswa kumasistimu alayishwe kakhulu, eyivumela ukuthi icubungule amakhulu emilayezo ngomzuzwana. Imithetho yokuhlonza izimpawu zogaxekile ivumelana nezimo kakhulu futhi ngendlela yayo elula ingaqukatha izinkulumo ezivamile, futhi ezimweni eziyinkimbinkimbi ingabhalwa ngesi-Lua. Ukwandisa ukusebenza nokwengeza izinhlobo ezintsha zokuhlola kusetshenziswa ngamamojula angadalwa ngezilimi ze-C nesiLua. Isibonelo, amamojula ayatholakala ukuze kuqinisekiswe umthumeli kusetshenziswa i-SPF, ukuqinisekisa isizinda somthumeli nge-DKIM, nokukhiqiza izicelo ohlwini lwe-DNSBL. Ukuze wenze ukumisa kube lula, dala imithetho futhi ulandele izibalo, kunikezwa isixhumi esibonakalayo sewebhu sokuphatha.
Okuqanjiwe okuyinhloko:
- Ushintsho lwenziwe ohlelweni olusha lwezinombolo zokukhishwa. Njengoba inombolo yokuqala enombolweni yenguqulo ingashintshile iminyaka eminingana, futhi inkomba yenguqulo yangempela iyinombolo yesibili, kwanqunywa ukuthi kushintshelwe kufomethi ethi βyzβ esikhundleni sohlelo lwe-βxyzβ;
- Esikhundleni se-loop yomcimbi
Libevent umtapo wezincwadi ohilelekilekhulula , okususa eminye imikhawulo ye-libevent futhi ivumela ukusebenza okungcono. Ukusetshenziswa
I-libev yenze kwaba nokwenzeka ukwenza ikhodi ibe lula, ithuthukise isignali nokuphatha isikhathi sokuvala, futhi ihlanganise ukulandelelwa koshintsho lwefayela kusetshenziswa indlela ye- inotify (hhayi konke ukukhishwa kwe-libevent okuthunyelwa ezinkundleni ezisekelwayo okungasebenza ne- inotify); - Usekelo lwemojuli yokuhlukanisa umlayezo esebenzisa ilabhulali yokufunda yomshini ojulile we-Torch akuqhubekisiwe. Isizathu esibaluliwe ubunkimbinkimbi obukhulu beTorch kanye nokuba yinkimbinkimbi okuphezulu ukuyigcina isesimweni. Imojuli ebhalwe kabusha ngokuphelele ihlongozwa njengokumiselela ukuhlukaniswa kusetshenziswa izindlela zokufunda zomshini
Okwe-Neural , lapho kusetshenziswa khona umtapo wolwazi ukuze kuqinisekiswe ukusebenza kwenethiwekhi ye-neuralcan , okufaka imigqa engu-4000 kuphela yekhodi C. Ukuqaliswa okusha kuxazulula izinkinga eziningi ngokuvela kwe-deadlock ngesikhathi sokuqeqeshwa; - Imodyuli
RBL kuthathelwe indawo amamojula e-SURBL kanye nama-imeyili, okwenza kwaba nokwenzeka ukuhlanganisa ukucutshungulwa kwakho konke ukuhlolwa kohlu oluvinjelwe. Amakhono e-RBL anwetshiwe ukuze afake ukusekelwa kwezinhlobo ezengeziwe, njengezikhethi, namathuluzi okwandisa kalula imithetho ekhona. Imithetho yokuvimbela i-imeyili esekelwe kuhlu lwamamephu esikhundleni se-DNS RBL ayisasekelwa, kuyanconywa ukuthi usebenzise i-multimap ngezikhethi esikhundleni salokho; - Ukunquma izinhlobo zamafayela ngokusekelwe kokuqukethwe, kusetshenziswa umtapo wezincwadi omusha we-Lua Magic, kusetshenziswa i-Lua ne-Hyperscan esikhundleni se-libmagic.
Izizathu zokudala owakho umtapo wolwazi zihlanganisa isifiso sokuzuza ukusebenza okuphezulu, ukususa ukwehluleka lapho uhlonza amafayela e-docx, thola i-API efaneleke kakhulu futhi wengeze izinhlobo ezintsha ze-heuristics ezingakhawulelwe ngemithetho eqinile; - Imojula ethuthukisiwe yokugcina idatha ku-DBMS
clickhouse . Izinkambu ezingeziwe ze-LowCardinality kanye nokusetshenziswa kwememori okulungiselelwe kakhulu; - Amakhono emojuli anwetshiwe
I-Multimap , lapho kwavela khona ukwesekwakuhlangene ΠΈoncike ukuqhathanisa; - Imojula yohlu lwemeyili ithuthukise incazelo yohlu lwamakheli;
- Izinqubo zabasebenzi manje zinamandla okuthumela imilayezo yokushaya kwenhliziyo kunqubo eyinhloko, eqinisekisa ukusebenza okuvamile. Uma ingekho imilayezo enjalo isikhathi esithile, inqubo eyinhloko inganqamula inqubo yesisebenzi ngamandla. Ngokuzenzakalelayo, le modi ikhutshaziwe okwamanje;
- Uchungechunge lwezikena ezintsha ngolimi lwesiLua lwengeziwe. Isibonelo, amamojula angeziwe okuskena imilayezo ku-Kaspersky ScanEngine, Trend Micro IWSVA (nge-icap) kanye
I-F-Secure Internet Gatekeeper (nge-icap), futhi inikeza izikena zangaphandle zeRazor, oletools kanye ne-P0F; - Kwengezwe amandla okushintsha imilayezo nge-Lua API. Kuphakanyiswe imojuli yokwenza izinguquko kumabhulokhi we-MIME
lib_mime ; - Ukucutshungulwa okuhlukene kwezilungiselelo ezisethwe βNge-Id Yezilungiselelo:β kuhlinzekiwe, isibonelo, manje usungakwazi ukubophezela imithetho kuphela kuzihlonzi zezilungiselelo ezithile;
- Ukuthuthukiswa kwenziwe ekusebenzeni kwenjini ye-Lua, i-base64 decoding kanye nokutholwa kolimi lombhalo. Kungezwe usekelo lwamamephu ayinkimbinkimbi wokulondoloza inqolobane. Usekelo lwenziwe
Gcina i-HTTP iphila.
Source: opennet.ru