Example #1
0
 public static string getDDNSIP()
 {
     try
     {
         if (string.IsNullOrEmpty(SystemConfig.AccessKeyId) || string.IsNullOrEmpty(SystemConfig.AccessKeySecret) || string.IsNullOrEmpty(SystemConfig.Domain))
         {
             return("无可用配置");
         }
         List <string>  typeARecordId = new List <string>();
         List <XmlNode> typeANodeList = DomainRequestHelper.getTypeAList(ref typeARecordId);
         if (typeANodeList.Count > 0)
         {
             XmlNode node      = typeANodeList[0];
             XmlNode valueNode = node.SelectSingleNode("Value");
             return(valueNode.InnerText);
         }
     }
     catch (Exception)
     {
         return("连接失败");
     }
     return("");
 }
Example #2
0
        public static string updateDDNS()
        {
            try
            {
                if (string.IsNullOrEmpty(SystemConfig.AccessKeyId) || string.IsNullOrEmpty(SystemConfig.AccessKeySecret) || string.IsNullOrEmpty(SystemConfig.Domain))
                {
                    FormSetDDNS frm = new FormSetDDNS();
                    if (frm.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                    {
                        return("【请输入正确配置】");
                    }
                }
                Dictionary <string, string> parameters;
                List <string>  typeARecordIdList = new List <string>();
                string         updateIP          = getCurIP();
                List <XmlNode> typeANodeList     = DomainRequestHelper.getTypeAList(ref typeARecordIdList);
                if (typeARecordIdList.Count >= 0)
                {
                    if (typeARecordIdList.Count == 1)
                    {
                        XmlNode node      = typeANodeList[0];
                        XmlNode valueNode = node.SelectSingleNode("Value");
                        if (valueNode.InnerText.Equals(updateIP))
                        {
                            return("");
                        }
                    }
                    else if (typeARecordIdList.Count > 0)
                    {
                        foreach (string recordId in typeARecordIdList)
                        {
                            parameters = new Dictionary <string, string>()
                            {
                                { "Action", "DeleteDomainRecord" },
                                { "RecordId", recordId },
                            };
                            DomainRequestHelper.requestAli(parameters);
                        }
                    }
                    // 添加记录
                    parameters = new Dictionary <string, string>()
                    {
                        { "Action", "AddDomainRecord" },
                        { "DomainName", SystemConfig.Domain },
                        { "RR", SystemConfig.Prefix },
                        { "Type", "A" },
                        { "Value", updateIP },
                    };
                    DomainRequestHelper.requestAli(parameters);
                }

                // 验证
                typeANodeList = DomainRequestHelper.getTypeAList(ref typeARecordIdList);
                if (typeANodeList.Count > 1 || typeANodeList.Count == 0)
                {
                    updateDDNS();
                }
                else
                {
                    XmlNode node      = typeANodeList[0];
                    XmlNode valueNode = node.SelectSingleNode("Value");
                    if (!valueNode.InnerText.Equals(updateIP))
                    {
                        updateDDNS();
                    }
                }
                if (SystemConfig.SendMessageToServerChan)
                {
                    sendMsgToServerChan("DDNS已更新(" + updateIP + ")");
                }
                return(updateIP);
            }
            catch
            {
                return("error");
            }
        }