He kahua ʻo Redbean 2.0 no nā noi pūnaewele i hoʻopili ʻia i loko o kahi waihona ZIP hiki ke hoʻokō

Hōʻike ʻia ka hoʻokuʻu ʻana o ka papahana Redbean 2.0, e hāʻawi ana i kahi kikowaena pūnaewele e hiki ai iā ʻoe ke hoʻopuka i nā noi pūnaewele ma ke ʻano o kahi faila hoʻokō honua i hiki ke hoʻokō ʻia ma Linux, Windows, MacOS, FreeBSD, NetBSD a me OpenBSD. Hoʻohui ʻia nā kumuwaiwai āpau e pili ana i ka noi pūnaewele a me ka server i hoʻokahi faila hiki ke hoʻokō ʻia, i kūpono me ka format archive ZIP a hiki iā ʻoe ke hoʻohana i ka pono zip e hoʻohui i nā faila hou. Loaʻa ka hiki ke holo i hoʻokahi faila ma nā OS ʻē aʻe a ʻike ʻia ʻo ia he waihona ZIP ma o ka hoʻohana ʻana i nā poʻomanaʻo faila hiki ke hoʻokō ʻia a me ka hoʻopili ʻana me ka multi-platform standard C library Cosmopolitan. Hāʻawi ʻia ke code papahana ma lalo o ka laikini ISC.

ʻO ka manaʻo o ka papahana ʻo ia ka hāʻawi ʻana i kahi faila hoʻokō "redbean.com" me kahi kikowaena pūnaewele i kūkulu ʻia. Hiki i ka mea haku polokalamu kele pūnaewele ke hoʻohana i ka zip utility no ka hoʻohui ʻana i nā faila HTML a me Lua i kēia faila a loaʻa iā ia kahi polokalamu pūnaewele ponoʻī e holo ana ma nā ʻōnaehana hana kaulana a pau a ʻaʻole koi i kahi kikowaena pūnaewele ʻokoʻa e holo ma ka ʻōnaehana.

Ma hope o ka hoʻomaka ʻana i ka faila hiki ke hoʻokō ʻia, hoʻohana ʻia ke kikowaena pūnaewele i kūkulu ʻia e kiʻi i ka noi pūnaewele i mālama ʻia i ka faila. Ma ka maʻamau, pili ka mea lawelawe i localhost, akā hiki ke hoʻohana ʻia ke kikowaena ma ke ʻano he kikowaena pūnaewele lehulehu maʻamau (no ka laʻana, lawelawe kēia kikowaena i ka pūnaewele papahana). Kākoʻo ke kikowaena Pūnaewele i kūkulu ʻia i ke komo ʻana i ka HTTPS a hiki ke hoʻokō ʻia me ka hoʻokaʻawale ʻana i ka sandbox, kahi e hiki ai iā ʻoe ke hoʻomalu i nā ʻaoʻao o ka ʻōnaehana. No ka mālama ʻana i ka hana o ka server i ka wā o kāna hoʻokō ʻana, hāʻawi ʻia kahi interface REPL interactive (e pili ana i ka Lua REPL a me ka hale waihona puke maikaʻi loa, kahi analogue o GNU Readline), kahi e hiki ai ke hoʻololi i ke kūlana o ke kaʻina hana.

Ua ʻōlelo ʻia ua hiki i ka mea kikowaena pūnaewele ke hana i nā noi ʻoi aku ma mua o hoʻokahi miliona mau noi i kēlā me kēia kekona ma kahi PC maʻamau, e lawelawe ana i ka ʻike i hoʻopaʻa ʻia i ka gzip. ʻO ka mea kōkua i ka hana, ʻo ia ka hoʻohana ʻana o ka zip a me ka gzip i kahi ʻano maʻamau, no laila e lawelawe ʻia ka ʻikepili me ka ʻole o ka hoʻopili hou ʻia ʻana mai nā wahi i hoʻopaʻa ʻia i ka faila zip. Hoʻohui ʻia, ʻoiai ua hana ʻia ka mea hoʻokō me ka hoʻohana ʻana i ka loulou static a liʻiliʻi i ka nui, ke kāhea ʻana i ka fork ma luna o ia mea e hoʻolauna liʻiliʻi i ka hoʻomanaʻo ʻole ma luna.

Ma waho aʻe o ka hoʻoponopono ʻana i ka ʻike pūnaewele paʻa a me ka hoʻokō ʻana i ka JavaScript ma ka polokalamu kele pūnaewele, hiki ke hoʻonui ʻia ka loina noi pūnaewele me ka hoʻohana ʻana i nā palapala ma Lua, ka Fullmoon web framework a me ka SQLite DBMS. Loaʻa nā hiʻohiʻona hou i ke kākoʻo no ka argon2 password hashing scheme, ka hiki ke hoʻoholo i ka ʻāina IP me ka hoʻohana ʻana i ka waihona MaxMind, a me ke komo ʻana i ka Unix API o ka waihona Cosmopolitan. ʻO ka nui o ka waihona maʻamau, aia kahi kikowaena pūnaewele, MbedTLS, Cosmopolitan, Lua a me SQLite, he 1.9 MB wale nō.

Hoʻokumu ʻia kahi faila hoʻokō honua ma o ka hoʻohui ʻana i nā ʻāpana a me nā poʻo kikoʻī i nā ʻōnaehana hana like ʻole (PE, ELF, MACHO, OPENBSD, ZIP) i hoʻokahi faila. No ka hoʻopaʻa ʻana i ka holo ʻana o ka faila hoʻokahi ma nā ʻōnaehana Windows a me Unix, ʻo ka hoʻopunipuni ka hoʻopili ʻana i nā faila Windows PE ma ke ʻano he shell shell, me ka hoʻohana ʻole ʻana o Thompson Shell i ka "#!" ʻO ka hopena he faila hiki ke hoʻohui i nā ʻano like ʻole i hoʻohana ʻia ma Linux, BSD, Windows a me 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) hoʻolohe http://127.0.0.1:8080 >: kali no ke kauoha… $ curl https://127.0.0.1:8080/hello .html aloha $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080 aloha



Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka