{"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\/it\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher","title":{"rendered":"Nuovo analogo di Punto Switcher per linux: xswitcher","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La cessazione del supporto a xneur mi ha causato alcune sofferenze negli ultimi sei mesi <i>(con l'arrivo di OpenSUSE 15.1 sui miei desktop: con xneur attivo le finestre perdono il focus e lampeggiano in sincronizzazione con la digitazione sulla tastiera)<\/i>.<\/p>\n<p>\u00abAh, accidenti, ho di nuovo iniziato a digitare con il layout sbagliato\u00bb \u2014 nella mia lavoro capita in modo imbarazzante frequentemente. E non porta positivit\u00e0.<\/p>\n<p><img decoding=\"async\" alt=\"Nuovo analogo di Punto Switcher per linux: xswitcher\" src=\"\/wp-content\/uploads\/2020\/04\/d296936e3aedb8e94ba4c26522ffe72b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nAllo stesso tempo, io (come ingegnere progettista) posso esprimere abbastanza chiaramente cosa voglio. E quello che volevo (inizialmente da Punto Switcher, e poi, grazie a Windows Vista, finalmente passando a Linux, da xneur) era esattamente uno. Rendendomi conto che sullo schermo c'era un guazzabuglio con il layout sbagliato (questo di solito accade alla fine della digitazione di una nuova parola), dare un colpetto a \u00abPause\/Break\u00bb. E ottenere quello che ho digitato.<\/p>\n<p>Attualmente il prodotto ha un rapporto ottimale (dal mio punto di vista) funzionalit\u00e0\/complessit\u00e0. \u00c8 tempo di condividerlo.<\/p>\n<h2>TL.DR<\/h2>\n<p>\nOra seguiranno vari dettagli tecnici, quindi prima \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ds-voix\/VX-PBX\/blob\/master\/x%20switcher\/bin\/xswitcher\">link \u00abper provare\u00bb<\/a><\/noindex> per gli impazienti.<\/p>\n<p>Attualmente \u00e8 hardcoded il seguente comportamento:<\/p>\n<ul>\n<li>\u00abPause\/Break\u00bb: elimina (Backspace) l'ultima parola, switcha il layout nella finestra attiva (tra 0 e 1) e digita di nuovo.<\/li>\n<li>\u00abCtrl sinistro senza nulla\u00bb: switcha il layout nella finestra attiva (tra 0 e 1).<\/li>\n<li>\u00abShift sinistro senza nulla\u00bb: attiva il layout n.0 nella finestra attiva.<\/li>\n<li>\u00abShift destro senza nulla\u00bb: attiva il layout n.1 nella finestra attiva.<\/li>\n<\/ul>\n<p>\nDa questo momento intendo personalizzare il comportamento. Senza feedback \u2014 non \u00e8 interessante (mi va gi\u00e0 bene). Penso che su Habr ci sia una percentuale sufficiente di pubblico con problemi simili.<\/p>\n<p><b>N.B.<\/b> Poich\u00e9 nella versione attuale il keylogger \u00e8 collegato a \"\/dev\/input\/\", xswitcher deve essere eseguito con i diritti di root:<\/p>\n<pre><code class=\"bash\">chown root:root xswitcher\nchmod +xs xswitcher<\/code><\/pre>\n<p>\n<b>Attenzione:<\/b> il proprietario del file con suid deve essere root, poich\u00e9 chi \u00e8 il proprietario \u2014 quello suid diventer\u00e0 al momento dell'esecuzione.<\/p>\n<p>I paranoici (io non faccio eccezione) possono clonare da <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ds-voix\/VX-PBX\">GIT<\/a><\/noindex> e compilare in loco. Circa cos\u00ec:<\/p>\n<pre><code class=\"bash\">go get \"github.com\/micmonay\/keybd_event\"\ngo get \"github.com\/gvalkov\/golang-evdev\"\n\n### Intestazioni X11 per OpenSUSE\/Distribuzioni basate su deb\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>\nL'autostart da aggiungere a piacere (a seconda del DE).<\/p>\n<p>Funziona, \u00abnon chiede niente\u00bb (\u224830 secondi di CPU al giorno, \u224812 MB in RSS).<\/p>\n<h2>Dettagli<\/h2>\n<p>\nOra \u2014 dettagli.<\/p>\n<p><i>L'intero repository era originariamente dedicato al mio progetto personale, e non ho voglia di crearne un altro. Quindi, tutto \u00e8 accumulato in un unico posto (solo per cartelle) ed \u00e8 coperto da AGPL (\"brevetto inverso\").<\/i><\/p>\n<p>Il codice xswitcher \u00e8 scritto in golang, con minime integrazioni in C. Si presume che questo approccio riduca i costi di lavoro (e attualmente \u00e8 cos\u00ec). Mantiene la possibilit\u00e0 di integrare le mancanze tramite cgo.<\/p>\n<p>Nei testi ci sono commenti su dove ho preso cosa e perch\u00e9. Poich\u00e9 il codice xneur non mi ha \"ispirato\", ho preso come punto di partenza <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/xintrea\/LoLoSwitcher\">loloswitcher<\/a><\/noindex>.<\/p>\n<p>L'utilizzo di \"\/dev\/input\/\" presenta sia vantaggi (tutto \u00e8 visibile, inclusa la pressione del tasto con ripetizione automatica), sia svantaggi. Gli svantaggi sono i seguenti:<\/p>\n<ul>\n<li>La ripetizione automatica (eventi con codice \"2\") non si allinea con la ripetizione in X.<\/li>\n<li>Non \u00e8 visibile l'input tramite le interfacce X11 (ad esempio, questo \u00e8 il modo in cui funziona VNC).<\/li>\n<li>Serve l'accesso come root.<\/li>\n<\/ul>\n<p>\nD'altra parte, \u00e8 possibile iscriversi ad eventi X tramite \"XSelectExtensionEvent()\". Puoi dare un'occhiata nel <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/freedesktop\/xorg-xinput\/blob\/master\/src\/test.c\">codice xinput<\/a><\/noindex>. Per Go non ho trovato nulla di simile, e la prima implementazione ha prodotto subito un centinaio di righe di codice C. Al momento l'ho messo da parte.<\/p>\n<p>L'output \"inverso\" \u00e8 attualmente realizzato tramite l'aggiunta di una tastiera virtuale. Grazie all'autore di keybd_event, ma l\u00ec l'astrazione \u00e8 troppo ad alto livello e dovr\u00e0 essere rifatta. Ad esempio, il mio tasto Win destro seleziona il terzo rigo. E in entrata viene tradotto solo il tasto Win sinistro.<\/p>\n<h2>Errori noti<\/h2>\n<p><\/p>\n<ul>\n<li>Non sappiamo nulla sull'input \"composito\" (esempio: \u00bd). <i>In questo momento non \u00e8 necessario.<\/i><\/li>\n<li>Riproduciamo in modo errato il tasto Win destro. Nel mio caso rompe la posizione degli accenti.<\/li>\n<li>Non c'\u00e8 un'analisi chiara dell'input. Invece, ci sono alcune funzioni: Compare(), CtrlSequence(), RepeatSequence(), SpaceSequence(). <i>Grazie <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/nsmcan\/\" class=\"user_link\">nsmcan<\/a><\/noindex> per la tua attenzione: ho corretto il codice e qui.<\/i> C'\u00e8 una certa probabilit\u00e0 di incappare in bug durante la sostituzione.<br \/>\n<b>In questo momento non so \"come fare\" e sarei felice di ricevere qualsiasi suggerimento.<\/b><\/li>\n<li><i>(Oh no)<\/i> uso concorrente dei canali (keyboardEvents, miceEvents).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Conclusione<\/h2>\n<p>\nIl codice \u00e8 il pi\u00f9 semplice possibile. <i>E stupido come me.<\/i> Quindi, mi consolo con la speranza che qualsiasi tecnico possa completare ci\u00f2 che desidero. E questo prodotto grazie a ci\u00f2 non scomparir\u00e0 senza supporto, come la maggior parte dei progetti just-for-fun.<\/p>\n<p>Buona fortuna!<br \/>\n<br \/>Fonte: <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.1.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\/it\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Nuovo analogo di Punto Switcher per linux: xswitcher | ProHoster","description":"La cessazione del supporto a xneur mi ha causato delle difficolt\u00e0 nell'ultimo semestre (con l'arrivo di OpenSUSE 15.1 sui miei desktop: con xneur attivo, le finestre perdono il focus e lampeggiano buffamente a ritmo di input.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/novyj-analog-punto-switcher-dlya-linux-xswitcher","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/79737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=79737"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/79737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/79738"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=79737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=79737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=79737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}