{"id":105117,"date":"2022-09-16T15:36:39","date_gmt":"2022-09-16T13:36:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust"},"modified":"2022-09-16T15:36:39","modified_gmt":"2022-09-16T13:36:40","slug":"cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","title":{"rendered":"Cloudflare p\u0159e\u0161el z NGINX na vlastn\u00ed proxy Pingora, napsanou v jazyce Rust.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Spole\u010dnost Cloudflare ozn\u00e1mila p\u0159echod sv\u00e9 s\u00edt\u011b pro doru\u010dov\u00e1n\u00ed obsahu na pou\u017e\u00edv\u00e1n\u00ed proxy Pingora napsan\u00e9 v jazyce Rust. Nov\u00e1 proxy nahradila konfiguraci zalo\u017eenou na serveru NGINX s Lua skripty a zpracov\u00e1v\u00e1 v\u00edce ne\u017e trilion po\u017eadavk\u016f denn\u011b. Bylo uvedeno, \u017ee p\u0159echod na specializovanou proxy umo\u017enil nejen realizaci nov\u00fdch mo\u017enost\u00ed a zv\u00fd\u0161en\u00ed bezpe\u010dnosti d\u00edky bezpe\u010dn\u00e9 pr\u00e1ci s pam\u011bt\u00ed, ale tak\u00e9 vedl k v\u00fdrazn\u00e9mu zlep\u0161en\u00ed v\u00fdkonu a \u00faspor\u00e1m zdroj\u016f \u2014 \u0159e\u0161en\u00ed zalo\u017een\u00e9 na Pingora nevy\u017eaduje pou\u017eit\u00ed Lua, a proto spot\u0159ebov\u00e1v\u00e1 o 70 % m\u00e9n\u011b CPU a o 67 % m\u00e9n\u011b pam\u011bti p\u0159i zpracov\u00e1n\u00ed stejn\u00e9ho objemu provozu.     <\/p>\n<p>Dlouho byla syst\u00e9m pro proxyov\u00e1n\u00ed provozu mezi u\u017eivateli a koncov\u00fdmi <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/dts-dusseldorf\/\"   title=\"servery\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3455\">servery<\/a> na b\u00e1zi NGINX a Lua skript\u016f vyhovuj\u00edc\u00ed pot\u0159eb\u00e1m Cloudflare, ale s r\u016fstem s\u00edt\u011b a zv\u00fd\u0161en\u00edm jej\u00ed slo\u017eitosti se univerz\u00e1ln\u00ed \u0159e\u0161en\u00ed uk\u00e1zalo jako nedostate\u010dn\u00e9, jak z hlediska v\u00fdkonu, tak z d\u016fvodu omezen\u00ed v roz\u0161i\u0159itelnosti a implementaci nov\u00fdch funkc\u00ed pro klienty. Zejm\u00e9na se objevily pot\u00ed\u017ee p\u0159i p\u0159id\u00e1v\u00e1n\u00ed funkcionality, kter\u00e1 p\u0159esahuje r\u00e1mec jednoduch\u00e9ho br\u00e1ny a vyva\u017eova\u010de z\u00e1t\u011b\u017ee. Nap\u0159\u00edklad vznikla pot\u0159eba v p\u0159\u00edpad\u011b selh\u00e1n\u00ed zpracov\u00e1n\u00ed po\u017eadavku <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/dts-prohoster\/\"   title=\"serverem\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3061\">serverem<\/a> p\u0159ehr\u00e1vat po\u017eadavek na jin\u00fd server, dod\u00e1vaj\u00edc mu jinou sadu HTTP hlavi\u010dek.          <\/p>\n<p>M\u00edsto architektury, kter\u00e1 rozd\u011bluje po\u017eadavky do jednotliv\u00fdch proces\u016f zpracovatel\u016f (worker), pou\u017e\u00edv\u00e1 Pingora v\u00edcerozm\u011brn\u00fd model, kter\u00fd v sc\u00e9n\u00e1\u0159\u00edch pou\u017eit\u00ed Cloudflare (vysok\u00e1 koncentrace provozu z r\u016fzn\u00fdch str\u00e1nek s velk\u00fdm statistick\u00fdm posunem) prok\u00e1zal efektivn\u011bj\u0161\u00ed rozd\u011blen\u00ed zdroj\u016f mezi procesory CPU. Zejm\u00e9na vazba nevyv\u00e1\u017een\u00fdch po\u017eadavk\u016f na procesy v nginx vedla k nevyv\u00e1\u017een\u00e9 z\u00e1t\u011b\u017ei na j\u00e1dra CPU, co\u017e zp\u016fsobilo, \u017ee n\u00e1ro\u010dn\u00e9 po\u017eadavky a blokuj\u00edc\u00ed vstupn\u011b\/v\u00fdstupn\u00ed operace zpomalovaly zpracov\u00e1n\u00ed dal\u0161\u00edch po\u017eadavk\u016f. Krom\u011b toho vazba poolu spojen\u00ed na procesy zpracovatel\u016f neumo\u017e\u0148ovala op\u011btovn\u00e9 vyu\u017e\u00edv\u00e1n\u00ed ji\u017e nav\u00e1zan\u00fdch spojen\u00ed jin\u00fdch proces\u016f zpracovatel\u016f, co\u017e sni\u017euje efektivitu pr\u00e1ce p\u0159i velk\u00e9m po\u010dtu proces\u016f zpracovatel\u016f.         <\/p>\n<p>NGINX:  <center><img decoding=\"async\" alt=\"Cloudflare p\u0159e\u0161el z NGINX na vlastn\u00ed proxy Pingora, napsanou v jazyce Rust.\" src=\"\/wp-content\/uploads\/2022\/09\/a8253ce07419bc21d135e1b63bc1756a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>  <\/p>\n<p>Pingora:  <center><img decoding=\"async\" alt=\"Cloudflare p\u0159e\u0161el z NGINX na vlastn\u00ed proxy Pingora, napsanou v jazyce Rust.\" src=\"\/wp-content\/uploads\/2022\/09\/62cc18ce7d7dec60b2b72befc37dd79e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Implementace Pingora umo\u017enila sn\u00ed\u017eit po\u010det operac\u00ed p\u0159i instalaci nov\u00fdch spojen\u00ed 160kr\u00e1t a zv\u00fd\u0161it pod\u00edl znovu pou\u017e\u00edvan\u00fdch po\u017eadavk\u016f z 87,1 % na 99,92 %. Krom\u011b zkr\u00e1cen\u00ed opakovan\u00fdch spojen\u00ed a efektivn\u011bj\u0161\u00edho vyu\u017e\u00edv\u00e1n\u00ed CPU, zv\u00fd\u0161en\u00ed v\u00fdkonnosti nov\u00e9ho proxy p\u0159isp\u011blo p\u0159edev\u0161\u00edm odstran\u011bn\u00ed pomal\u00fdch zpracovatel\u016f napsan\u00fdch v jazyce Lua, kter\u00e9 byly vyu\u017e\u00edv\u00e1ny s nginx.     <\/p>\n<p>Jazyk Rust byl vybr\u00e1n jako prost\u0159edek k dosa\u017een\u00ed vysok\u00e9ho v\u00fdkonu ve spojen\u00ed s n\u00e1stroji pro bezpe\u010dn\u00e9 zach\u00e1zen\u00ed s pam\u011bt\u00ed. Bylo zm\u00edn\u011bno, \u017ee i p\u0159es vysokou kvalifikaci in\u017een\u00fdr\u016f Cloudflare a revizi k\u00f3du v jazyce C se nepoda\u0159ilo vyhnout chyb\u00e1m, kter\u00e9 vedly k probl\u00e9m\u016fm s pam\u011bt\u00ed (nap\u0159\u00edklad zranitelnost v HTML parseru). Co se t\u00fd\u010de nov\u00e9ho k\u00f3du, byly pops\u00e1ny p\u0159\u00edpady selh\u00e1n\u00ed v Pingora, kter\u00e9 byly zp\u016fsobeny nikoli probl\u00e9my s aplikac\u00ed, ale chybou v j\u00e1dru Linuxu a hardwarov\u00fdmi poruchami.      <\/p>\n<p>D\u00e1le je mo\u017en\u00e9 zd\u016fraznit koment\u00e1\u0159 Linuse Torvaldse ohledn\u011b za\u0159azen\u00ed podpory jazyka Rust do j\u00e1dra Linuxu, kter\u00fd zazn\u011bl na pr\u00e1v\u011b prob\u00edhaj\u00edc\u00ed konferenci Open-Source Summit Europe. Do j\u00e1dra 6.0 nebyly zahrnuty patche pro v\u00fdvoj ovlada\u010d\u016f za\u0159\u00edzen\u00ed v jazyce Rust, ale podle Linuse budou pravd\u011bpodobn\u011b akceptov\u00e1ny do j\u00e1dra 6.1, proto\u017ee se nechyst\u00e1 ot\u00e1let s integrac\u00ed. Mezi d\u016fvody pro p\u0159id\u00e1n\u00ed podpory Rust, vedle pozitivn\u00edho vlivu na bezpe\u010dnost, Linus uv\u00e1d\u00ed tak\u00e9 mo\u017enost zv\u00fd\u0161it z\u00e1jem o pr\u00e1ci na j\u00e1d\u0159e nov\u00fdch \u00fa\u010dastn\u00edk\u016f, co\u017e je v aktu\u00e1ln\u00ed situaci, kdy st\u00e1rnou dlouholet\u00ed \u010dlenov\u00e9, relevantn\u00ed.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57793\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043d\u0430 \u0431\u0430\u0437\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 NGINX \u0441 Lua-\u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438, \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0434\u0435\u043d\u044c. \u041e\u0442\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0441\u0447\u0451\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":105118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105117","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\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\/cs\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\udd47Cloudflare \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u0441 NGINX \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043ac\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust\" \/>\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=\"2022-09-16T13:36:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-09-16T13:36:40+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\udd47Cloudflare p\u0159e\u0161el z NGINX na vlastn\u00ed proxy Pingora napsan\u00e9 v jazyce Rust | ProHoster","description":"Spole\u010dnost Cloudflare ozn\u00e1mila p\u0159echod sv\u00e9 s\u00edt\u011b pro doru\u010dov\u00e1n\u00ed obsahu na pou\u017e\u00edv\u00e1n\u00ed proxy Pingora napsan\u00e9ho v jazyce Rust.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\udd47Cloudflare \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u0441 NGINX \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043ac\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","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":"2022-09-16T13:36:40+00:00","article:modified_time":"2022-09-16T13:36:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"105117","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":"default","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":"2026-02-09 21:46:50","updated":"2026-02-19 09:14:05","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/105117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=105117"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/105117\/revisions"}],"predecessor-version":[{"id":161830,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/105117\/revisions\/161830"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/105118"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=105117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=105117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=105117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}