{"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\/sv\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","title":{"rendered":"Framtiden \u00e4r redan h\u00e4r eller koda direkt i webbl\u00e4saren","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jag ska ber\u00e4tta om en komisk situation som h\u00e4nde mig och hur man blir en bidragsgivare till ett v\u00e4lk\u00e4nt projekt.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNyligen arbetade jag med en id\u00e9: att ladda Linux direkt fr\u00e5n UEFI\u2026 <br \/>\nId\u00e9n \u00e4r inte ny och det finns ett antal manualer p\u00e5 detta \u00e4mne. En av dem kan man titta p\u00e5 <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\">). Ett typiskt exempel p\u00e5 anv\u00e4ndning:<\/a><\/noindex><\/p>\n<p>Mina l\u00e5ngvariga f\u00f6rs\u00f6k att l\u00f6sa denna fr\u00e5ga har leder till ett ganska v\u00e4l utformat <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/slytomcat\/UEFI-Boot\">beslutet<\/a><\/noindex>. L\u00f6sningen fungerar bra och jag anv\u00e4nder den p\u00e5 n\u00e5gra av mina hemmamaskiner. En mer detaljerad beskrivning av denna l\u00f6sning finns i <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefiboot\">). Ett typiskt exempel p\u00e5 anv\u00e4ndning:<\/a><\/noindex>.<\/p>\n<p>K\u00e4rnan i UEFI-boot \u00e4r att ESP (EFI System Partition) partitionen kombineras med katalogen \/boot. Det vill s\u00e4ga att alla k\u00e4rnor och initiala laddningsbilder (initrd) placeras p\u00e5 just den partition fr\u00e5n vilken UEFI kan k\u00f6ra k\u00f6rbara filer och specifikt startladdare f\u00f6r systemet. Men sj\u00e4lva Linux-k\u00e4rnan kompilieras redan i m\u00e5nga distributioner med alternativet UEFISTUB, vilket g\u00f6r att sj\u00e4lva k\u00e4rnan kan starta fr\u00e5n UEFI.<\/p>\n<p>Det finns en obehaglig aspekt av denna l\u00f6sning \u2014 ESP-partitionen \u00e4r formaterad i FAT32, d\u00e4r det inte g\u00e5r att skapa h\u00e5rda l\u00e4nkar (som systemet regelbundet skapar vid uppdatering av initrd). Och det finns inget s\u00e4rskilt brottsligt med detta, men det \u00e4r inte s\u00e5 trevligt att se systemvarningar vid uppdatering av k\u00e4rnkomponenter\u2026<\/p>\n<p>Det finns en annan v\u00e4g. <\/p>\n<p>UEFI-laddaren (den som man m\u00e5ste ange operativsystemets laddare till) kan f\u00f6rutom att ladda laddare\/k\u00e4rnor f\u00f6r Linux \u00e4ven ladda drivrutiner. S\u00e5 man kan ladda drivrutinen f\u00f6r det filsystem d\u00e4r man har sin \/boot och direkt fr\u00e5n det ladda k\u00e4rnan med hj\u00e4lp av UEFI. Drivrutinen m\u00e5ste naturligtvis placeras i ESP-partitionen. Ungef\u00e4r detta g\u00f6r laddare som GRUB. Men po\u00e4ngen \u00e4r just att alla ofta anv\u00e4nda funktioner i GRUB redan finns i UEFI. N\u00e4rmare best\u00e4mt i dess laddarhanterare. Och om man ska vara \u00e4nnu mer petig, s\u00e5 har UEFI-laddarhanteraren faktiskt fler m\u00f6jligheter i vissa avseenden. <\/p>\n<p>Det verkar vara en vacker l\u00f6sning, men det finns ett \"MEN\" (eller snarare fanns det, men mer om det senare). Det handlar om att UEFI-drivrutinsystemet \u00e4r ganska enkelt utformat. Det finns inget s\u00e5dant koncept som montering av filsystem eller koppling av en drivrutin till en specifik enhet. Det finns ett systemanrop med det villkorliga namnet Map som g\u00e5r igenom varje drivrutin och f\u00f6rs\u00f6ker koppla den till alla, mer eller mindre l\u00e4mpliga enheter. Om drivrutinen lyckas koppla till en enhet, skapas en mappning \u2014 en kopplingspost. Just s\u00e5 m\u00e5ste den nyinl\u00e4sta drivrutinen initieras tillsammans med alla andra. Och allt som beh\u00f6vs \u00e4r att s\u00e4tta en bit (LOAD_OPTION_FORCE_RECONNECT) i 1 i drivrutinens startpost, s\u00e5 kommer UEFI efter att ha laddat den att g\u00f6ra den globala remappen.<\/p>\n<p>Men att g\u00f6ra detta \u00e4r inte s\u00e5 enkelt. Den standardm\u00e4ssiga verktygen efibootmgr (som anv\u00e4nds f\u00f6r att konfigurera UEFI:s lasthanterare) kan (eller snarare kunde) inte s\u00e4tta denna bit. Jag var tvungen att g\u00f6ra det manuellt genom en ganska komplex och farlig procedur. <\/p>\n<p>Och s\u00e5, efter att ha f\u00f6rs\u00f6kt g\u00f6ra detta manuellt igen, kunde jag inte motst\u00e5 och skapade <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/issues\/108\">ett issue p\u00e5 GitHub<\/a><\/noindex> med en beg\u00e4ran till utvecklarna att l\u00e4gga till denna funktion.<\/p>\n<p>Det gick n\u00e5gra dagar, men ingen uppm\u00e4rksammade min beg\u00e4ran. Och av nyfikenhet kollade jag p\u00e5 k\u00e4llkoden\u2026 forka den och funderade p\u00e5 hur jag skulle kunna l\u00e4gga till denna funktion \"manuellt\"\u2026 \"manuellt\" eftersom jag inte installerade n\u00e5got och redigerade direkt i webbl\u00e4saren.<\/p>\n<p>Jag k\u00e4nner C (programmeringsspr\u00e5ket) v\u00e4ldigt ytligt, men jag skissade p\u00e5 en l\u00f6sning (fr\u00e4mst genom att kopiera och klistra in)\u2026 sen t\u00e4nkte jag \u2014 varf\u00f6r inte skicka en Pull Request, \u00e4ven om jag har s\u00e4kert mycket fel (mina tidigare f\u00f6rs\u00f6k att r\u00e4tta andras C-kod gav resultat f\u00f6rst efter tio f\u00f6rs\u00f6k). S\u00e5 jag <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/pull\/109\">skapade den<\/a><\/noindex>.<\/p>\n<p>Och d\u00e4r visade det sig att Travis CI var kopplad f\u00f6r att kontrollera pull requests. Och den gav mig noggrant alla mina fel. Om felen \u00e4r k\u00e4nda - varf\u00f6r inte r\u00e4tta dem: \u00e5terigen direkt i webbl\u00e4saren, och efter fj\u00e4rde f\u00f6rs\u00f6ket s\u00e5 byggdes koden (ett framg\u00e5ng f\u00f6r mig).<\/p>\n<p>Och s\u00e5, utan att l\u00e4mna webbl\u00e4saren, l\u00e4mnade jag in en fullt fungerande Pull Request till ett verktyg som anv\u00e4nds i n\u00e4stan alla moderna Linux-distributioner.<\/p>\n<p>Jag blev sj\u00e4lv f\u00f6rv\u00e5nad \u00f6ver att jag, utan att riktigt kunna spr\u00e5ket och utan att st\u00e4lla in n\u00e5got (det beh\u00f6vs en hel del beroenden f\u00f6r att bygga), och utan att ens k\u00f6ra kompilatorn, helt enkelt \"kodade\" en fullt fungerande och anv\u00e4ndbar funktion direkt i webbl\u00e4saren.<\/p>\n<p>Men min beg\u00e4ran hade h\u00e4ngt utan respons sedan den 19 mars 2019, och jag hade n\u00e4stan gl\u00f6mt bort den. <\/p>\n<p>Men ig\u00e5r lades den h\u00e4r beg\u00e4ran till i master. <\/p>\n<p>\nS\u00e5 vad handlar min ber\u00e4ttelse om? Den handlar om att inom ramen f\u00f6r moderna teknologier har det visat sig att man faktiskt kan skriva verklig kod i webbl\u00e4saren utan att beh\u00f6va st\u00e4lla in n\u00e5gra lokala utvecklingsverktyg eller beroenden.<\/p>\n<p>Dessutom m\u00e5ste jag erk\u00e4nna att detta redan \u00e4r min andra pull request i k\u00e4nda (\u00e5tminstone inom smala kretsar) verktyg. Senast resulterade min beg\u00e4ran om att \u00e5tg\u00e4rda visningen av vissa f\u00e4lt i webgr\u00e4nssnittet f\u00f6r SyncThing i en bokstavligen enradig \u00e4ndring i en milj\u00f6 som jag \u00f6verhuvudtaget inte k\u00e4nner till.<\/p>\n<p class=\"for_users_only_msg\">Endast registrerade anv\u00e4ndare kan delta i omr\u00f6stningen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Logga in<\/a><\/noindex>, tack.<\/p>\n<h2 class=\"default-block__polling-title\">Ska jag skriva mer eller inte?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ja<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    om<\/p>\n<\/li>\n<\/ul>\n<p>    294 anv\u00e4ndare r\u00f6stade, 138 anv\u00e4ndare avstod.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Framtiden \u00e4r h\u00e4r eller vi kodar direkt i webbl\u00e4saren | ProHoster","description":"Jag ska ber\u00e4tta om en kuriosa som h\u00e4nde mig och hur man blir bidragsgivare till ett v\u00e4lk\u00e4nt projekt. Nyligen sysslade jag med en id\u00e9: uppladdning.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/38908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=38908"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/38908\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=38908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=38908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=38908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}