清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
root@ubuntu:~# cat syncip.rb #!/usr/bin/env ruby #encoding:utf-8 #code by johnlen shaw require 'socket' require 'net/http' require 'net/https' require 'time' require 'open-uri' require 'net/telnet' $parms = { "login_email" => "xxx@live.com", "login_password" => "xxxxxx", "format" => "json", "domain_id" => 1012096, "record_id" => 15271821, "sub_domain" => "d610", "record_line" => "默认", "value" => "" } current_ip = nil def getip begin server = Net::Telnet::new('Host' => 'ns1.dnspod.net', 'Port' => 6666, 'Telnetmode' => false) server.cmd("\n") do |response| return response end rescue Exception => ex sleep(30) getip end end def ddns(ip) $parms["value"] = ip.chomp.to_s url = URI.parse('https://dnsapi.cn:443/Record.Ddns') http = Net::HTTP.new(url.host, url.port) http.use_ssl = true if url.scheme == 'https' request = Net::HTTP::Post.new(url.path) request.set_form_data($parms) puts http.request(request).body return true end if $0 == __FILE__ # begin loop do puts ip = getip if current_ip != ip then if ddns(ip) then current_ip = ip end end sleep(60) end # rescue Exception => ex # p ex # return "Debug and fix me please." # end end