{"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\/de\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","title":{"rendered":"Die Zukunft ist bereits hier oder wir codieren direkt im Browser","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ich werde von einer kuriosen Situation erz\u00e4hlen, die mir passiert ist, und wie man ein Mitwirkender in einem bekannten Projekt wird.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nVor nicht allzu langer Zeit habe ich mich mit einer Idee besch\u00e4ftigt: Linux direkt \u00fcber UEFI zu laden... <br \/>\nDie Idee ist nicht neu und es gibt einige Anleitungen zu diesem Thema. Eine davon kann man sich ansehen. <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\">hier<\/a><\/noindex><\/p>\n<p>Meine langj\u00e4hrigen Versuche, dieses Problem zu l\u00f6sen, haben sich zu einer durchaus strukturierten <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/slytomcat\/UEFI-Boot\">L\u00f6sung<\/a><\/noindex>. Die L\u00f6sung funktioniert gut und ich nutze sie auf einem Teil meiner Heimcomputer. Etwas detaillierter ist diese L\u00f6sung beschrieben. <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefiboot\">hier<\/a><\/noindex>.<\/p>\n<p>Der Wesenszug des UEFI-Boots ist, dass die ESP (EFI System Partition) mit dem Verzeichnis \/boot kombiniert wird. Das hei\u00dft, alle Kerne und die Initial-Boot-Images (initrd) befinden sich auf derselben Partition, von der UEFI ausf\u00fchrbare Dateien starten kann, insbesondere Systemloader. Aber der Linux-Kernel selbst wird bereits in vielen Distributionen mit der Option UEFISTUB kompiliert, die es dem Kernel erlaubt, direkt aus UEFI zu starten.<\/p>\n<p>Bei dieser L\u00f6sung gibt es jedoch einen unangenehmen Punkt \u2014 der ESP ist im FAT32-Format und es ist nicht m\u00f6glich, harte Links zu erstellen (die das System beim Aktualisieren von initrd regelm\u00e4\u00dfig erstellt). Und es ist nichts besonders Kriminelles daran, aber die Warnmeldungen des Systems bei der Aktualisierung von Kernelkomponenten sind nicht besonders erfreulich...<\/p>\n<p>Es gibt auch einen anderen Weg. <\/p>\n<p>Der UEFI-Boot-Manager (der genau der ist, wo man den Betriebssystemloader eintragen muss) kann neben den Linux-Loadern\/Kernen auch Treiber laden. So kann man den Treiber f\u00fcr das Dateisystem laden, auf dem sich \/boot befindet, und von dort das Kernel \u00fcber UEFI starten. Der Treiber muss nat\u00fcrlich in die ESP-Partition gelegt werden. Genau das \u00fcbernehmen Loader wie GRUB. Aber das Besondere ist, dass viele der h\u00e4ufig verwendeten Funktionen von GRUB bereits in UEFI vorhanden sind. Genauer gesagt, im Boot-Manager. Und um noch pedantischer zu sein, hat der UEFI-Boot-Manager in einigen Aspekten sogar mehr M\u00f6glichkeiten. <\/p>\n<p>Es scheint eine sch\u00f6ne L\u00f6sung zu sein, aber es gibt ein \"ABER\" (bzw. gab es, aber dazu sp\u00e4ter mehr). Das Problem ist, dass das UEFI-Treibersystem ziemlich einfach strukturiert ist. Es gibt kein Konzept wie das Einbinden eines Dateisystems oder das Verkn\u00fcpfen eines Treibers mit einem bestimmten Ger\u00e4t. Es gibt einen Systemaufruf mit dem bedingten Namen Map (engl.) der nacheinander jeden Treiber aufnimmt und versucht, ihn mit allen mehr oder weniger passenden Ger\u00e4ten zu verbinden. Und wenn der Treiber erfolgreich ein Ger\u00e4t verbinden konnte, wird ein Mapping \u2014 ein Verweis erstellt. Genau so sollte der neu geladene Treiber in der allgemeinen Anordnung mit all den anderen initialisiert werden. Und alles, was n\u00f6tig ist \u2014 im Boot-Eintrag des Treibers ein Bit (LOAD_OPTION_FORCE_RECONNECT) auf 1 setzen, und UEFI wird nach seinem Ladevorgang dieses globale Remapping vornehmen.<\/p>\n<p>Nur ist es nicht so einfach, dies zu tun. Das Standardwerkzeug efibootmgr (mit dem der UEFI-Entlade-Manager konfiguriert wird) kann (bzw. konnte nicht) dieses Bit setzen. Man musste es manuell \u00fcber ein ziemlich kompliziertes und riskantes Verfahren setzen. <\/p>\n<p>Und so habe ich es beim n\u00e4chsten Versuch wieder manuell gemacht, bis ich nicht mehr widerstehen konnte und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/issues\/108\">ein Issue auf GitHub erstellt habe,<\/a><\/noindex> in dem ich die Entwickler bat, diese M\u00f6glichkeit hinzuzuf\u00fcgen.<\/p>\n<p>Ein paar Tage sind vergangen, aber niemand hat auf meine Anfrage geachtet. Aus Neugier habe ich mir dann den Quellcode angesehen\u2026 geforkt und mir \u00fcberlegt, wie ich dieses Feature \"auf die Schnelle\" hinzuf\u00fcgen kann\u2026 \"Auf die Schnelle\", weil ich nichts weiter installiert habe und den Quellcode direkt im Browser bearbeitet habe.<\/p>\n<p>C (die Programmiersprache) kenne ich nur sehr oberfl\u00e4chlich, aber ich habe ungef\u00e4hr eine L\u00f6sung skizziert (vor allem durch Kopieren und Einf\u00fcgen)\u2026 dann dachte ich mir \u2014 obwohl ich bestimmt eine Menge Fehler hatte (meine fr\u00fcheren Versuche, den Code anderer zu bearbeiten, ben\u00f6tigten bis zum zehnten Mal), werde ich einen Pull Request erstellen. Und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/pull\/109\">das habe ich getan.<\/a><\/noindex>.<\/p>\n<p>Da stellte ich fest, dass Travis CI zur \u00dcberpr\u00fcfung von Pull Requests integriert war. Und es hat mir sorgf\u00e4ltig alle meine Fehler angezeigt. Wenn die Fehler bekannt sind \u2014 warum nicht einfach beheben: wieder direkt im Browser, und beim vierten Versuch war der Code kompiliert (ein Erfolg f\u00fcr mich).<\/p>\n<p>Und so habe ich, ohne den Browser zu verlassen, einen ziemlich realen Pull Request f\u00fcr das Tool erstellt, das praktisch in allen modernen Linux-Distributionen verwendet wird.<\/p>\n<p>Ich war selbst \u00fcberrascht, dass ich, ohne die Sprache wirklich zu kennen und ohne irgendwelche Einstellungen vorzunehmen (es gibt eine erhebliche Anzahl von Bibliotheken, die f\u00fcr den Build ben\u00f6tigt werden), und noch nie den Compiler gestartet zu haben, einfach im Browser eine ziemlich funktionale und n\u00fctzliche Funktion \"programmiert\" habe.<\/p>\n<p>Mein Antrag blieb jedoch seit dem 19. M\u00e4rz 2019 ohne Reaktion, und ich begann bereits, ihn zu vergessen. <\/p>\n<p>Aber gestern wurde dieser Antrag in den Master integriert. <\/p>\n<p>\nWor\u00fcber erz\u00e4hle ich also? Es geht darum, dass es innerhalb der modernen Technologien nun m\u00f6glich ist, echten Code im Browser zu schreiben, ohne lokal irgendwelche Entwicklungswerkzeuge und Abh\u00e4ngigkeiten einzurichten.<\/p>\n<p>\u00dcbrigens muss ich zugeben, dass dies bereits mein zweiter Pull-Request an eine bekannte (zumindest in engen Kreisen) Utility ist. Beim letzten Mal f\u00fchrte meine Bitte, die Anzeige einiger Felder im Web-Interface von SyncThing zu verbessern, zu einer buchst\u00e4blich einzeiligen Korrektur in einer Umgebung, die ich \u00fcberhaupt nicht kenne.<\/p>\n<p class=\"for_users_only_msg\">Nur registrierte Benutzer k\u00f6nnen an der Umfrage teilnehmen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Bitte einloggen<\/a><\/noindex>.<\/p>\n<h2 class=\"default-block__polling-title\">Soll ich noch schreiben oder nicht?<\/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>                    nicht ratsam ist<\/p>\n<\/li>\n<\/ul>\n<p>    294 Nutzer haben abgestimmt. 138 Nutzer haben sich enthalten.<br \/>\n<br \/>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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\udd47Die Zukunft ist bereits hier oder wir coden direkt im Browser | ProHoster","description":"Ich werde von einem kuriosen Vorfall erz\u00e4hlen, der mir widerfahren ist, und davon, wie man ein Contributor in einem bekannten Projekt wird. Neulich besch\u00e4ftigte ich mich mit einer Idee: dem Upload.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/38908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=38908"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38908\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=38908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=38908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=38908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}