{"id":172,"date":"2014-01-21T03:25:59","date_gmt":"2014-01-20T18:25:59","guid":{"rendered":"http:\/\/lovelinux.mydns.jp\/?p=172"},"modified":"2014-03-21T17:43:49","modified_gmt":"2014-03-21T08:43:49","slug":"ieserver-net-%e7%84%a1%e6%96%99%e3%83%80%e3%82%a4%e3%83%8a%e3%83%9f%e3%83%83%e3%82%afdnsddns%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e7%94%a8-ip%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e6%9b%b4%e6%96%b0","status":"publish","type":"post","link":"https:\/\/lovelinux.mydns.jp\/?p=172","title":{"rendered":"ieServer.Net\u7528 IP\u30a2\u30c9\u30ec\u30b9\u66f4\u65b0\u30b9\u30af\u30ea\u30d7\u30c8(python\u7248)"},"content":{"rendered":"<p>\u3053\u306e\u30d6\u30ed\u30b0\u306f ieServer.Net\u3000\u3055\u3093\u306e\u7121\u6599\u30c0\u30a4\u30ca\u30df\u30c3\u30afDNS\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u5229\u7528\u3057\u3066\u516c\u958b\u3057\u3066\u3044\u308b\u3002<\/p>\n<p>\u30c0\u30a4\u30ca\u30df\u30c3\u30afDNS\u3068\u306f\u3001\u56fa\u5b9aIP\u30a2\u30c9\u30ec\u30b9\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u4eba\u304c\u3001\u81ea\u5206\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u72ec\u81ea\u30c9\u30e1\u30a4\u30f3\u3063\u307d\u304f\u516c\u958b\u3059\u308b\u969b\u306b\u5229\u7528\u3067\u304d\u308b\u4fbf\u5229\u306a\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u3002\u56fa\u5b9aIP\u30a2\u30c9\u30ec\u30b9\u304c\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u81ea\u5206\u304c\u5951\u7d04\u3057\u3066\u3044\u308b\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30eb\u30fc\u30eb\u306b\u5f93\u3063\u3066\u3001\u4e00\u5b9a\u671f\u9593\u3054\u3068\u306b\u81ea\u5206\u306e\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u304c\u5909\u66f4\u3055\u308c\u308b\u3002ieServer\u3055\u3093\u306b\u30e6\u30fc\u30b6\u30fc\u767b\u9332\u3057\u305f\u969b\u306b\u3001\u81ea\u8eab\u306e\u597d\u307f\u306e\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u3092\u7533\u8acb\u3059\u308b\u3002\u305d\u3057\u3066\u3001\u73fe\u5728\u306eIP\u30a2\u30c9\u30ec\u30b9\u3068\u305d\u306e\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u3092\u95a2\u9023\u4ed8\u3051\u308b\u3002\u7533\u8acb\u3057\u305f\u30c9\u30e1\u30a4\u30f3\u540d\u3092\u30d6\u30e9\u30a6\u30b6\u30fc\u306b\u5165\u529b\u3057\u3001\u81ea\u30b5\u30a4\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001\u5f53\u7136\u6b63\u3057\u304f\u30c8\u30c3\u30d7\u30da\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u308b\u3002\u3057\u3070\u3089\u304f\u306f\u3053\u308c\u3067OK\u306a\u306e\u3060\u304c\u3001\u81ea\u5206\u306e\u5951\u7d04\u3057\u3066\u3044\u308b\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u4efb\u610f\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u3042\u306a\u305f\u306e\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u3092\u66f4\u65b0\uff08\u5909\u66f4\uff09\u3059\u308b\u3002\u305d\u3046\u3059\u308b\u3068\u5f53\u7136\u3060\u304c\u3001\u7533\u8acb\u3057\u305f\u30c9\u30e1\u30a4\u30f3\u540d\u3067\u3001\u81ea\u5206\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u306a\u308b\u3002<\/p>\n<p>\u3053\u306e\u554f\u984c\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u306b\u3001\u4e00\u5b9a\u671f\u9593\u3054\u3068\u306b\u3001\u81ea\u5206\u306e\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3001IP\u30a2\u30c9\u30ec\u30b9\u306e\u5909\u66f4\u3092\u691c\u77e5\u3057\u305f\u3089\u3001ieServer.Net\u3078\u305d\u306e\u5909\u66f4\u3092\u901a\u77e5\u3057\u306a\u304d\u3083\u306a\u3089\u306a\u3044\u3002\u624b\u52d5\u3067\u3084\u3063\u3066\u3082\u826f\u3044\u306e\u3060\u304c\u3001\u3044\u3064\u5909\u66f4\u3055\u308c\u308b\u304b\u308f\u304b\u3089\u306a\u3044\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u306e\u5909\u66f4\u3092\u30c1\u30a7\u30c3\u30af\u3057\u7d9a\u3051\u308b\u306e\u306f\u5927\u5909\u3002\u306a\u306e\u3067\u3001\u81ea\u5206\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u5b9a\u671f\u7684\u306b\u76e3\u8996\u3057\u3001\u5909\u66f4\u3092\u691c\u77e5\u3057\u305f\u3089\u3001\u5909\u66f4\u5185\u5bb9\u3092ieServer.Net\u3078\u81ea\u52d5\u901a\u77e5\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>perl\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30cd\u30c3\u30c8\u4e0a\u306b\u3042\u3063\u305f\u3093\u3067\u3059\u304c\u3001IP\u30a2\u30c9\u30ec\u30b9\u306e\u5909\u66f4\u304c\u9577\u671f\u9593\u306a\u3044\u5834\u5408\u3001\u4e00\u5207ieServer.Net\u3078\u66f4\u65b0\u901a\u77e5\u3092\u884c\u308f\u306a\u3044\u3088\u3046\u306b\u898b\u53d7\u3051\u3089\u308c\u305f\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u6539\u9020\u3057\u3066\u307f\u3088\u3046\u304b\u306a\u3068\u3002perl\u306f\u3057\u3089\u306a\u3044\u3057\u3001python\u3082\u52c9\u5f37\u6642\u95935\u6642\u9593\u672a\u6e80\u306a\u3093\u3067\u3059\u304c\u3001\u3069\u3046\u305b\u66f8\u304f\u306a\u3089 python\u3067\u3068\u601d\u3044\u3001\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u306e\u3067\u3001\u516c\u958b\u3057\u307e\u3059\u3002\u826f\u304b\u3063\u305f\u3089\u4f7f\u3063\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<br \/>\n\u4ee5\u4e0b\u306e\u30cf\u30a4\u30e9\u30a4\u30c8\u3055\u308c\u3066\u3044\u308b\u884c\u3092\u3001\u3054\u81ea\u8eab\u306e\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306f <a href=\"http:\/\/lovelinux.mydns.jp\/wp-content\/uploads\/2014\/01\/ieserver-update.py\">\u3053\u3061\u3089\u304b\u3089 ieserver-update.py<\/a><\/p>\n<p>\u3046\u307e\u304f\u52d5\u304b\u306a\u3044\u305e\uff01\u3000\u7b49\u3005\u3042\u308a\u307e\u3057\u305f\u3089\u3001\u30b3\u30e1\u30f3\u30c8\u6b04\u306b\u6587\u53e5\u66f8\u3044\u3066\u304f\u3060\u3055\u3044\u3002\u3088\u308d\u3057\u304f\u3002<\/p>\n<p>\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\/usr\/local\/bin\/ieserver\/ \u3078\u30b3\u30d4\u30fc\u3057\u3001\u5b9f\u884c\u6a29\u9650\u3092\u3064\u3051\u308b\u3002<br \/>\n[bash]<br \/>\n$ sudo mkdir \/usr\/local\/bin\/ieserver<br \/>\n$ sudo cp iesrver-update.py \/usr\/local\/bin\/ieserver<br \/>\n$ sudo chmod 700 \/usr\/local\/bin\/ieserver\/ieserver-update.py<br \/>\n[\/bash]<\/p>\n<p>cron\u306b\u767b\u9332<br \/>\n[bash]<br \/>\n$ sudo crontab -e<br \/>\n[\/bash]<\/p>\n<p>\u767b\u9332\u5185\u5bb9<br \/>\n[diff]<br \/>\n5,15,25,35,45,55 * * * * \/usr\/local\/bin\/ieserver\/ieserver-update.py<br \/>\n[\/diff]<\/p>\n<p>\u66f4\u65b0\u30b9\u30af\u30ea\u30d7\u30c8\u672c\u4f53<\/p>\n<p>[python mark=&#8221;1,19-22,28&#8243;]<br \/>\n#!\/usr\/bin\/python<br \/>\n# coding: UTF-8<\/p>\n<p># #############################################################################<br \/>\n# ieServer.Net: \u7121\u6599\u30c0\u30a4\u30ca\u30df\u30c3\u30afDNS(DDNS)\u30b5\u30fc\u30d3\u30b9\u7528 IP\u30a2\u30c9\u30ec\u30b9\u66f4\u65b0\u30b9\u30af\u30ea\u30d7\u30c8<br \/>\n# \u30d0\u30fc\u30b8\u30e7\u30f3 : 0.1<br \/>\n# \u4f5c\u6210\u65e5\u6642: 2014\/01\/21<br \/>\n# \u66f4\u65b0\u65e5\u6642: 2014\/01\/22<br \/>\n# \u4f5c\u8005 : hiro<br \/>\n# #############################################################################<\/p>\n<p>import commands<br \/>\nimport os<br \/>\nimport codecs<br \/>\nfrom datetime import datetime<\/p>\n<p>#\u4ee5\u4e0b\u306e\u90e8\u5206\u3092\u3054\u81ea\u8eab\u306e\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u3001\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044<br \/>\nMYPATH = &#8220;\/usr\/local\/bin\/ieserver\/&#8221;     #\u3053\u306epython\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u914d\u7f6e\u5834\u6240<br \/>\nSUBDOMAIN_NAME = &#8220;example&#8221;              #\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u540d<br \/>\nDOMAIN_NAME = &#8220;dip.jp&#8221;                  #\u30c9\u30e1\u30a4\u30f3\u540d<br \/>\nPWD = &#8220;xxxxxxx&#8221;                         #\u30d1\u30b9\u30ef\u30fc\u30c9<\/p>\n<p>#\u5f37\u5236\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u6642\u9593\u5e2f<br \/>\n#\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u884c\u9593\u9694\u3092\uff11\u6642\u9593\u4ee5\u4e0b\uff080\u301c59\u5206\uff09\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u5909\u66f4\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002<br \/>\n#\uff11\u65e5\u306b\u4e00\u5ea6\u3050\u3089\u3044\u306f\u66f4\u65b0\u51e6\u7406\u3092\u304b\u3051\u3066\u304a\u3044\u305f\u307b\u3046\u304c\u826f\u3044\u306e\u3067\u3001\u3054\u81ea\u8eab\u304cCron\u3067\u5b9f\u884c\u3059\u308b<br \/>\n#\u6642\u523b\u3092\u30bb\u30c3\u30c8\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002\uff08\u6642\u9593\u306f\u4e8c\u6841\u3067\u8a18\u8ff0\u3057\u3066\u304f\u3060\u3055\u3044\u3002 2\u6642\u306a\u3089 02 \u3068\u3059\u308b\u3002\uff09<br \/>\nFORCE_UPDATE_HOUR = &#8220;02&#8221;<\/p>\n<p>#\u8a2d\u5b9a\u7d42\u308f\u308a\uff08\u3053\u308c\u4ee5\u4e0b\u306f\u5909\u66f4\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\uff09<\/p>\n<p>#Crontab \u8a2d\u5b9a\u65b9\u6cd5<br \/>\n# sudo crontab -e \u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\uff08\uff11\uff10\u5206\u9593\u9694\u3067\u5b9f\u884c\uff09<br \/>\n# 5,15,25,35,45,55 * * * * \/usr\/local\/bin\/ieserver\/ieserver-update.py<\/p>\n<p>REMOTE_ADDR_CHK = &#8220;http:\/\/ieserver.net\/ipcheck.shtml&#8221;<br \/>\nDDNS_UPDATE = &#8220;http:\/\/ieserver.net\/cgi-bin\/dip.cgi&#8221;<\/p>\n<p>currIp = commands.getoutput(&#8220;wget -q -O &#8211; &#8221; + REMOTE_ADDR_CHK)<\/p>\n<p>line = &#8220;none&#8221;<\/p>\n<p>if os.path.exists(MYPATH + &#8220;saveip.txt&#8221;) == True:<br \/>\n\tf = open(MYPATH + &#8220;saveip.txt&#8221;,&#8221;r&#8221;)<\/p>\n<p>\tfor line in f:<br \/>\n\t\tdummy = line<\/p>\n<p>\tf.close<\/p>\n<p>hour = datetime.now().strftime(&#8216;%H&#8217;) <\/p>\n<p>if (currIp != line) or hour == FORCE_UPDATE_HOUR:<\/p>\n<p>\tcmd = &#8220;wget -q -O &#8211; &#8216;&#8221;<br \/>\n\tcmd += DDNS_UPDATE + &#8220;?username=&#8221; + SUBDOMAIN_NAME<br \/>\n\tcmd += &#8220;&#038;domain=&#8221; + DOMAIN_NAME<br \/>\n\tcmd += &#8220;&#038;password=&#8221; + PWD<br \/>\n\tcmd += &#8220;&#038;updatehost=1&#8242;&#8221;<\/p>\n<p>\tret = commands.getoutput(cmd)<\/p>\n<p>\t#f2 = codecs.open(MYPATH + &#8220;return.html&#8221;,&#8221;w&#8221;,&#8221;eucjp&#8221;)<br \/>\n\t#f2.write(ret.decode(&#8220;eucjp&#8221;))<br \/>\n\t#f2.close<\/p>\n<p>\t#222.222.222.222 \u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059<br \/>\n\tif (currIp + u&#8221; \u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059&#8221;) in ret.decode(&#8220;eucjp&#8221;):<br \/>\n\t\tf2 = open(MYPATH + &#8220;saveip.txt&#8221;,&#8221;w&#8221;)<br \/>\n\t\tf2.write(currIp)<br \/>\n\t\tf2.close<\/p>\n<p>\t\tf2 = open(MYPATH + &#8220;update.log&#8221;,&#8221;a&#8221;)<br \/>\n\t\tline =  datetime.now().strftime(&#8216;%Y\/%m\/%d %H:%M:%S&#8217;)<br \/>\n\t\tline += &#8220;\\tIP Address \u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002[&#8221; + currIp + &#8220;]\\n&#8221;<br \/>\n\t\tf2.write(line)<br \/>\n\t\tf2.close<\/p>\n<p>\telse:<br \/>\n\t\tf2 = open(MYPATH + &#8220;update.log&#8221;,&#8221;a&#8221;)<br \/>\n\t\tline =  datetime.now().strftime(&#8216;%Y\/%m\/%d %H:%M:%S&#8217;)<br \/>\n\t\tline += &#8220;\\tIP Address \u306e\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\\n&#8221;<br \/>\n\t\tf2.write(line)<br \/>\n\t\tf2.close<\/p>\n<p>#else:<br \/>\n#\tf2 = open(MYPATH + &#8220;not-update.log&#8221;,&#8221;a&#8221;)<br \/>\n#\tline =  datetime.now().strftime(&#8216;%Y\/%m\/%d %H:%M:%S&#8217;)<br \/>\n#\tline += &#8220;\\tIP Address \u66f4\u65b0\u3092\u4fdd\u7559\u3057\u307e\u3057\u305f\u3002[&#8221; + currIp + &#8220;]\\n&#8221;<br \/>\n#\tf2.write(line)<br \/>\n#\tf2.close<\/p>\n<p>[\/python]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u30d6\u30ed\u30b0\u306f ieServer.Net\u3000\u3055\u3093\u306e\u7121\u6599\u30c0\u30a4\u30ca\u30df\u30c3\u30afDNS\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u5229\u7528\u3057\u3066\u516c\u958b\u3057\u3066\u3044\u308b\u3002 \u30c0\u30a4\u30ca\u30df\u30c3\u30afDNS\u3068\u306f\u3001\u56fa\u5b9aIP\u30a2\u30c9\u30ec\u30b9\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u4eba\u304c\u3001\u81ea\u5206\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u72ec\u81ea\u30c9\u30e1\u30a4\u30f3\u3063\u307d\u304f\u516c\u958b\u3059\u308b\u969b\u306b\u5229\u7528\u3067\u304d\u308b\u4fbf\u5229\u306a\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u3002\u56fa\u5b9aIP\u30a2\u30c9\u30ec\u30b9\u304c\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u81ea\u5206\u304c\u5951\u7d04\u3057\u3066\u3044\u308b\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30eb\u30fc\u30eb\u306b\u5f93\u3063\u3066\u3001\u4e00\u5b9a\u671f\u9593\u3054\u3068\u306b\u81ea\u5206\u306e\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u304c\u5909\u66f4\u3055\u308c\u308b\u3002ieServer\u3055\u3093\u306b\u30e6\u30fc\u30b6\u30fc\u767b\u9332\u3057\u305f\u969b\u306b\u3001\u81ea\u8eab\u306e\u597d\u307f\u306e\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u3092\u7533\u8acb\u3059\u308b\u3002\u305d\u3057\u3066\u3001\u73fe\u5728\u306eIP\u30a2\u30c9\u30ec\u30b9\u3068\u305d\u306e\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u3092\u95a2\u9023\u4ed8\u3051\u308b\u3002\u7533\u8acb\u3057\u305f\u30c9\u30e1\u30a4\u30f3\u540d\u3092\u30d6\u30e9\u30a6\u30b6\u30fc\u306b\u5165\u529b\u3057\u3001\u81ea\u30b5\u30a4\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001\u5f53\u7136\u6b63\u3057\u304f\u30c8\u30c3\u30d7\u30da\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u308b\u3002\u3057\u3070\u3089\u304f\u306f\u3053\u308c\u3067OK\u306a\u306e\u3060\u304c\u3001\u81ea\u5206\u306e\u5951\u7d04\u3057\u3066\u3044\u308b\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u4efb\u610f\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u3042\u306a\u305f\u306e\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u3092\u66f4\u65b0\uff08\u5909\u66f4\uff09\u3059\u308b\u3002\u305d\u3046\u3059\u308b\u3068\u5f53\u7136\u3060\u304c\u3001\u7533\u8acb\u3057\u305f\u30c9\u30e1\u30a4\u30f3\u540d\u3067\u3001\u81ea\u5206\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u306a\u308b\u3002 \u3053\u306e\u554f\u984c\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u306b\u3001\u4e00\u5b9a\u671f\u9593\u3054\u3068\u306b\u3001\u81ea\u5206\u306e\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3001IP\u30a2\u30c9\u30ec\u30b9\u306e\u5909\u66f4\u3092\u691c\u77e5\u3057\u305f\u3089\u3001ieServer.Net\u3078\u305d\u306e\u5909\u66f4\u3092\u901a\u77e5\u3057\u306a\u304d\u3083\u306a\u3089\u306a\u3044\u3002\u624b\u52d5\u3067\u3084\u3063\u3066\u3082\u826f\u3044\u306e\u3060\u304c\u3001\u3044\u3064\u5909\u66f4\u3055\u308c\u308b\u304b\u308f\u304b\u3089\u306a\u3044\u30b0\u30ed\u30fc\u30d0\u30ebIP\u30a2\u30c9\u30ec\u30b9\u306e\u5909\u66f4\u3092\u30c1\u30a7\u30c3\u30af\u3057\u7d9a\u3051\u308b\u306e\u306f\u5927\u5909\u3002\u306a\u306e\u3067\u3001\u81ea\u5206\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u5b9a\u671f\u7684\u306b\u76e3\u8996\u3057\u3001\u5909\u66f4\u3092\u691c\u77e5\u3057\u305f\u3089\u3001\u5909\u66f4\u5185\u5bb9\u3092ieServer.Net\u3078\u81ea\u52d5\u901a\u77e5\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002 perl\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30cd\u30c3\u30c8\u4e0a\u306b\u3042\u3063\u305f\u3093\u3067\u3059\u304c\u3001IP\u30a2\u30c9\u30ec\u30b9\u306e\u5909\u66f4\u304c\u9577\u671f\u9593\u306a\u3044\u5834\u5408\u3001\u4e00\u5207ieServer.Net\u3078\u66f4\u65b0\u901a\u77e5\u3092\u884c\u308f\u306a\u3044\u3088\u3046\u306b\u898b\u53d7\u3051\u3089\u308c\u305f\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u6539\u9020\u3057\u3066\u307f\u3088\u3046\u304b\u306a\u3068\u3002perl\u306f\u3057\u3089\u306a\u3044\u3057\u3001python\u3082\u52c9\u5f37\u6642\u95935\u6642\u9593\u672a\u6e80\u306a\u3093\u3067\u3059\u304c\u3001\u3069\u3046\u305b\u66f8\u304f\u306a\u3089 python\u3067\u3068\u601d\u3044\u3001\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u306e\u3067\u3001\u516c\u958b\u3057\u307e\u3059\u3002\u826f\u304b\u3063\u305f\u3089\u4f7f\u3063\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002 \u4ee5\u4e0b\u306e\u30cf\u30a4\u30e9\u30a4\u30c8\u3055\u308c\u3066\u3044\u308b\u884c\u3092\u3001\u3054\u81ea\u8eab\u306e\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002 \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306f \u3053\u3061\u3089\u304b\u3089 ieserver-update.py \u3046\u307e\u304f\u52d5\u304b\u306a\u3044\u305e\uff01\u3000\u7b49\u3005\u3042\u308a\u307e\u3057\u305f\u3089\u3001\u30b3\u30e1\u30f3\u30c8\u6b04\u306b\u6587\u53e5\u66f8\u3044\u3066\u304f\u3060\u3055\u3044\u3002\u3088\u308d\u3057\u304f\u3002 \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\/usr\/local\/bin\/ieserver\/ \u3078\u30b3\u30d4\u30fc\u3057\u3001\u5b9f\u884c\u6a29\u9650\u3092\u3064\u3051\u308b\u3002 [bash] $ sudo mkdir \/usr\/local\/bin\/ieserver $ sudo cp iesrver-update.py \/usr\/local\/bin\/ieserver $ sudo chmod 700 \/usr\/local\/bin\/ieserver\/ieserver-update.py [\/bash] cron\u306b\u767b\u9332 [bash] $ sudo crontab -e [\/bash] \u767b\u9332\u5185\u5bb9 [diff] 5,15,25,35,45,55 * * * * \/usr\/local\/bin\/ieserver\/ieserver-update.py [\/diff] \u66f4\u65b0\u30b9\u30af\u30ea\u30d7\u30c8\u672c\u4f53 [python mark=&#8221;1,19-22,28&#8243;] #!\/usr\/bin\/python # coding: UTF-8 # ############################################################################# # ieServer.Net: \u7121\u6599\u30c0\u30a4\u30ca\u30df\u30c3\u30afDNS(DDNS)\u30b5\u30fc\u30d3\u30b9\u7528 IP\u30a2\u30c9\u30ec\u30b9\u66f4\u65b0\u30b9\u30af\u30ea\u30d7\u30c8 # \u30d0\u30fc\u30b8\u30e7\u30f3 : 0.1 # \u4f5c\u6210\u65e5\u6642: 2014\/01\/21 # \u66f4\u65b0\u65e5\u6642: 2014\/01\/22 # \u4f5c\u8005 : hiro # ############################################################################# import commands import os import codecs from datetime import datetime #\u4ee5\u4e0b\u306e\u90e8\u5206\u3092\u3054\u81ea\u8eab\u306e\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u3001\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044 MYPATH = &#8220;\/usr\/local\/bin\/ieserver\/&#8221; #\u3053\u306epython\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u914d\u7f6e\u5834\u6240 SUBDOMAIN_NAME = &#8220;example&#8221; #\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u540d DOMAIN_NAME = &#8220;dip.jp&#8221; #\u30c9\u30e1\u30a4\u30f3\u540d PWD = &#8220;xxxxxxx&#8221; #\u30d1\u30b9\u30ef\u30fc\u30c9 #\u5f37\u5236\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u6642\u9593\u5e2f #\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u884c\u9593\u9694\u3092\uff11\u6642\u9593\u4ee5\u4e0b\uff080\u301c59\u5206\uff09\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u5909\u66f4\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002 #\uff11\u65e5\u306b\u4e00\u5ea6\u3050\u3089\u3044\u306f\u66f4\u65b0\u51e6\u7406\u3092\u304b\u3051\u3066\u304a\u3044\u305f\u307b\u3046\u304c\u826f\u3044\u306e\u3067\u3001\u3054\u81ea\u8eab\u304cCron\u3067\u5b9f\u884c\u3059\u308b #\u6642\u523b\u3092\u30bb\u30c3\u30c8\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002\uff08\u6642\u9593\u306f\u4e8c\u6841\u3067\u8a18\u8ff0\u3057\u3066\u304f\u3060\u3055\u3044\u3002 2\u6642\u306a\u3089 02 \u3068\u3059\u308b\u3002\uff09 FORCE_UPDATE_HOUR = &#8220;02&#8221; #\u8a2d\u5b9a\u7d42\u308f\u308a\uff08\u3053\u308c\u4ee5\u4e0b\u306f\u5909\u66f4\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\uff09 #Crontab \u8a2d\u5b9a\u65b9\u6cd5 # sudo crontab -e \u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\uff08\uff11\uff10\u5206\u9593\u9694\u3067\u5b9f\u884c\uff09 # 5,15,25,35,45,55 * * * * \/usr\/local\/bin\/ieserver\/ieserver-update.py REMOTE_ADDR_CHK = &#8220;http:\/\/ieserver.net\/ipcheck.shtml&#8221; DDNS_UPDATE = &#8220;http:\/\/ieserver.net\/cgi-bin\/dip.cgi&#8221; currIp = commands.getoutput(&#8220;wget -q -O &#8211; &#8221; + REMOTE_ADDR_CHK) line = &#8220;none&#8221; if os.path.exists(MYPATH + &#8220;saveip.txt&#8221;) == True: f = open(MYPATH + &#8220;saveip.txt&#8221;,&#8221;r&#8221;) for line in f: dummy = line f.close hour = datetime.now().strftime(&#8216;%H&#8217;) if (currIp != line) or hour == FORCE_UPDATE_HOUR: cmd = &#8220;wget -q -O &#8211; &#8216;&#8221; cmd += DDNS_UPDATE + &#8220;?username=&#8221; + SUBDOMAIN_NAME cmd += &#8220;&#038;domain=&#8221; + DOMAIN_NAME cmd += &#8220;&#038;password=&#8221; + PWD cmd += &#8220;&#038;updatehost=1&#8242;&#8221; ret = commands.getoutput(cmd) #f2 = codecs.open(MYPATH + &#8220;return.html&#8221;,&#8221;w&#8221;,&#8221;eucjp&#8221;) #f2.write(ret.decode(&#8220;eucjp&#8221;)) #f2.close #222.222.222.222 \u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059 if (currIp + u&#8221; \u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059&#8221;) in ret.decode(&#8220;eucjp&#8221;): f2 = open(MYPATH + &#8220;saveip.txt&#8221;,&#8221;w&#8221;) f2.write(currIp) f2.close f2 = open(MYPATH + &#8220;update.log&#8221;,&#8221;a&#8221;) line = datetime.now().strftime(&#8216;%Y\/%m\/%d %H:%M:%S&#8217;) line += &#8220;\\tIP Address \u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002[&#8221; + currIp + &#8220;]\\n&#8221; f2.write(line) f2.close else: f2 = open(MYPATH + &#8220;update.log&#8221;,&#8221;a&#8221;) line = datetime.now().strftime(&#8216;%Y\/%m\/%d %H:%M:%S&#8217;) line += &#8220;\\tIP Address \u306e\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\\n&#8221; f2.write(line) f2.close #else: # f2 = open(MYPATH + &#8220;not-update.log&#8221;,&#8221;a&#8221;) # line = datetime.now().strftime(&#8216;%Y\/%m\/%d %H:%M:%S&#8217;) # line += &#8220;\\tIP Address \u66f4\u65b0\u3092\u4fdd\u7559\u3057\u307e\u3057\u305f\u3002[&#8221; + currIp + &#8220;]\\n&#8221; # f2.write(line) # f2.close [\/python]<\/p>\n","protected":false},"author":1,"featured_media":417,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[4],"tags":[],"class_list":{"0":"post-172","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-4"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=172"}],"version-history":[{"count":13,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":603,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions\/603"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/media\/417"}],"wp:attachment":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}