{"id":38908,"date":"2019-10-31T22:26:41","date_gmt":"2019-10-31T19:26:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\/"},"modified":"2019-10-31T22:26:41","modified_gmt":"2019-10-31T19:26:41","slug":"budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","title":{"rendered":"Przysz\u0142o\u015b\u0107 ju\u017c tutaj, czyli programujemy prosto w przegl\u0105darce","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Opowiem o zabawnym incydencie, kt\u00f3ry mi si\u0119 przydarzy\u0142, i jak zosta\u0107 wsp\u00f3\u0142autorem w znanym projekcie.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNiedawno zajmowa\u0142em si\u0119 pewnym pomys\u0142em: uruchamianiem Linuxa bezpo\u015brednio z UEFI... <br \/>\nPomys\u0142 nie jest nowy i istnieje pewna liczba przewodnik\u00f3w na ten temat. Jeden z nich mo\u017cna zobaczy\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefi#%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D1%8F%D0%B4%D1%80%D0%B0_linux_%D0%BD%D0%B5%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE_%D0%B8%D0%B7_uefi\">tutaj<\/a><\/noindex><\/p>\n<p>W\u0142a\u015bciwie moje d\u0142ugie pr\u00f3by rozwi\u0105zania tego problemu przerodzi\u0142y si\u0119 w dobrze zorganizowane <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/slytomcat\/UEFI-Boot\">decyzj\u0119<\/a><\/noindex>. Rozwi\u0105zanie jest ca\u0142kowicie funkcjonalne i stosuj\u0119 je na cz\u0119\u015bci moich domowych komputer\u00f3w. Nieco dok\u0142adniej to rozwi\u0105zanie opisano <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefiboot\">tutaj<\/a><\/noindex>.<\/p>\n<p>Istota UEFI-Boot polega na tym, \u017ce ESP (EFI System Partition) jest po\u0142\u0105czona z katalogiem \/boot. To znaczy, \u017ce wszystkie j\u0105dra i obrazy pocz\u0105tkowego uruchamiania (initrd) s\u0105 umieszczane w tym samym wydzielonym obszarze, z kt\u00f3rego UEFI mo\u017ce uruchamia\u0107 pliki wykonywalne, a w szczeg\u00f3lno\u015bci uruchamia\u0107 bootloadery systemu. Jednak samo j\u0105dro Linuxa w ju\u017c wielu dystrybucjach jest kompilowane z opcj\u0105 UEFISTUB, kt\u00f3ra pozwala zainicjowa\u0107 j\u0105dro z UEFI.<\/p>\n<p>To rozwi\u0105zanie ma jeden nieprzyjemny aspekt \u2014 partycja ESP jest sformatowana jako FAT32, na kt\u00f3rej nie mo\u017cna tworzy\u0107 twardych link\u00f3w (kt\u00f3re system regularnie tworzy podczas aktualizacji initrd). I nic szczeg\u00f3lnie z\u0142ego w tym nie ma, ale nie jest mi\u0142o widzie\u0107 ostrze\u017cenia systemu przy aktualizacjach komponent\u00f3w j\u0105dra...<\/p>\n<p>Istnieje te\u017c inna droga. <\/p>\n<p>Menad\u017cer rozruchu UEFI (ten, w kt\u00f3rym trzeba wpisa\u0107 bootloader OS) potrafi opr\u00f3cz bootloader\u00f3w\/j\u0105der Linuxa \u0142adowa\u0107 r\u00f3wnie\u017c sterowniki. Tak wi\u0119c mo\u017cna za\u0142adowa\u0107 sterownik do systemu plik\u00f3w, w kt\u00f3rym masz \/boot, i bezpo\u015brednio stamt\u0105d \u0142adowa\u0107 j\u0105dro za pomoc\u0105 UEFI. Oczywi\u015bcie, sterownik trzeba umie\u015bci\u0107 w partycji ESP. W\u0142a\u015bnie tym zajmuj\u0105 si\u0119 bootloadery typu GRUB. Ale smaczek polega na tym, \u017ce wszystkie cz\u0119sto u\u017cywane funkcje GRUB ju\u017c s\u0105 w UEFI. A m\u00f3wi\u0105c jeszcze bardziej szczeg\u00f3\u0142owo, menad\u017cer rozruchu UEFI ma nawet wi\u0119cej mo\u017cliwo\u015bci w niekt\u00f3rych kwestiach. <\/p>\n<p>Wydawa\u0142oby si\u0119, \u017ce to \u0142adne rozwi\u0105zanie, ale jest jedno \"ALE\" (a raczej by\u0142o, ale o tym p\u00f3\u017aniej). Chodzi o to, \u017ce system sterownik\u00f3w UEFI jest zbudowany do\u015b\u0107 prosto. Nie ma tam poj\u0119cia takiego jak montowanie systemu plik\u00f3w czy wi\u0105zanie sterownika z konkretnym urz\u0105dzeniem. Jest tam wywo\u0142anie systemowe o warunkowej nazwie Map, kt\u00f3re po kolei bierze ka\u017cdy sterownik i pr\u00f3buje powi\u0105za\u0107 go ze wszystkimi, w miar\u0119 odpowiednimi urz\u0105dzeniami. I je\u015bli sterownik uda\u0142o si\u0119 po\u0142\u0105czy\u0107 z urz\u0105dzeniem, to tworzy si\u0119 mapowanie \u2014 powi\u0105zanie. W\u0142a\u015bnie tak w og\u00f3lnej masie z wszystkimi innymi powinien by\u0107 inicjowany nowo za\u0142adowany sterownik. I to wszystko, co trzeba zrobi\u0107 \u2014 w zapisie rozruchowym sterownika ustawi\u0107 jeden bit (LOAD_OPTION_FORCE_RECONNECT) na 1, a UEFI po jego za\u0142adowaniu zrobi ten globalny remap.<\/p>\n<p>Tylko \u017ce zrobienie tego nie jest takie proste. Standardowe narz\u0119dzie efibootmgr (za pomoc\u0105 kt\u00f3rego konfiguruje si\u0119 mened\u017cera rozruchu UEFI) nie potrafi (w\u0142a\u015bciwie nie potrafi\u0142o) ustawia\u0107 tego bitu. Musia\u0142em ustawia\u0107 go r\u0119cznie przez do\u015b\u0107 skomplikowan\u0105 i niebezpieczn\u0105 procedur\u0119. <\/p>\n<p>I zn\u00f3w pr\u00f3buj\u0105c to zrobi\u0107 r\u0119cznie, nie wytrzyma\u0142em i stworzy\u0142em <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/issues\/108\">zg\u0142oszenie na GitHubie<\/a><\/noindex> z pro\u015bb\u0105 do programist\u00f3w o dodanie tej mo\u017cliwo\u015bci.<\/p>\n<p>Min\u0119\u0142o kilka dni, ale nikt nie zwr\u00f3ci\u0142 uwagi na moj\u0105 pro\u015bb\u0119. Z ciekawo\u015bci zerkn\u0105\u0142em na \u017ar\u00f3d\u0142a\u2026 stworzy\u0142em fork i zastanowi\u0142em si\u0119, jak t\u0119 funkcj\u0119 doda\u0107 \"na kolanie\"\u2026 \"Na kolanie\", poniewa\u017c niczego takiego sobie nie instalowa\u0142em i edytowa\u0142em \u017ar\u00f3d\u0142a bezpo\u015brednio w przegl\u0105darce.<\/p>\n<p>C (j\u0119zyk programowania) wiem bardzo powierzchownie, ale mniej wi\u0119cej skonstruowa\u0142em rozwi\u0105zanie (g\u0142\u00f3wnie kopiuj\u0105c i wklejaj\u0105c)\u2026 a potem pomy\u015bla\u0142em \u2014 a chocia\u017c na pewno mam tam pe\u0142no b\u0142\u0119d\u00f3w (moje wcze\u015bniejsze pr\u00f3by poprawy cudzego kodu C sk\u0142ada\u0142y si\u0119 ze dziesi\u0105tego podej\u015bcia), stworz\u0119 Pull Request. No i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/pull\/109\">stworzy\u0142em<\/a><\/noindex>.<\/p>\n<p>A tam okaza\u0142o si\u0119, \u017ce zainstalowano Travis CI do weryfikacji pull request\u00f3w. I on starannie wy\u015bwietli\u0142 mi wszystkie moje b\u0142\u0119dy. C\u00f3\u017c, je\u015bli b\u0142\u0119dy s\u0105 znane \u2014 czemu ich nie poprawi\u0107: zn\u00f3w bezpo\u015brednio w przegl\u0105darce, i przy czwartej pr\u00f3bie kod si\u0119 skompilowa\u0142 (osi\u0105gni\u0119cie dla mnie).<\/p>\n<p>I tak, nie wychodz\u0105c z przegl\u0105darki, stworzy\u0142em ca\u0142kiem realny Pull Request do narz\u0119dzia, z kt\u00f3rego korzystaj\u0105 praktycznie wszystkie nowoczesne dystrybucje Linuxa.<\/p>\n<p>Zdziwi\u0142o mnie to, \u017ce nie znaj\u0105c j\u0119zyka, bez \u017cadnych ustawie\u0144 (potrzebny jest spory zestaw bibliotek do kompilacji) i nawet nie uruchamiaj\u0105c kompilatora, po prostu w przegl\u0105darce \"napisa\u0142em\" ca\u0142kiem dzia\u0142aj\u0105c\u0105 i u\u017cyteczn\u0105 funkcj\u0119.<\/p>\n<p>Jednak\u017ce m\u00f3j wniosek wisia\u0142 bez reakcji od 19 marca 2019 roku, a ja ju\u017c zacz\u0105\u0142em o nim zapomina\u0107. <\/p>\n<p>Ale wczoraj ten wniosek zosta\u0142 dodany do master. <\/p>\n<p>\nC\u00f3\u017c, o czym jest moja opowie\u015b\u0107. Jest ona o tym, \u017ce w ramach nowoczesnych technologii okaza\u0142o si\u0119, \u017ce prawdziwy kod mo\u017cna ju\u017c pisa\u0107 w przegl\u0105darce, nie instaluj\u0105c lokalnie \u017cadnych narz\u0119dzi deweloperskich ani zale\u017cno\u015bci.<\/p>\n<p>Trzeba przyzna\u0107, \u017ce to ju\u017c m\u00f3j drugi pull request w znane (przynajmniej w w\u0105skich kr\u0119gach) narz\u0119dzia. Poprzednio moja pro\u015bba o poprawienie wy\u015bwietlania niekt\u00f3rych p\u00f3l w interfejsie webowym SyncThing zako\u0144czy\u0142a si\u0119 moj\u0105 dos\u0142ownie jednoliniow\u0105 poprawk\u0105 w \u015brodowisku, kt\u00f3rego zupe\u0142nie nie zna\u0142em.<\/p>\n<p class=\"for_users_only_msg\">Tylko zarejestrowani u\u017cytkownicy mog\u0105 bra\u0107 udzia\u0142 w ankiecie. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Zaloguj si\u0119<\/a><\/noindex>, prosz\u0119.<\/p>\n<h2 class=\"default-block__polling-title\">Czy warto jeszcze pisa\u0107, czy nie?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    tak<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    jest niezalecane<\/p>\n<\/li>\n<\/ul>\n<p>    G\u0142osowa\u0142o 294 u\u017cytkownik\u00f3w. 138 u\u017cytkownik\u00f3w by\u0142o wstrzymuj\u0105cych si\u0119.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/471266\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 Linux \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 UEFI\u2026 \u0418\u0434\u0435\u044f \u043d\u0435 \u043d\u043e\u0432\u0430 \u0438 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0443\u0442 \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u043e\u0438 \u0434\u0430\u0432\u043d\u0438\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u044b\u043b\u0438\u043b\u0438\u0441\u044c \u0432\u043e [&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":[688],"tags":[],"class_list":["post-38908","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.\" \/>\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\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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\u0411\u0443\u0434\u0443\u0449\u0435\u0435 \u0443\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u0438\u043b\u0438 \u043a\u043e\u0434\u0438\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\" \/>\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=\"2019-10-31T19:26:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26: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\udd47Przysz\u0142o\u015b\u0107 jest ju\u017c tutaj, czyli kodujemy bezpo\u015brednio w przegl\u0105darce | ProHoster","description":"Opowiem o zabawnej sytuacji, kt\u00f3ra mi si\u0119 przydarzy\u0142a, oraz o tym, jak zosta\u0107 wsp\u00f3\u0142pracownikiem w znanym projekcie. Niedawno pracowa\u0142em nad pewnym pomys\u0142em: za\u0142adunek.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","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\u0411\u0443\u0434\u0443\u0449\u0435\u0435 \u0443\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u0438\u043b\u0438 \u043a\u043e\u0434\u0438\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 | ProHoster","og:description":"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","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":"2019-10-31T19:26:41+00:00","article:modified_time":"2019-10-31T19:26:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38908","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":null,"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":"2026-01-23 23:55:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:00:27","updated":"2026-01-23 23:55:19","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\/38908","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=38908"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/38908\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=38908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=38908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=38908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}