{"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\/ro\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","title":{"rendered":"Viitorul este deja aici sau codific\u0103m direct \u00een browser","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Voi vorbi despre o situa\u021bie amuzant\u0103 care mi s-a \u00eent\u00e2mplat \u0219i despre cum s\u0103 devii contributor la un proiect cunoscut.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNu cu mult timp \u00een urm\u0103, m-am ocupat de o idee: \u00eenc\u0103rcarea Linux direct din UEFI\u2026 <br \/>\nIdeea nu este nou\u0103 \u0219i exist\u0103 un num\u0103r considerabil de manuale pe aceast\u0103 tem\u0103. Unul dintre ele poate fi vizionat <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\">aici<\/a><\/noindex><\/p>\n<p>A\u0219adar, \u00eencerc\u0103rile mele de mult timp de a rezolva aceast\u0103 problem\u0103 s-au transformat \u00eentr-o solu\u021bie oarecum clar\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/slytomcat\/UEFI-Boot\">solu\u021bie<\/a><\/noindex>. Solu\u021bia este pe deplin func\u021bional\u0103 \u0219i o folosesc pe o parte din ma\u0219inile mele de acas\u0103. O descriere mai detaliat\u0103 a acestei solu\u021bii este prezentat\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefiboot\">aici<\/a><\/noindex>.<\/p>\n<p>Esenta UEFI-Boot este c\u0103 ESP (EFI System Partition) se combin\u0103 cu directorul \/boot. Adic\u0103 toate nucleele \u0219i imaginile de \u00eenc\u0103rcare ini\u021bial\u0103 (initrd) sunt plasate pe acelasi parti\u021bie din care UEFI poate rula fi\u0219iere executabile \u0219i, \u00een special, poate lansa bootloader-ul sistemului. \u00cens\u0103 nucleul Linux este deja compilat cu op\u021biunea UEFISTUB \u00een multe distribu\u021bii, care permite nucleului s\u0103 porneasc\u0103 din UEFI.<\/p>\n<p>Exist\u0103 un aspect nepl\u0103cut al acestei solu\u021bii - parti\u021bia ESP este formatat\u0103 \u00een FAT32, care nu permite crearea de linkuri tari (pe care sistemul le creeaz\u0103 regulat la actualizarea initrd). \u0218i nu este nimic deosebit de grav \u00een asta, dar a vedea avertiz\u0103rile sistemului la actualizarea componentelor nucleului nu este chiar pl\u0103cut...<\/p>\n<p>Exist\u0103 \u0219i o alt\u0103 cale. <\/p>\n<p>Managerul de boot UEFI (acela \u00een care trebuie s\u0103 \u00eenscrii bootloader-ul OS) poate, pe l\u00e2ng\u0103 bootloader-e \/ nucleele Linux, s\u0103 \u00eencarce \u0219i drivere. Astfel, po\u021bi \u00eenc\u0103rca driverul sistemului de fi\u0219iere unde se afl\u0103 \/boot \u0219i s\u0103 \u00eencarci nucleul direct din UEFI. Desigur, driverul trebuie plasat \u00een parti\u021bia ESP. Aproape de asta se ocup\u0103 bootloader-e de tip GRUB. Dar esen\u021ba este c\u0103 toate func\u021biile folosite frecvent ale GRUB sunt deja disponibile \u00een UEFI. Mai exact, \u00een managerul s\u0103u de boot. \u0218i dac\u0103 vrei s\u0103 fi \u0219i mai tehnic, managerul de boot UEFI are chiar mai multe capacit\u0103\u021bi \u00een anumite privin\u021be. <\/p>\n<p>Pare c\u0103 este o solu\u021bie atractiv\u0103, dar exist\u0103 un \"DAR\" (de fapt a fost, dar despre asta mai t\u00e2rziu). Problema este c\u0103 sistemul de drivere UEFI este relativ simplu. Nu exist\u0103 un concept de montare a sistemului de fi\u0219iere sau de legare a driverului de un anumit dispozitiv. Exist\u0103 un apel de sistem cu un nume conven\u021bional Map (eng.) care ia, pe r\u00e2nd, fiecare driver \u0219i \u00eencearc\u0103 s\u0103-l asocieze cu toate dispozitivele care se potrivesc, mai mult sau mai pu\u021bin. \u0218i dac\u0103 driverul a reu\u0219it s\u0103 se conecteze la dispozitiv, atunci se creeaz\u0103 un mapping \u2014 o \u00eenregistrare de leg\u0103tur\u0103. Exact a\u0219a, \u00eempreun\u0103 cu toate celelalte, trebuie s\u0103 fie ini\u021bializat un driver nou \u00eenc\u0103rcat. \u0218i tot ce trebuie s\u0103 faci este s\u0103 pui un bit (LOAD_OPTION_FORCE_RECONNECT) \u00een 1 \u00een \u00eenregistrarea de boot a driverului, iar UEFI va efectua acest remap global dup\u0103 ce l-a \u00eenc\u0103rcat.<\/p>\n<p>Numai c\u0103 nu este at\u00e2t de simplu de realizat. Utilitarul standard efibootmgr (prin intermediul c\u0103ruia se realizeaz\u0103 configurarea managerului de boot UEFI) nu poate (de fapt nu putea) s\u0103 pun\u0103 acest bit. A fost necesar s\u0103-l setez manual printr-o procedur\u0103 destul de complicat\u0103 \u0219i riscant\u0103. <\/p>\n<p>\u0218i a\u0219a, dup\u0103 ce am \u00eencercat din nou s\u0103 fac acest lucru manual, nu am mai rezistat \u0219i am deschis <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/issues\/108\">o problem\u0103 pe GitHub<\/a><\/noindex> cu o solicitare c\u0103tre dezvoltatori de a ad\u0103uga aceast\u0103 op\u021biune.<\/p>\n<p>Au trecut c\u00e2teva zile, dar nimeni nu a observat cererea mea. \u0218i din curiozitate m-am uitat la sursele\u2026 le-am fork-uit \u0219i am calculat \"pe genunchi\" cum s\u0103 adaug aceast\u0103 func\u021bie\u2026 \"Pe genunchi\" pentru c\u0103 nu am instalat nimic \u0219i am editat sursele direct \u00een browser.<\/p>\n<p>C (limbajul de programare) \u00eel cunosc foarte superficial, dar am schi\u021bat o solu\u021bie (\u00een principal prin copiere \u0219i inserare)\u2026 apoi m-am g\u00e2ndit \u2014 chiar dac\u0103 am acolo cu siguran\u021b\u0103 o mul\u021bime de erori (tentativele mele anterioare de a modifica codul C al altora s-au adunat \u00eencep\u00e2nd cu a zecea \u00eencercare), voi deschide un Pull Request. Ei bine, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/pull\/109\">l-am deschis<\/a><\/noindex>.<\/p>\n<p>\u0218i acolo s-a dovedit c\u0103 era integrat Travis CI pentru verificarea pull request-urilor. \u0218i mi-a dat cu aten\u021bie toate erorile mele. Ei bine, dac\u0103 \u0219tiu de erori \u2014 ce-ar fi s\u0103 le corectez: din nou direct \u00een browser, iar la a patra \u00eencercare codul s-a compilat (un realizare pentru mine).<\/p>\n<p>\u0218i a\u0219a, f\u0103r\u0103 a ie\u0219i din browser, am deschis un Pull Request destul de real pentru utilitarul care este folosit \u00een practic toate distribu\u021biile moderne de Linux.<\/p>\n<p>M-a surprins c\u0103, f\u0103r\u0103 s\u0103 cunosc bine limba \u0219i f\u0103r\u0103 s\u0103 configurez nimic (deoarece pentru compilare este necesar un set considerabil de biblioteci), am reu\u0219it s\u0103 \u201escriu\u201d o func\u021bionalitate util\u0103 \u0219i func\u021bional\u0103 direct \u00een browser, f\u0103r\u0103 s\u0103 deschid niciodat\u0103 compilatorul.<\/p>\n<p>Cu toate acestea, cererea mea a fost \u00een a\u0219teptare f\u0103r\u0103 reac\u021bie din 19 martie 2019 \u0219i deja \u00eenceputese s\u0103 o uit. <\/p>\n<p>Dar ieri, aceast\u0103 cerere a fost ad\u0103ugat\u0103 \u00een master. <\/p>\n<p>\nDespre ce este povestea mea? Ea este despre cum, datorit\u0103 tehnologiilor moderne, codul real poate fi scris \u00een browser, f\u0103r\u0103 a necesita instalarea de instrumente de dezvoltare sau dependen\u021be local.<\/p>\n<p>Trebuie s\u0103 recunosc c\u0103 acesta este deja al doilea meu pull request pe utilitare cunoscute (cel pu\u021bin \u00een cercuri restr\u00e2nse). Data trecut\u0103, cererea mea de a corecta afisarea unor c\u00e2mpuri \u00een interfa\u021ba web a SyncThing s-a rezolvat printr-o modificare de o singur\u0103 linie, \u00eentr-un mediu pe care nu \u00eel cunosc deloc.<\/p>\n<p class=\"for_users_only_msg\">Numai utilizatorii \u00eenregistra\u021bi pot participa la sondaj. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Conecta\u021bi-v\u0103<\/a><\/noindex>, v\u0103 rug\u0103m.<\/p>\n<h2 class=\"default-block__polling-title\">Merit\u0103 s\u0103 continui sau nu?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    da<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    nu merit\u0103<\/p>\n<\/li>\n<\/ul>\n<p>    Au votat 294 de utilizatori. 138 de utilizatori s-au ab\u021binut.<br \/>\n<br \/>Sursa: <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.2.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\/ro\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Viitorul este deja aici sau cod\u0103m direct \u00een browser | ProHoster","description":"Voi povesti despre o situa\u021bie amuzant\u0103 care mi s-a \u00eent\u00e2mplat \u0219i despre cum po\u021bi deveni contributor \u00eentr-un proiect cunoscut. Recent, am lucra la o idee: \u00eenc\u0103rcarea.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/38908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=38908"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/38908\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=38908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=38908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=38908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}