{"id":79737,"date":"2020-04-30T07:41:58","date_gmt":"2020-04-30T05:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher"},"modified":"2020-04-30T07:41:58","modified_gmt":"2020-04-30T05:41:58","slug":"novyj-analog-punto-switcher-dlya-linux-xswitcher","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher","title":{"rendered":"Uus Punto Switcheri analoog linuxile: xswitcher","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>xneur'i toe l\u00f5ppemine on viimase kuue kuu jooksul mulle teatavaid raskusi valmistanud <i>(OpenSUSE 15.1 ilmumisega minu desktop'idel: xneur'i seessej\u00e4tmisel kaotavad aknad fookuse ja vilguvad l\u00f5busalt sisestamise taktis)<\/i>.<\/p>\n<p>\u00abAh, kurat, j\u00e4lle vale paigutusega hakkasin kirjutama\u00bb \u2014 see kordub minu t\u00f6\u00f6s \u00fcleliia sagedasti. Ja see ei lisa positiivsust.<\/p>\n<p><img decoding=\"async\" alt=\"Uus Punto Switcheri analoog linuxile: xswitcher\" src=\"\/wp-content\/uploads\/2020\/04\/d296936e3aedb8e94ba4c26522ffe72b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nSamas suudan ma (insenerina) \u00fcsna selgelt v\u00e4ljendada, mida tahan. Ja ma tahtsin (esialgu Punto Switcher'i, hiljem, t\u00e4nu Windows Vista'le, l\u00f5puks Linux'ile \u00fcleminekul xneur'i) t\u00e4pselt \u00fcht. Teades, et ekraanil on jura vale paigutuses (see juhtub tavaliselt uue s\u00f5na l\u00f5puks), vajutada \u00abPause\/Break\u00bb. Ja saada see, mida kirjutasin.<\/p>\n<p>Praeguseks on toode omandanud optimaalset (minu silmis) funktsionaalsuse\/keerukuse suhet. On aeg jagada.<\/p>\n<h2>TL.DR<\/h2>\n<p>\nEdasi tulevad igasugused tehnilised detailid, seega k\u00f5igepealt \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ds-voix\/VX-PBX\/blob\/master\/x%20switcher\/bin\/xswitcher\">link \u00abkatsetamiseks\u00bb<\/a><\/noindex> k\u00e4rsitutele.<\/p>\n<p>Praeguseks on kinnitatud j\u00e4rgmine k\u00e4itumine:<\/p>\n<ul>\n<li>\u00abPause\/Break\u00bb: kustutab (Backspace) viimase s\u00f5na, vahetab aktiivse akna paigutuse (vahepeal 0 ja 1) ja kirjutab uuesti.<\/li>\n<li>\u00abVasak Ctrl ilma midagi\u00bb: vahetab aktiivses aknas klaviatuuri paigutust (vahel 0 ja 1).<\/li>\n<li>\u00abVasak Shift ilma midagi\u00bb: aktiveerib aktiivses aknas paigutuse nr 0.<\/li>\n<li>\u00abParem Shift ilma midagi\u00bb: aktiveerib aktiivses aknas paigutuse nr 1.<\/li>\n<\/ul>\n<p>\nAlates sellest hetkest plaanin kohandada k\u00e4itumist. Ilma tagasisideta \u2014 ei ole huvitav (mind rahuldab niigi). Arvan, et Habr's on piisavalt palju publikust, kellel on sarnased probleemid.<\/p>\n<p><b>N.B.<\/b> Kuna praeguses versioonis on keylogger \u00fchendatud \"\/dev\/input\/\"-iga, peab xswitcher k\u00e4ivitama administraatori \u00f5igustes:<\/p>\n<pre><code class=\"bash\">chown root:root xswitcher\nchmod +xs xswitcher<\/code><\/pre>\n<p>\n<b>Palun pange t\u00e4hele:<\/b> Faili, millel on suid, omanik peab olema root, kuna kes on omanik \u2014 selleks suid ja muutub k\u00e4ivitamisel.<\/p>\n<p>Paranoikud (ma ei ole erand) saavad kloonida <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ds-voix\/VX-PBX\">GIT<\/a><\/noindex> ja koguda kohapeal. Umbes nii:<\/p>\n<pre><code class=\"bash\">go get \"github.com\/micmonay\/keybd_event\"\ngo get \"github.com\/gvalkov\/golang-evdev\"\n\n### X11 p\u00e4ised OpenSUSE\/deb-p\u00f5histele\nzypper install libX11-devel libXmu-devel\napt-get install libx11-dev libxmu-dev\n\ncd \"x switcher\/src\/\"\ngo build -o xswitcher -ldflags \"-s -w\" --tags static_all src\/*.go\n<\/code><\/pre>\n<p>\nAutomaats k\u00e4ivitamine lisada maitse j\u00e4rgi (s\u00f5ltuvalt DE-st).<\/p>\n<p>T\u00f6\u00f6tab, \u00abkala ei k\u00fcsi\u00bb (\u224830 sekundit CPU p\u00e4evas, \u224812 MB RSS-s).<\/p>\n<h2>\u00dcksikasjad<\/h2>\n<p>\nN\u00fc\u00fcd \u2014 \u00fcksikasjad.<\/p>\n<p><i>Kogu hoidla oli algselt p\u00fchendatud minu isiklikule projektile, ja uue loomine tundub hetkel t\u00fclikas. Seega on k\u00f5ik kokku kuhjatud (lihtsalt kaustadesse) ja kaetud AGPL-iga (\"patent tagurpidi\").<\/i><\/p>\n<p>Kood xswitcher on kirjutatud golangis, minimaalsete C-koodide lisadega. Eeldatakse, et selline l\u00e4henemine toob kaasa madalamad t\u00f6\u00f6j\u00f5ukulud (hetkel on see nii). Samuti s\u00e4ilib v\u00f5imalus lisade \u00fchendamiseks cgo kaudu.<\/p>\n<p>Teksti sees on kommentaarid, kust on midagi laenatud ja miks. Kuna xneur'i kood mind \"ei inspireerinud\", v\u00f5tsin aluseks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/xintrea\/LoLoSwitcher\">loloswitcher<\/a><\/noindex>.<\/p>\n<p>\"\/dev\/input\/\" kasutamisel on nii plusse (n\u00e4iteks on n\u00e4ha ka kinni hoitud klahvi kordus) kui ka miinuseid. Miinused on j\u00e4rgmised:<\/p>\n<ul>\n<li>Automaatne kordus (\u00fcritus koodiga \"2\") ei kattu kordustega X-is.<\/li>\n<li>Sisendi n\u00e4gemine X11 liideste kaudu on v\u00f5imatu (n\u00e4iteks t\u00f6\u00f6tab VNC nii).<\/li>\n<li>N\u00f5utav on root-\u00f5igus.<\/li>\n<\/ul>\n<p>\nTeiselt poolt on v\u00f5imalik tellida X s\u00fcndmusi l\u00e4bi \"XSelectExtensionEvent()\". Seda saab vaadata <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/freedesktop\/xorg-xinput\/blob\/master\/src\/test.c\">xinput koodis<\/a><\/noindex>. Go jaoks ei leidnud ma midagi sarnast ning esialgne teostus andis kohe sada rida C-koodi. Hetkel l\u00fckkan selle k\u00f5rvale.<\/p>\n<p>Tagasiside \"tagasi\" on hetkel tehtud virtuaalse klaviatuuri kaudu. Ait\u00e4h autorile keybd_event, kuid see on liiga k\u00f5rgetasemeline abstraktsioon ja edaspidi tuleb seda \u00fcmber teha. N\u00e4iteks minu parempoolne Win-klahv valib 3. rea. Ja tagasi edastatakse ainult vasak Win.<\/p>\n<h2>Tuntud vead<\/h2>\n<p><\/p>\n<ul>\n<li>Meil ei ole infot \"komposiit\" sisendi kohta (n\u00e4ide: \u00bd). <i>Praegu ei ole see vajalik.<\/i><\/li>\n<li>Vale parema Win-i taasesitus. Minu puhul rikub see r\u00f5hkude paigutust.<\/li>\n<li>Sisendi kohta pole selget anal\u00fc\u00fcsi. Selle asemel on mitmeid funktsioone: Compare(), CtrlSequence(), RepeatSequence(), SpaceSequence(). <i>Ait\u00e4h <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/nsmcan\/\" class=\"user_link\">nsmcan<\/a><\/noindex> t\u00e4helepanu eest: parandas koodis ja siin.<\/i> Teatud t\u00f5en\u00e4osusega v\u00f5ib vahetamisel saada vigu.<br \/>\n<b>Selles osas ei tea ma, kuidas peaks olema, ja olen avatud igasugustele ettepanekutele.<\/b><\/li>\n<li><i>(Oh hirmsust)<\/i> konkurentsiv\u00f5imeline kanalite kasutamine (keyboardEvents, miceEvents).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nKood on lihtsaim protseduuriline. <i>Ja rumal nagu mina.<\/i> Seega lohutangi end lootusega, et soovitud funktsioonide lisamine suudab peaaegu iga tehnik teha. Ja see toode ei kao selle t\u00f5ttu toetuse puudumise t\u00f5ttu nagu enamik just l\u00f5bu p\u00e4rast loodud tooteid.<\/p>\n<p>Edu!<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/495748\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 xneur \u0432\u044b\u0437\u0432\u0430\u043b\u043e \u0443 \u043c\u0435\u043d\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 (\u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c OpenSUSE 15.1 \u043d\u0430 \u043c\u043e\u0438\u0445 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430\u0445: \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u043c xneur \u043e\u043a\u043d\u0430 \u0442\u0435\u0440\u044f\u044e\u0442 \u0444\u043e\u043a\u0443\u0441 \u0438 \u0437\u0430\u0431\u0430\u0432\u043d\u043e \u043c\u0435\u0440\u0446\u0430\u044e\u0442 \u0432 \u0442\u0430\u043a\u0442 \u0432\u0432\u043e\u0434\u0430 \u0441 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b). \u00ab\u0410, \u0431\u043b\u0438\u043d, \u043e\u043f\u044f\u0442\u044c \u043d\u0435 \u0432 \u0442\u043e\u0439 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0435 \u043d\u0430\u0447\u0430\u043b \u043d\u0430\u0431\u0438\u0440\u0430\u0442\u044c\u00bb \u2014 \u0432 \u043c\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u043d\u0435\u043f\u0440\u0438\u043b\u0438\u0447\u0438\u044f \u0447\u0430\u0441\u0442\u043e. \u0418 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u0430 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442. \u0412 \u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":79738,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-79737","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.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 xneur \u0432\u044b\u0437\u0432\u0430\u043b\u043e \u0443 \u043c\u0435\u043d\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 (\u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c OpenSUSE 15.1 \u043d\u0430 \u043c\u043e\u0438\u0445 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430\u0445: \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u043c xneur \u043e\u043a\u043d\u0430 \u0442\u0435\u0440\u044f\u044e\u0442 \u0444\u043e\u043a\u0443\u0441 \u0438 \u0437\u0430\u0431\u0430\u0432\u043d\u043e \u043c\u0435\u0440\u0446\u0430\u044e\u0442 \u0432 \u0442\u0430\u043a\u0442 \u0432\u0432\u043e\u0434\u0430 \u0441.\" \/>\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\/et\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u041d\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 Punto Switcher \u0434\u043b\u044f linux: xswitcher | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 xneur \u0432\u044b\u0437\u0432\u0430\u043b\u043e \u0443 \u043c\u0435\u043d\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 (\u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c OpenSUSE 15.1 \u043d\u0430 \u043c\u043e\u0438\u0445 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430\u0445: \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u043c xneur \u043e\u043a\u043d\u0430 \u0442\u0435\u0440\u044f\u044e\u0442 \u0444\u043e\u043a\u0443\u0441 \u0438 \u0437\u0430\u0431\u0430\u0432\u043d\u043e \u043c\u0435\u0440\u0446\u0430\u044e\u0442 \u0432 \u0442\u0430\u043a\u0442 \u0432\u0432\u043e\u0434\u0430 \u0441.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher\" \/>\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-04-30T05:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-30T05:41:58+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\udd47Uus Punto Switcheri analoog linuxile: xswitcher | ProHoster","description":"Xneur toe l\u00f5petamine on viimase kuue kuu jooksul tekitanud mulle teatud muresid (alates OpenSUSE 15.1 ilmumisest minu t\u00f6\u00f6lauale: xneuri sissel\u00fclitamisel kaotavad aknad fookuse ja vilguvad naljakalt siseriigile vastavalt.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u041d\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 Punto Switcher \u0434\u043b\u044f linux: xswitcher | ProHoster","og:description":"\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 xneur \u0432\u044b\u0437\u0432\u0430\u043b\u043e \u0443 \u043c\u0435\u043d\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 (\u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c OpenSUSE 15.1 \u043d\u0430 \u043c\u043e\u0438\u0445 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430\u0445: \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u043c xneur \u043e\u043a\u043d\u0430 \u0442\u0435\u0440\u044f\u044e\u0442 \u0444\u043e\u043a\u0443\u0441 \u0438 \u0437\u0430\u0431\u0430\u0432\u043d\u043e \u043c\u0435\u0440\u0446\u0430\u044e\u0442 \u0432 \u0442\u0430\u043a\u0442 \u0432\u0432\u043e\u0434\u0430 \u0441.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher","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-04-30T05:41:58+00:00","article:modified_time":"2020-04-30T05:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"79737","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 16:32:22","updated":"2022-09-30 15:31:31","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/79737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=79737"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/79737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/79738"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=79737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=79737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=79737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}