{"id":91701,"date":"2020-08-17T07:42:05","date_gmt":"2020-08-17T05:42:05","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-sluchajno-napisat-web-gui-dlya-haproxy"},"modified":"2020-08-17T07:42:05","modified_gmt":"2020-08-17T05:42:05","slug":"kak-sluchajno-napisat-web-gui-dlya-haproxy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sluchajno-napisat-web-gui-dlya-haproxy","title":{"rendered":"Jak przypadkowo napisa\u0107 Web-GUI dla Haproxy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Wsp\u00f3\u0142czesny \u015bwiat administrator\u00f3w system\u00f3w przyzwyczai\u0142 nas do pi\u0119knych interfejs\u00f3w webowych, \u017ce nawet nie chce si\u0119 instalowa\u0107 oprogramowania, kt\u00f3re nie ma tego \u201eGUI\u201d (czuj\u0119, \u017ce teraz posypi\u0105 si\u0119 gromy od prawowiernych pisarzy), no ale nie b\u0119dziemy przecie\u017c ci\u0105gle grzeba\u0107 w wierszu polece\u0144, prawda? Wszystko by\u0142oby w porz\u0105dku, gdyby oprogramowanie mo\u017cna by\u0142o zainstalowa\u0107, skonfigurowa\u0107 i zapomnie\u0107, ale co zrobi\u0107, gdy trzeba tam ci\u0105gle grzeba\u0107, poprawia\u0107, a oczywi\u015bcie log wszystkich dzia\u0142a\u0144 nie istnieje, przecie\u017c nie b\u0119d\u0119 co chwil\u0119 pisa\u0142 cp cfg cfg_back, z czasem si\u0119 zgubi\u0119 i zrezygnuj\u0119 z tego.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/lm\/yl\/3g\/lmyl3gjbzhzlqdig_cmrzg3yl3w.jpeg\"><img decoding=\"async\" alt=\"Jak przypadkowo napisa\u0107 Web-GUI dla Haproxy\" src=\"\/wp-content\/uploads\/2020\/08\/874da79a28fbc29d1fd6511463ba14a5.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nWiele lat temu pozna\u0142em wspania\u0142y balansuj\u0105cy software, jakim jest Haproxy. Wszystko wspaniale i pi\u0119knie. Mia\u0142em ich ju\u017c wiele i zacz\u0119\u0142o mi brakowa\u0107 GUI do niego, ale ku mojemu zdziwieniu nie by\u0142o. Bardzo popularny soft, do tego wystarczaj\u0105co stary, ale dobrze, pomy\u015bla\u0142em i dalej od czasu do czasu edytowa\u0142em r\u0119cznie w moim ulubionym vi, maj\u0105c otwart\u0105 mas\u0119 zak\u0142adek ze statystyk\u0105 wszystkich aktywnych. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/\"   title=\"serwer\u00f3w\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1510\">serwer\u00f3w<\/a>. Ale nadszed\u0142 czas, gdy musia\u0142em spe\u0142ni\u0107 \u201echcice\u201d ludzi, kt\u00f3rzy pisali oprogramowanie do pracy przez http, tutaj zacz\u0119\u0142a si\u0119 interesuj\u0105ca historia\u2026 <\/p>\n<p>R\u0119ce zabola\u0142y, oczy zab\u0142ys\u0142y i przyst\u0105pi\u0142em do dzia\u0142ania. A w\u0142a\u015bciwie zacz\u0105\u0142em my\u015ble\u0107, w czym pisa\u0107, przypominaj\u0105c sobie dawno zapomniany PHP, jako\u015b mi si\u0119 nie chcia\u0142o, a tak\u017ce wydawa\u0142o si\u0119, \u017ce to niezupe\u0142nie nadaje si\u0119 do tej pracy. Ostatecznie wyb\u00f3r pad\u0142 na Pythona, pomy\u015bla\u0142em, \u017ce na przysz\u0142o\u015b\u0107 na pewno si\u0119 przyda i zacz\u0119\u0142o si\u0119 wch\u0142anianie informacji.<\/p>\n<p>Na pocz\u0105tku zadania nie by\u0142y a\u017c tak skomplikowane: mo\u017cliwo\u015b\u0107 edytowania konfiguracji z interfejsu webowego z jednego punktu dost\u0119pu, zapisywanie wcze\u015bniejszych wersji konfiguracji. Ten, niezbyt du\u017cy funkcjonalno\u015b\u0107 uda\u0142o si\u0119 zrealizowa\u0107 do\u015b\u0107 szybko, ale tutaj we mnie obudzi\u0142a si\u0119 to chyba adminowska leniwe p\u0119d do perfekcjonizmu i wyda\u0142o mi si\u0119 to oczywi\u015bcie za ma\u0142o. I tutaj zacz\u0119\u0142y pojawia\u0107 si\u0119 takie funkcje, jak: por\u00f3wnywanie dw\u00f3ch konfiguracji, logowanie wszystkich dzia\u0142a\u0144 zwi\u0105zanych z konfiguracjami, API w czasie rzeczywistym i dodawanie sekcji przez web.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/tx\/rk\/hg\/txrkhgoa8-zmpuvx1gswjkj2vou.jpeg\"><img decoding=\"async\" alt=\"Jak przypadkowo napisa\u0107 Web-GUI dla Haproxy\" src=\"\/wp-content\/uploads\/2020\/08\/abb93ee655e49bddd7367821eec781d0.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>I jako porz\u0105dny administrator UNIX, \u017cyj\u0105cy dzi\u0119ki wolnemu oprogramowaniu, postanowi\u0142em podzieli\u0107 si\u0119 tym ze \u015bwiatem, a nu\u017c komu\u015b si\u0119 przyda? Ale do tego musia\u0142em wszystko tak zrobi\u0107, aby nie trzeba by\u0142o grzeba\u0107 w kodzie, ale maksimum w konfiguracji aplikacji (Obecnie wi\u0119kszo\u015b\u0107 ustawie\u0144 przesz\u0142a do bazy danych. Uwa\u017cam, \u017ce sta\u0142o si\u0119 to wygodniejsze do edytowania, a przy aktualizacji nie b\u0119d\u0105 b\u0142\u0119d\u00f3w z powodu braku jakiegokolwiek parametru w konfiguracji). <\/p>\n<p>Po miesi\u0105cu wrzuci\u0142em swoje dzie\u0142o na Github, nie licz\u0105c na zbyt wiele. A jednak, oprogramowanie okaza\u0142o si\u0119 nieco popularne i wtedy zacz\u0119\u0142a si\u0119 najciekawsza cz\u0119\u015b\u0107\u2026 Aktywne \u201edopieszczanie\u201d trwa ju\u017c prawie rok. Czasami mam ochot\u0119 to wszystko rzuci\u0107, poniewa\u017c moje potrzeby s\u0105 ju\u017c dawno zaspokojone. Po co mi mo\u017cliwo\u015b\u0107 uruchomienia \u201eklastera\u201d z keepalived i HAProxy przez interfejs webowy, skoro zajmuje mi to najwy\u017cej kilka minut? A jednak ludzie tego potrzebuj\u0105, poza tym mnie to interesuje i jest co robi\u0107. Oczywi\u015bcie s\u0105 te\u017c potrzeby, takie jak monitorowanie serwer\u00f3w backendowych, aby sprawdzi\u0107, czy s\u0105 dost\u0119pne dla Haproxy. Mamy nasze korporacyjne monitorowanie, ale siedz\u0105 tam ludzie, kt\u00f3rzy mog\u0105 do\u015b\u0107 d\u0142ugo reagowa\u0107, a m\u00f3j dzia\u0142 zajmuje si\u0119 tworzeniem oprogramowania, kt\u00f3re pojawia si\u0119 i znika, wi\u0119c trudno przebi\u0107 si\u0119 przez biurokracj\u0119.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/_b\/th\/pl\/_bthplwgh1ggsiutfblcd6exbg4.jpeg\"><img decoding=\"async\" alt=\"Jak przypadkowo napisa\u0107 Web-GUI dla Haproxy\" src=\"\/wp-content\/uploads\/2020\/08\/72427d65430c891959b68c54efd8ab4a.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Wszystko postanowi\u0142em podzieli\u0107, poniewa\u017c wychodzi na to, \u017ce to jedyny darmowy GUI. A nu\u017c si\u0119 komu\u015b przyda? <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Aidaho12\/haproxy-wi\">Link do GitHub<\/a><\/noindex>.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/419865\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043c\u0438\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u0431\u043b\u0435\u043d\u0438\u043b \u043d\u0430\u0441 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c\u0438 web-face-\u0430\u043c\u0438, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0445\u043e\u0442\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u0444\u0442, \u0433\u0434\u0435 \u043d\u0435\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u00ab\u0433\u0443\u044f\u00bb (\u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043b\u0435\u0442\u044f\u0442 \u043a\u0430\u043c\u043d\u0438 \u043e\u0442 \u043f\u0440\u0430\u0432\u043e\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0447\u043a\u0435\u0440\u043e\u0432), \u043d\u0443 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0440\u043e\u043a\u0443 \u0436\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0442\u0443\u0434\u0430 \u043b\u0430\u0437\u0438\u0442\u044c, \u043f\u0440\u0430\u0432\u0434\u0430? \u0412\u0441\u0435 \u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \u0441\u043e\u0444\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b \u0438 \u0437\u0430\u0431\u044b\u043b, \u0430 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0442\u0443\u0434\u0430 \u043d\u0430\u0434\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043b\u0430\u0437\u0438\u0442\u044c, \u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u043d\u0443 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":91702,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-91701","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043c\u0438\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u0431\u043b\u0435\u043d\u0438\u043b \u043d\u0430\u0441 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c\u0438 web-face-\u0430\u043c\u0438, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0445\u043e\u0442\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u0444\u0442, \u0433\u0434\u0435 \u043d\u0435\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u00ab\u0433\u0443\u044f\u00bb (\u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043b\u0435\u0442\u044f\u0442 \u043a\u0430\u043c\u043d\u0438 \u043e\u0442 \u043f\u0440\u0430\u0432\u043e\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0447\u043a\u0435\u0440\u043e\u0432), \u043d\u0443 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0440\u043e\u043a\u0443 \u0436\u0435.\" \/>\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\/kak-sluchajno-napisat-web-gui-dlya-haproxy\" \/>\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\u041a\u0430\u043a \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c Web-GUI \u0434\u043b\u044f Haproxy | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043c\u0438\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u0431\u043b\u0435\u043d\u0438\u043b \u043d\u0430\u0441 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c\u0438 web-face-\u0430\u043c\u0438, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0445\u043e\u0442\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u0444\u0442, \u0433\u0434\u0435 \u043d\u0435\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u00ab\u0433\u0443\u044f\u00bb (\u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043b\u0435\u0442\u044f\u0442 \u043a\u0430\u043c\u043d\u0438 \u043e\u0442 \u043f\u0440\u0430\u0432\u043e\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0447\u043a\u0435\u0440\u043e\u0432), \u043d\u0443 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0440\u043e\u043a\u0443 \u0436\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sluchajno-napisat-web-gui-dlya-haproxy\" \/>\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=\"2020-08-17T05:42:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-17T05:42:05+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\udd47Jak przypadkiem napisa\u0107 Web-GUI dla Haproxy | ProHoster","description":"Wsp\u00f3\u0142czesny \u015bwiat administrator\u00f3w system\u00f3w rozpie\u015bci\u0142 nas pi\u0119knymi web-facjami, \u017ce nawet nie chce si\u0119 instalowa\u0107 oprogramowania, kt\u00f3re nie ma tego \u201eGUI\u201d (czuj\u0119, \u017ce teraz polec\u0105 kamienie od zagorza\u0142ych zwolennik\u00f3w konsoli), no nie mo\u017cna przecie\u017c korzysta\u0107 tylko z linii polece\u0144.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sluchajno-napisat-web-gui-dlya-haproxy","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\u041a\u0430\u043a \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c Web-GUI \u0434\u043b\u044f Haproxy | ProHoster","og:description":"\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043c\u0438\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u0431\u043b\u0435\u043d\u0438\u043b \u043d\u0430\u0441 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c\u0438 web-face-\u0430\u043c\u0438, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0445\u043e\u0442\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u0444\u0442, \u0433\u0434\u0435 \u043d\u0435\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u00ab\u0433\u0443\u044f\u00bb (\u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043b\u0435\u0442\u044f\u0442 \u043a\u0430\u043c\u043d\u0438 \u043e\u0442 \u043f\u0440\u0430\u0432\u043e\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0447\u043a\u0435\u0440\u043e\u0432), \u043d\u0443 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0440\u043e\u043a\u0443 \u0436\u0435.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sluchajno-napisat-web-gui-dlya-haproxy","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":"2020-08-17T05:42:05+00:00","article:modified_time":"2020-08-17T05:42:05+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"91701","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:22:24","updated":"2026-02-09 16:50:33","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\/91701","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=91701"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/91701\/revisions"}],"predecessor-version":[{"id":158754,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/91701\/revisions\/158754"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/91702"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=91701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=91701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=91701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}