{"id":614,"date":"2012-10-10T22:38:49","date_gmt":"2012-10-10T20:38:49","guid":{"rendered":"http:\/\/www.unicoda.com\/?p=614"},"modified":"2017-09-10T16:13:07","modified_gmt":"2017-09-10T14:13:07","slug":"conky-afficher-son-ip-publique","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=614","title":{"rendered":"[Conky] Afficher son IP publique"},"content":{"rendered":"<p>J&rsquo;avais laiss\u00e9 Conky de c\u00f4t\u00e9 un petit moment, et j&rsquo;ai pris le temps ce soir de le r\u00e9installer. Pas encore touch\u00e9 au d\u00e9marrage automatique lors de la connexion, je veux d&rsquo;abord v\u00e9rifier s&rsquo;il le fait de lui m\u00eame ou pas. Mais tr\u00eave de bavardage, le sujet qui m&rsquo;int\u00e9resse est celui de l&rsquo;affichage de l&rsquo;IP publique. J&rsquo;avais d\u00e9j\u00e0 trouver comment afficher mon adresse ip locale et l&rsquo;adresse de la passerelle.<\/p>\n<p>La solution que j&rsquo;ai trouv\u00e9 consiste \u00e0 aller interroger le site ip.nu avec curl. N\u00e9anmoins, le taux de rafra\u00eechissement de conky \u00e9tant de 2s dans mon cas, il faut trouver un moyen de lancer la commande \u00e0 un intervalle beaucoup plus long. Notre adresse IP publique n&rsquo;\u00e9tant de toute fa\u00e7on pas susceptible de changer toutes les 10s.<\/p>\n<p>Pour ce faire, on utilise donc <em>texeci tempsEnSeconde<\/em> qui nous permet d&rsquo;appeler la commande \u00e0 intervalle de temps r\u00e9gulier. On a donc: <em>texeci 400 curl ip.nu<\/em>. Toutes les 5 minutes, on interroge donc le site ip.nu. Toutefois, en l&rsquo;\u00e9tat, le retour est le suivant:<\/p>\n<pre>&lt;html&gt;\r\n\u00a0\u00a0 \u00a0&lt;head&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;title&gt;ip&lt;\/title&gt;\r\n\u00a0\u00a0 \u00a0&lt;\/head&gt;\r\n\u00a0\u00a0 \u00a0&lt;body&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Your IP address is 80.42.124.42\r\n\u00a0\u00a0 \u00a0&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>Pas tr\u00e8s pratique \u00e0 afficher dans notre conky. Prochaine \u00e9tape donc, la r\u00e9cup\u00e9ration dans toute ces balises, de l&rsquo;adresse ip avec comme vous le devinez certainement un petit grep et une regex. Ce qui nous donne: <em>curl ip.nu | grep -Ewo &lsquo;\\b([0-9]{1,3}\\.){3}[0-9]{1,3}\\b&rsquo;<\/em>. R\u00e9sultat de cette commande: 80.42.124.42. Nous avons notre ip! Par pr\u00e9caution, on peut encore appliquer un uniq, au cas le site se mettrai \u00e0 renvoyer plusieurs fois l&rsquo;ip dans sa requ\u00eate. Donc finalement: <em>curl ip.nu | grep -Ewo &lsquo;\\b([0-9]{1,3}\\.){3}[0-9]{1,3}\\b&rsquo; | uniq<\/em>. On notera au passage que Richard M. Stallman est l&rsquo;un des auteurs de uniq<\/p>\n<pre>AUTHOR\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Written by Richard M. Stallman and David MacKenzie.<\/pre>\n<p>On peut maintenant ajouter notre code dans le fichier de conf .conkyrc, ce qui nous donne:<\/p>\n<pre>${alignc}Public IP: ${texeci 400 curl ip.nu | grep -Ewo '\\b([0-9]{1,3}\\.){3}[0-9]{1,3}\\b' | uniq}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&rsquo;avais laiss\u00e9 Conky de c\u00f4t\u00e9 un petit moment, et j&rsquo;ai pris le temps ce soir de le r\u00e9installer. Pas encore touch\u00e9 au d\u00e9marrage automatique lors de la connexion, je veux d&rsquo;abord v\u00e9rifier s&rsquo;il le fait de lui m\u00eame ou pas. Mais tr\u00eave de bavardage, le sujet qui m&rsquo;int\u00e9resse est celui de l&rsquo;affichage de l&rsquo;IP publique. &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=614\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;[Conky] Afficher son IP publique&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[19,24],"class_list":["post-614","post","type-post","status-publish","format-standard","hentry","category-code","tag-conky","tag-gnulinux"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=614"}],"version-history":[{"count":4,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/614\/revisions"}],"predecessor-version":[{"id":2745,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/614\/revisions\/2745"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}