{"id":206,"date":"2021-03-16T20:40:03","date_gmt":"2021-03-16T19:40:03","guid":{"rendered":"https:\/\/cleverblog.pl\/?p=206"},"modified":"2022-01-09T02:12:47","modified_gmt":"2022-01-09T01:12:47","slug":"raspberry-lub-inny-linux-internet-watchdog","status":"publish","type":"post","link":"https:\/\/cleverblog.pl\/?p=206","title":{"rendered":"Raspberry (Linux) internet watchdog"},"content":{"rendered":"\n<p>Stworzy\u0142em skrypt, kt\u00f3ry monitoruje, czy na Twoim urz\u0105dzeniu dzia\u0142a po\u0142\u0105czenie internetowe. Je\u015bli nie, zrestartuje router, a je\u015bli problem b\u0119dzie wyst\u0119powa\u0142 nadal, urz\u0105dzenie uruchomi si\u0119 ponownie. W ten spos\u00f3b zapewnisz stabilno\u015b\u0107 dost\u0119pu do swojej sieci i urz\u0105dzenia w przypadku awarii sieci. Dowiesz si\u0119 jak stworzy\u0107 OpenWrt watchdog lub router watchdog wykorzystuj\u0105c prosty skrypt napisany w Pythonie.<\/p>\n\n\n\n<h2>Wymagania<\/h2>\n\n\n\n<ul><li>Urz\u0105dzenie oparte na systemie <code>Linux<\/code> (takie jak <code>Raspberry Pi<\/code>) z zainstalowanym Pythonem 3<\/li><li>Jeden z obs\u0142ugiwanych router\u00f3w: <code>Cisco EPC3925<\/code>, <code>Nokia G-240W-C<\/code> lub inny z zainstalowanym <code>OpenWrt<\/code><\/li><li>Nast\u0119puj\u0105ce pakiety Pythona zainstalowane na urz\u0105dzeniu: <code>http.client<\/code>, <code>requests<\/code>, <code>paramiko<\/code> (tylko dla <code>Cisco EPC3925<\/code>)<\/li><li>Dane dost\u0119powe do Twojego urz\u0105dzenia: login i has\u0142o<\/li><li>Je\u015bli u\u017cywasz routera z <code>OpenWrt<\/code>, upewnij si\u0119, \u017ce ma on w\u0142\u0105czony dost\u0119p SSH i nadane has\u0142o<\/li><li>Skrypt zapisuje dat\u0119 ostatniego restartu do pliku w swojej lokalizacji, aby unikn\u0105\u0107 p\u0119tli restartu, wi\u0119c upewnij si\u0119, \u017ce b\u0119dzie mia\u0142 uprawnienia do zapisu w swojej lokalizacji<\/li><\/ul>\n\n\n\n<h2>Instalacja<\/h2>\n\n\n\n<p>Zainstaluj wymagane pakiety Pythona.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip3 install http.client requests paramiko<\/code><\/pre>\n\n\n\n<p>Sklonuj repozytorium do dowolnego katalogu na swoim urz\u0105dzeniu, np. do katalogu domowego.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd\ngit clone https:\/\/github.com\/paulomac1000\/Raspberry-Internet-Watchdog<\/code><\/pre>\n\n\n\n<p>Przejd\u017a do katalogu skryptu.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd Raspberry-Internet-Watchdog<\/code><\/pre>\n\n\n\n<p>Skonfiguruj skrypt g\u0142\u00f3wny.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano watchdog.internet.py<\/code><\/pre>\n\n\n\n<p>Przejd\u017a do linii 44 (do poni\u017cszego kodu) i odkomentuj wywo\u0142anie skryptu restartu Twojego routera.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Uncomment line for Your router and update access data in selected file\n#os.system('python3 Cisco_EPC3925.py')\n#os.system('python3 Nokia_G-240W-C.py')\n#os.system('python3 OpenWrt.py')<\/code><\/pre>\n\n\n\n<p>Zamknij plik u\u017cywaj\u0105c <code>ctrl+x<\/code> i zapisz zmiany.<\/p>\n\n\n\n<p>Nast\u0119pnie skonfiguruj skrypt, kt\u00f3ry zrestartuje router:<\/p>\n\n\n\n<h4>Je\u017celi u\u017cywasz routera <code>Cisco EPC3925<\/code>:<\/h4>\n\n\n\n<p>Otw\u00f3rz skrypt <code>Cisco_EPC3925.py<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano Cisco_EPC3925.py<\/code><\/pre>\n\n\n\n<p>I ustaw odpowiednie dane dost\u0119powe, takie jak adres URL, login i has\u0142o. Dane podane w skrypcie s\u0105 danymi domy\u015blnymi dla router\u00f3w udost\u0119pnianych przez operatora Inea.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>url = \"192.168.0.1\"\nusername = \"homeu\"\npassword = \"homep\" <\/code><\/pre>\n\n\n\n<p>Zamknij plik u\u017cywaj\u0105c <code>ctrl+x<\/code> i zapisz zmiany.<\/p>\n\n\n\n<h4>Je\u017celi u\u017cywasz routera <code>Nokia G-240W-C<\/code>:<\/h4>\n\n\n\n<p>Tutaj sprawa jest nieco bardziej skomplikowana. Po zalogowaniu musisz zdoby\u0107 tokeny autoryzacyjne wygenerowane przez router. Nie zniech\u0119caj si\u0119, \u0142atwo do nich dotrze\u0107. Niestety nie mog\u0142em przepisa\u0107 logiki, kt\u00f3ra je wygenerowa\u0142a, poniewa\u017c korzysta\u0142a z pakietu niedost\u0119pnego dla <code>Pythona<\/code>.<\/p>\n\n\n\n<p>Oczywi\u015bcie, je\u015bli u\u017cywasz routera operatora Inea z domy\u015blnym has\u0142em, nie musisz nic zmienia\u0107 w skrypcie. W przeciwnym wypadku:<\/p>\n\n\n\n<ul><li>przejd\u017a do strony logowania routera,<\/li><li>otw\u00f3rz narz\u0119dzia deweloperskie (klawisz F12 w chrome) i wybierz kart\u0119 &#8222;Network&#8221;,<\/li><li>zaznacz checkbox <code>Preserve logs<\/code> w narz\u0119dziach deweloperskich,<\/li><li>zaloguj si\u0119 do routera,<\/li><li>znajd\u017a request o nazwie <code>login.cgi<\/code> id\u0105cy pod adres <code>http:\/\/192.168.1.1\/login.cgi<\/code> i otw\u00f3rz go,<\/li><li>na samym dole zobaczysz warto\u015bci &#8222;Form Data&#8221;, skopiuj warto\u015bci parametr\u00f3w <code>ct<\/code> i <code>ck<\/code>.<\/li><\/ul>\n\n\n\n<p>Otw\u00f3rz skrypt <code>Nokia_G-240W-C.py<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano Nokia_G-240W-C.py<\/code><\/pre>\n\n\n\n<p>I ustaw odpowiednie dane dost\u0119powe, takie jak <code>url<\/code>, <code>ct<\/code> i <code>ck<\/code>. Dane podane w skrypcie s\u0105 danymi domy\u015blnymi dla router\u00f3w udost\u0119pnianych przez operatora Inea.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>url = \"192.168.1.1\"\nct = \"2Awp6Rntn24AtFDkwCioWarQFk734lYGf0lIz6EoJdv1E741j-_mChCqgJzmSby4OvHDpyTcIs87PeKeKxkEpRS7vYEoLFX3_LhVuF4fWE9SP8pfhR8I-jsynfwfpGDWqX5mXBClQgnjudj0_evkf0UJZYCaiZgmEI3G8OwV5BqP5nDreYL1RmS_9xNgfjdMu6LTALtiCqrg_0yi-XF4Kr8HAsK0UvDXugmk8nNoi8eDWk_ELGVwDcuJtxsRgbzN8yJXvqJD_Iqnf_A1G7yq7T9vLRCYb5loHljS5GGC7dI\"\nck = \"mqdh47u9tZ4pMNyMkK5bSOvEdN8XgeRwplu24qLG7fwDPRcxNPQMy0HVbp0sXb7cSqe6EUoEMIHt1btDghNp16AogCS531fNeBqT4Vt1bVnONu6cIash2yvjOCZtInruarFsuerxsxv8K7-80cYTvQKgdsqSUH2CZ0BSGH_D7yQ.\"<\/code><\/pre>\n\n\n\n<p>Zamknij plik u\u017cywaj\u0105c <code>ctrl+x<\/code> i zapisz zmiany.<\/p>\n\n\n\n<h4>Je\u017celi u\u017cywasz innego routera z zainstalowanym <code>OpenWrt<\/code>:<\/h4>\n\n\n\n<p>Otw\u00f3rz skrypt <code>OpenWrt.py<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano OpenWrt.py<\/code><\/pre>\n\n\n\n<p>I ustaw odpowiednie dane dost\u0119powe, takie jak adres URL, login i has\u0142o. Upewnij si\u0119, \u017ce masz w\u0142\u0105czony dost\u0119p SSH i ustawione has\u0142o.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>url = \"192.168.1.1\"\nusername = \"root\"\npassword = \"password\"<\/code><\/pre>\n\n\n\n<p>Zamknij plik u\u017cywaj\u0105c <code>ctrl+x<\/code> i zapisz zmiany.<\/p>\n\n\n\n<h2>U\u017cycie<\/h2>\n\n\n\n<p>Aby wykona\u0107 skrypt, uruchom go z wiersza polece\u0144.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 watchdog.internet.py<\/code><\/pre>\n\n\n\n<p>Aby skrypt dzia\u0142a\u0142 automatycznie, dodaj go do tabeli <code>crontab<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -e<\/code><\/pre>\n\n\n\n<p>I wywo\u0142aj skrypt. Nast\u0119puj\u0105ce polecenie b\u0119dzie uruchamia\u0107 skrypt co 15 minut.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>*\/15 * * * * python3 \/home\/pi\/apps\/Raspberry-Internet-Watchdog\/watchdog.internet.py<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Stworzy\u0142em skrypt, kt\u00f3ry monitoruje, czy na Twoim urz\u0105dzeniu dzia\u0142a po\u0142\u0105czenie internetowe. Je\u015bli nie, zrestartuje router, a je\u015bli problem b\u0119dzie wyst\u0119powa\u0142 nadal, urz\u0105dzenie uruchomi si\u0119 ponownie. W ten spos\u00f3b zapewnisz stabilno\u015b\u0107 dost\u0119pu do swojej sieci i urz\u0105dzenia w przypadku awarii sieci.<\/p>\n","protected":false},"author":1,"featured_media":450,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9,7],"tags":[30,31,29,81,4,28,82,27],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Raspberry (Linux) internet watchdog - cleverblog.pl<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cleverblog.pl\/?p=206\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry (Linux) internet watchdog - cleverblog.pl\" \/>\n<meta property=\"og:description\" content=\"Stworzy\u0142em skrypt, kt\u00f3ry monitoruje, czy na Twoim urz\u0105dzeniu dzia\u0142a po\u0142\u0105czenie internetowe. Je\u015bli nie, zrestartuje router, a je\u015bli problem b\u0119dzie wyst\u0119powa\u0142 nadal, urz\u0105dzenie uruchomi si\u0119 ponownie. W ten spos\u00f3b zapewnisz stabilno\u015b\u0107 dost\u0119pu do swojej sieci i urz\u0105dzenia w przypadku awarii sieci.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cleverblog.pl\/?p=206\" \/>\n<meta property=\"og:site_name\" content=\"cleverblog.pl\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-16T19:40:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-09T01:12:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"pablo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cleverblog.pl\/#website\",\"url\":\"https:\/\/cleverblog.pl\/\",\"name\":\"cleverblog.pl\",\"description\":\"Blog technologiczny\",\"publisher\":{\"@id\":\"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cleverblog.pl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/cleverblog.pl\/?p=206#primaryimage\",\"url\":\"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg\",\"contentUrl\":\"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cleverblog.pl\/?p=206#webpage\",\"url\":\"https:\/\/cleverblog.pl\/?p=206\",\"name\":\"Raspberry (Linux) internet watchdog - cleverblog.pl\",\"isPartOf\":{\"@id\":\"https:\/\/cleverblog.pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cleverblog.pl\/?p=206#primaryimage\"},\"datePublished\":\"2021-03-16T19:40:03+00:00\",\"dateModified\":\"2022-01-09T01:12:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/cleverblog.pl\/?p=206#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cleverblog.pl\/?p=206\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cleverblog.pl\/?p=206#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/cleverblog.pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry (Linux) internet watchdog\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/cleverblog.pl\/?p=206#article\",\"isPartOf\":{\"@id\":\"https:\/\/cleverblog.pl\/?p=206#webpage\"},\"author\":{\"@id\":\"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246\"},\"headline\":\"Raspberry (Linux) internet watchdog\",\"datePublished\":\"2021-03-16T19:40:03+00:00\",\"dateModified\":\"2022-01-09T01:12:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cleverblog.pl\/?p=206#webpage\"},\"wordCount\":505,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246\"},\"image\":{\"@id\":\"https:\/\/cleverblog.pl\/?p=206#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg\",\"keywords\":[\"Cisco EPC3925\",\"Nokia G-240W-C\",\"openwrt\",\"openwrt watchodg\",\"raspberry\",\"router\",\"router watchdog\",\"watchdog\"],\"articleSection\":[\"Python\",\"Raspberry Pi\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cleverblog.pl\/?p=206#respond\"]}]},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246\",\"name\":\"pablo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/cleverblog.pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3cce886c6f46941b8addd14fcd58e7a5?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3cce886c6f46941b8addd14fcd58e7a5?s=96&d=retro&r=g\",\"caption\":\"pablo\"},\"logo\":{\"@id\":\"https:\/\/cleverblog.pl\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/cleverblog.pl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Raspberry (Linux) internet watchdog - cleverblog.pl","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cleverblog.pl\/?p=206","og_locale":"pl_PL","og_type":"article","og_title":"Raspberry (Linux) internet watchdog - cleverblog.pl","og_description":"Stworzy\u0142em skrypt, kt\u00f3ry monitoruje, czy na Twoim urz\u0105dzeniu dzia\u0142a po\u0142\u0105czenie internetowe. Je\u015bli nie, zrestartuje router, a je\u015bli problem b\u0119dzie wyst\u0119powa\u0142 nadal, urz\u0105dzenie uruchomi si\u0119 ponownie. W ten spos\u00f3b zapewnisz stabilno\u015b\u0107 dost\u0119pu do swojej sieci i urz\u0105dzenia w przypadku awarii sieci.","og_url":"https:\/\/cleverblog.pl\/?p=206","og_site_name":"cleverblog.pl","article_published_time":"2021-03-16T19:40:03+00:00","article_modified_time":"2022-01-09T01:12:47+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"pablo","Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/cleverblog.pl\/#website","url":"https:\/\/cleverblog.pl\/","name":"cleverblog.pl","description":"Blog technologiczny","publisher":{"@id":"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cleverblog.pl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/cleverblog.pl\/?p=206#primaryimage","url":"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg","contentUrl":"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg","width":1280,"height":720},{"@type":"WebPage","@id":"https:\/\/cleverblog.pl\/?p=206#webpage","url":"https:\/\/cleverblog.pl\/?p=206","name":"Raspberry (Linux) internet watchdog - cleverblog.pl","isPartOf":{"@id":"https:\/\/cleverblog.pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cleverblog.pl\/?p=206#primaryimage"},"datePublished":"2021-03-16T19:40:03+00:00","dateModified":"2022-01-09T01:12:47+00:00","breadcrumb":{"@id":"https:\/\/cleverblog.pl\/?p=206#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cleverblog.pl\/?p=206"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cleverblog.pl\/?p=206#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/cleverblog.pl\/"},{"@type":"ListItem","position":2,"name":"Raspberry (Linux) internet watchdog"}]},{"@type":"Article","@id":"https:\/\/cleverblog.pl\/?p=206#article","isPartOf":{"@id":"https:\/\/cleverblog.pl\/?p=206#webpage"},"author":{"@id":"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246"},"headline":"Raspberry (Linux) internet watchdog","datePublished":"2021-03-16T19:40:03+00:00","dateModified":"2022-01-09T01:12:47+00:00","mainEntityOfPage":{"@id":"https:\/\/cleverblog.pl\/?p=206#webpage"},"wordCount":505,"commentCount":0,"publisher":{"@id":"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246"},"image":{"@id":"https:\/\/cleverblog.pl\/?p=206#primaryimage"},"thumbnailUrl":"https:\/\/cleverblog.pl\/wp-content\/uploads\/2021\/03\/thumbnail-internet-watchodog.jpg","keywords":["Cisco EPC3925","Nokia G-240W-C","openwrt","openwrt watchodg","raspberry","router","router watchdog","watchdog"],"articleSection":["Python","Raspberry Pi"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cleverblog.pl\/?p=206#respond"]}]},{"@type":["Person","Organization"],"@id":"https:\/\/cleverblog.pl\/#\/schema\/person\/4db06735882fd08d47316d2bc03f8246","name":"pablo","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/cleverblog.pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3cce886c6f46941b8addd14fcd58e7a5?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3cce886c6f46941b8addd14fcd58e7a5?s=96&d=retro&r=g","caption":"pablo"},"logo":{"@id":"https:\/\/cleverblog.pl\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/cleverblog.pl"]}]}},"_links":{"self":[{"href":"https:\/\/cleverblog.pl\/index.php?rest_route=\/wp\/v2\/posts\/206"}],"collection":[{"href":"https:\/\/cleverblog.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cleverblog.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cleverblog.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cleverblog.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=206"}],"version-history":[{"count":9,"href":"https:\/\/cleverblog.pl\/index.php?rest_route=\/wp\/v2\/posts\/206\/revisions"}],"predecessor-version":[{"id":479,"href":"https:\/\/cleverblog.pl\/index.php?rest_route=\/wp\/v2\/posts\/206\/revisions\/479"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cleverblog.pl\/index.php?rest_route=\/wp\/v2\/media\/450"}],"wp:attachment":[{"href":"https:\/\/cleverblog.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cleverblog.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cleverblog.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}