Redbean 2.0 ke sethala sa lits'ebetso tsa marang-rang tse kentsoeng polokelong ea polokelo ea lintho tsohle tse sebetsang.

Ho hlahisoa ha morero oa Redbean 2.0, ho fana ka seva sa marang-rang se u lumellang hore u tsamaise lits'ebetso tsa webo ka mokhoa oa faele e sebetsang ea bokahohleng e ka etsoang ho Linux, Windows, MacOS, FreeBSD, NetBSD le OpenBSD. Lisebelisoa tsohle tse amanang le ts'ebeliso ea webo le seva li hlophisitsoe hore e be faele e le 'ngoe e ka sebetsoang, e tsamaellanang le sebopeho sa polokelo ea ZIP mme e u lumella ho sebelisa sesebelisoa sa zip ho eketsa lifaele tse ling. Bokhoni ba ho tsamaisa faele e le 'ngoe ho li-OS tse fapaneng le ho etsa hore e amoheloe e le polokelo ea polokelo ea ZIP bo fihlelleha ka ho qhekella lihlooho tsa faele tse sebetsang le ho hokahana le laeborari ea C e tloaelehileng ea li-multi-platform Cosmopolitan. Khoutu ea projeke e ajoa tlasa laesense ea ISC.

Morero oa morero ke ho fana ka faele e le 'ngoe e sebetsang "redbean.com" e nang le seva ea marang-rang e hahelletsoeng kahare. Moetsi oa ts'ebeliso ea webo a ka sebelisa sesebelisoa sa zip ho kenya lifaele tsa HTML le Lua faeleng ena mme a fumana sesebelisoa sa webo se ikemetseng se sebetsang lits'ebetsong tsohle tse tsebahalang mme ha se hloke seva e arohaneng ea webo ho sebetsa sistimi.

Ka mor'a ho hlahisa faele e sebetsang e hlahisoang, seva sa marang-rang se hahelletsoeng se sebelisoa ho fihlella sesebelisoa sa webo se bolokiloeng faeleng. Ka nako e sa lekanyetsoang, mohlokomeli o khomaretsoe ho localhost, empa seva se ka boela sa sebelisoa e le setsi sa kamehla sa marang-rang sa sechaba (mohlala, seva sena se sebeletsa websaeteng ea morero). Seva ea Webosaete e hahelletsoeng e ts'ehetsa phihlello ea HTTPS mme e ka etsoa ka ho itšehla thajana ea sandbox, e u lumellang ho laola hore na ke li-interfaces life tse fihlellehang. Ho laola ts'ebetso ea seva nakong ea ts'ebetso ea eona, ho fanoa ka sebopeho se sebetsanang sa REPL (se thehiloeng ho Lua REPL le laebrari ea bestline, analogue ea GNU Readline), e leng se etsang hore ho khonehe ho fetola boemo ba ts'ebetso ka ho sebelisana.

Ho boleloa hore seva sa marang-rang se khona ho sebetsana le likopo tse fetang milione ka motsotsoana ho PC e tloaelehileng, e sebeletsa litaba tse hatelitsoeng ke gzip. Se thusang ts'ebetso ke hore zip le gzip li sebelisa sebopeho se tloaelehileng, kahoo data e fanoa ntle le ho khutlisoa libakeng tse seng li hatelitsoe faeleng ea zip. Ho feta moo, kaha e ka phethisoang e entsoe ka ho hokahanya ha static 'me e nyane ka boholo, ho letsetsa fereko ho eona ho hlahisa mohopolo o fokolang.

Ntle le ho sebetsana le litaba tsa marang-rang tse tsitsitseng le ho kenya JavaScript sebatling, mohopolo oa ts'ebeliso ea webo o ka atolosoa ho sebelisoa mangolo a Lua, moralo oa webo oa Fullmoon le SQLite DBMS. Likarolo tse ling li kenyelletsa ts'ehetso ea "argon2 password hashing scheme", bokhoni ba ho tseba sebaka sa IP ho sebelisa database ea MaxMind, le ho fihlella Unix API ea laeborari ea Cosmopolitan. Boholo ba stack ea motheo, e kenyelletsang seva sa marang-rang, MbedTLS, Cosmopolitan, Lua le SQLite, ke 1.9 MB feela.

Faele e sebetsang ea bokahohleng e thehoa ka ho kopanya likarolo le lihlooho tse khethehileng ho mekhoa e fapaneng ea ts'ebetso (PE, ELF, MACHO, OPENBSD, ZIP) faeleng e le 'ngoe. Ho etsa bonnete ba hore faele e le 'ngoe e sebetsang e sebetsa lits'ebetsong tsa Windows le Unix, leqheka ke ho kenya lifaele tsa Windows PE joalo ka sengoloa sa khetla, ho nka monyetla ka taba ea hore Thompson Shell ha e sebelise letšoao la "#!" Sephetho ke faele e sebetsang e kopanyang mefuta e mengata e fapaneng e sebelisoang ho Linux, BSD, Windows le macOS. $ curl https://redbean.dev/redbean-demo-2.0.7.com >redbean.com $ chmod +x redbean.com $ zip redbean.com hello.html $ zip redbean.com hello.lua $ ./redbean .com -vv I2022-06-23T08:27:14+000767:redbean] (srvr) mamela http://127.0.0.1:8080 >: emetse taelo… $ curl https://127.0.0.1:8080/hello .html hello $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080 dumela



Source: opennet.ru

Eketsa ka tlhaloso