{"id":104906,"date":"2022-08-21T15:36:41","date_gmt":"2022-08-21T13:36:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov"},"modified":"2022-08-21T15:36:41","modified_gmt":"2022-08-21T13:36:41","slug":"vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","title":{"rendered":"Wydanie standardowej biblioteki C Cosmopolitan 2.0, rozwijanej dla przeno\u015bnych plik\u00f3w wykonywalnych","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Opublikowano wydanie projektu Cosmopolitan 2.0, rozwijaj\u0105cego standardow\u0105 bibliotek\u0119 C i uniwersalny format plik\u00f3w wykonywalnych, kt\u00f3ry mo\u017cna wykorzysta\u0107 do dystrybucji program\u00f3w dla r\u00f3\u017cnych system\u00f3w operacyjnych bez u\u017cycia interpreter\u00f3w i maszyn wirtualnych. Wynik uzyskany dzi\u0119ki kompilacji w GCC i Clang jest \u0142\u0105czony w statycznie \u0142\u0105czony uniwersalny plik wykonywalny, kt\u00f3ry nadaje si\u0119 do uruchomienia w dowolnej dystrybucji Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, a nawet mo\u017cna go wywo\u0142a\u0107 z BIOS-u. Kod projektu jest dystrybuowany na licencji ISC (uproszczona wersja MIT\/BSD).         <\/p>\n<p>Kontener do tworzenia uniwersalnych plik\u00f3w wykonywalnych oparty jest na po\u0142\u0105czeniu specyficznych segment\u00f3w i nag\u0142\u00f3wk\u00f3w dla r\u00f3\u017cnych system\u00f3w operacyjnych (PE, ELF, MACHO, OPENBSD) w jednym pliku, kombinuj\u0105c w nim kilka r\u00f3\u017cnych format\u00f3w stosowanych w Unix, Windows i macOS. Aby umo\u017cliwi\u0107 uruchomienie jednego pliku wykonywalnego w systemach Windows i Unix, zastosowano sztuczk\u0119 zwi\u0105zan\u0105 z kodowaniem plik\u00f3w Windows PE w postaci skryptu pow\u0142oki, korzystaj\u0105c z faktu, \u017ce Thompson Shell nie u\u017cywa znacznika skrypt\u00f3w \u00ab#!\u00bb. Do tworzenia program\u00f3w, kt\u00f3re zawieraj\u0105 wiele plik\u00f3w (komponowanie wszystkich zasob\u00f3w w jeden plik), wspierane jest generowanie pliku wykonywalnego w postaci specjalnie przygotowanego archiwum ZIP. Schemat proponowanego formatu (przyk\u0142ad aplikacji hello.com):        <\/p>\n<p>     MZqFpD=\u2019     BIOS BOOT SECTOR\u2019     exec 7 $(command -v $0)     printf \u2018ELF\u2026LINKER-ENCODED-FREEBSD-HEADER\u2019 &gt; &amp;7     exec \u2018$0\u2019 \u2018$@\u2019     exec qemu-x86_64 \u2018$0\u2019 \u2018$@\u2019     exit 1     REAL MODE\u2026     ELF SEGMENTS\u2026     OPENBSD NOTE\u2026     MACHO HEADERS\u2026     CODE AND DATA\u2026     ZIP DIRECTORY\u2026      <\/p>\n<p>Na pocz\u0105tku pliku podawana jest etykieta \u00abMZqFpD\u00bb, kt\u00f3ra jest interpretowana jako nag\u0142\u00f3wek formatu Windows PE. Ta sekwencja jest r\u00f3wnie\u017c dekodowana w instrukcj\u0119 \u00abpop %r10 ; jno 0x4a ; jo 0x4a\u00bb, a ci\u0105g \u00abELF\u00bb w instrukcj\u0119 \u00abjg 0x47\u00bb, kt\u00f3re s\u0105 stosowane do przekierowania do punktu wej\u015bcia. W systemach Unix wykonywany jest kod pow\u0142oki, w kt\u00f3rym u\u017cywana jest komenda exec z przekazaniem kodu wykonywalnego przez nieopro\u015bny kana\u0142. Ograniczeniem proponowanej metody jest mo\u017cliwo\u015b\u0107 uruchamiania w systemach operacyjnych podobnych do Unix tylko przy u\u017cyciu pow\u0142ok, kt\u00f3re wspieraj\u0105 tryb kompatybilno\u015bci z Thompson Shell.       <\/p>\n<p>Wywo\u0142anie qemu-x86_64 jest przewidziane do realizacji dodatkowej przeno\u015bno\u015bci i pozwala na uruchomienie skompilowanego kodu dla architektury x86_64 na platformach innych ni\u017c x86, takich jak p\u0142yty Raspberry Pi i urz\u0105dzenia Apple z procesorami ARM. Projekt mo\u017ce by\u0107 r\u00f3wnie\u017c u\u017cywany do tworzenia autonomicznych aplikacji dzia\u0142aj\u0105cych bez systemu operacyjnego (bare metal). W takich aplikacjach do pliku wykonywalnego do\u0142\u0105czany jest loader, a program dzia\u0142a jako \u0142adowany system operacyjny.         <\/p>\n<p>W rozwijanej przez projekt standardowej bibliotece C libc zaproponowano 2024 funkcje (w pierwszym wydaniu by\u0142o oko\u0142o 1400 funkcji). Wydajno\u015b\u0107 Cosmopolitan jest por\u00f3wnywalna z glibc i znacz\u0105co wyprzedza Musl oraz Newlib, przy czym Cosmopolitan jest o rz\u0105d mniejsza od glibc i w przybli\u017ceniu odpowiada wielko\u015bci Musl i Newlib. Aby zoptymalizowa\u0107 cz\u0119sto wywo\u0142ywane funkcje takie jak memcpy i strlen, dodatkowo stosuje si\u0119 technik\u0119 \u00abtrickle-down performance\u00bb, w ramach kt\u00f3rej do wywo\u0142ania funkcji stosowany jest makro-opakowanie, w kt\u00f3rym kompilator jest informowany o u\u017cytych w procesie wykonania instrukcjach CPU, co pozwala na oszcz\u0119dzanie zasob\u00f3w przy zachowaniu stanu CPU dzi\u0119ki oszcz\u0119dzaniu jedynie zmiennych rejestr\u00f3w.    <\/p>\n<p>W\u015br\u00f3d zmian w nowej wersji:  <\/p>\n<ul>\n<li class=\"l\"> Zmieniono schemat dost\u0119pu do zasob\u00f3w wewn\u0119trznych w pliku zip (przy otwieraniu plik\u00f3w teraz u\u017cywane s\u0105 zwyk\u0142e \u015bcie\u017cki \/zip\/... zamiast prefiksu zip:..). Podobnie w przypadku dost\u0119pu do dysk\u00f3w w Windows wprowadzono mo\u017cliwo\u015b\u0107 korzystania ze \u015bcie\u017cek w formacie \u201e\/c\/...\u201d zamiast \u201eC:\/...\u201d\n<li class=\"l\"> Zaproponowano nowy loader APE (Actually Portable Executable), kt\u00f3ry definiuje format uniwersalnych plik\u00f3w wykonywalnych. Nowy loader wykorzystuje mmap do umieszczania programu w pami\u0119ci i nie modyfikuje zawarto\u015bci w locie. W razie potrzeby uniwersalny plik wykonywalny mo\u017ce zosta\u0107 przekonwertowany na zwyk\u0142e pliki wykonywalne zwi\u0105zane z okre\u015blonymi platformami.\n<li class=\"l\"> Na platformie Linux wdro\u017cono mo\u017cliwo\u015b\u0107 u\u017cycia modu\u0142u j\u0105dra binfmt_misc do uruchamiania program\u00f3w APE. Zauwa\u017cono, \u017ce u\u017cycie binfmt_misc jest najszybsz\u0105 metod\u0105 uruchamiania.\n<li class=\"l\"> Dla system\u00f3w Linux wprowadzono implementacj\u0119 funkcji wywo\u0142a\u0144 systemowych pledge() i unveil(), rozwijanych przez projekt OpenBSD. Udost\u0119pniono API do wykorzystania tych wywo\u0142a\u0144 w programach napisanych w j\u0119zykach C, C++, Python oraz Redbean, a tak\u017ce narz\u0119dzie pledge.com do izolacji dowolnych proces\u00f3w.\n<li class=\"l\"> Do budowy wykorzystano narz\u0119dzie Landlock Make \u2014 edycja GNU Make z bardziej rygorystyczn\u0105 kontrol\u0105 zale\u017cno\u015bci i u\u017cyciem wywo\u0142ania systemowego Landlock do izolacji programu od reszty systemu oraz zwi\u0119kszenia wydajno\u015bci pami\u0119ci podr\u0119cznej. Zachowano r\u00f3wnie\u017c opcj\u0119 budowy za pomoc\u0105 standardowego GNU Make.\n<li class=\"l\"> Wdra\u017cane s\u0105 funkcje dla wielow\u0105tkowo\u015bci \u2014 _spawn() i _join(), kt\u00f3re stanowi\u0105 uniwersalne opakowania nad specyficznymi dla r\u00f3\u017cnych system\u00f3w operacyjnych API. Prace trwaj\u0105 r\u00f3wnie\u017c nad wprowadzeniem wsparcia dla w\u0105tk\u00f3w POSIX.\n<li class=\"l\"> Udost\u0119pniono mo\u017cliwo\u015b\u0107 korzystania z kluczowego s\u0142owa _Thread_local do u\u017cycia oddzielnych dla ka\u017cdego w\u0105tku magazyn\u00f3w (TLS, Thread-Local Storage). Domy\u015blnie czas uruchamiania C inicjalizuje TLS dla g\u0142\u00f3wnego w\u0105tku, co spowodowa\u0142o wzrost minimalnego rozmiaru pliku wykonywalnego z 12 do 16 KB.\n<li class=\"l\"> Do wykonywalnych plik\u00f3w dodano obs\u0142ug\u0119 parametr\u00f3w \u201e--ftrace\u201d oraz \u201e--strace\u201d do wypisywania w stderr informacji o wszystkich wywo\u0142aniach funkcji i systemowych.\n<li class=\"l\"> Dodano wsparcie dla wywo\u0142ania systemowego closefrom(), wspieranego w Linux 5.9+, FreeBSD 8+ i OpenBSD.\n<li class=\"l\"> Na platformie Linux do 10 razy zwi\u0119kszono wydajno\u015b\u0107 wywo\u0142a\u0144 clock_gettime i gettimeofday dzi\u0119ki zastosowaniu mechanizmu vDSO (virtual dynamic shared object), kt\u00f3ry umo\u017cliwia przeniesienie obs\u0142ugi wywo\u0142ania systemowego do przestrzeni u\u017cytkownika i unikanie prze\u0142\u0105czania kontekstu.\n<li class=\"l\"> Z biblioteki Musl przeniesiono funkcje matematyczne do pracy z liczbami zespolonymi. Przyspieszono dzia\u0142anie wielu funkcji matematycznych.\n<li class=\"l\"> Proponowana jest funkcja nointernet(), kt\u00f3ra wy\u0142\u0105cza mo\u017cliwo\u015bci sieciowe.\n<li class=\"l\"> Dodano nowe funkcje do efektywnego do\u0142\u0105czania \u0142a\u0144cuch\u00f3w: appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf oraz vappendf.\n<li class=\"l\"> Dodano zabezpieczon\u0105 wersj\u0119 rodziny funkcji kprintf(), przeznaczon\u0105 do dzia\u0142ania przy podwy\u017cszonych uprawnieniach.\n<li class=\"l\"> Znacznie zwi\u0119kszono wydajno\u015b\u0107 realizacji <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/ssl-sertifikat\/\"   title=\"SSL\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2309\">SSL<\/a>, SHA, curve25519 i RSA.      <\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57663\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 GCC \u0438 Clang \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Linux, macOS, Windows, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-104906","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-08-21T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-08-21T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wydanie standardowej biblioteki C Cosmopolitan 2.0, rozwijanej dla przeno\u015bnych plik\u00f3w wykonywalnych | ProHoster","description":"Opublikowano wydanie projektu Cosmopolitan 2.0, rozwijaj\u0105cego standardow\u0105 bibliotek\u0119 C oraz uniwersalny format plik\u00f3w wykonywalnych, kt\u00f3ry mo\u017cna wykorzysta\u0107 do dystrybucji program\u00f3w na r\u00f3\u017cne systemy operacyjne.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-08-21T13:36:41+00:00","article:modified_time":"2022-08-21T13:36:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104906","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-08-21 13:37:50","updated":"2026-02-09 17:29:04","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/104906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=104906"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/104906\/revisions"}],"predecessor-version":[{"id":159554,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/104906\/revisions\/159554"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=104906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=104906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=104906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}