コード例 #1
0
        protected override void OnStart(string[] args)
        {
            Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
            Logger.Init();
            MonitorHistory.Init();
            Logger logger = new Logger("service");

            logger.Info("begin start", new object[0]);
            try
            {
                Config          = Config.Load("service.xml");
                Api             = new DnsPodApi(Config, Config.GetLocal());
                Ddns            = new DDns(Config.LastIp, Config.GetLocal());
                Ddns.IPChanged += Ddns_IPChangedNotified;
                Ddns.Start();

                Monitor = new HttpMonitor(Config);
                Monitor.StatusChanged += Monitor_StatusChanged;
                Monitor.Start();

                logger.Info("end start", new object[0]);
            }
            catch (Exception exception)
            {
                logger.Error("start error:{0}", new object[] { exception });
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("DnsPod Cli Tools v1.0");

            var builder = new ConfigurationBuilder();

            builder.AddCommandLine(args, new Dictionary <string, string> {
                { "-t", "Token" },
                { "-d", "DomainName" },
                { "-r", "RecordId" },
                { "-v", "Value" },
                { "-s", "SubDomain" },
                { "--type", "RecordType" }
            });
            var item = builder.Build().Get <CommandLineArgs>();

            if (item == null)
            {
                Console.WriteLine("请输入参数");
                PrintMenu();
                return;
            }

            Console.WriteLine("正在修改域名记录:" + item.SubDomain + "." + item.DomainName);

            DnsPodConfiguration configuration = new DnsPodConfiguration
            {
                Token = item.Token
            };
            DnsPodClient client = new DnsPodClient(new HttpClient(), configuration);
            DnsPodApi    record = new DnsPodApi(client);

            //如果用户没有输入RecordId,则通过List接口获取
            if (item.RecordId == null)
            {
                item.RecordId = record.RecordList(item.DomainName).Records.FirstOrDefault(r => r.Name == item.SubDomain)?.Id;
            }

            if (record.Modify(item.DomainName, item.RecordId, item.Value, item.SubDomain, item.RecordType))
            {
                Console.WriteLine("修改完成!");
            }
            else
            {
                Console.WriteLine("修改失败!");
            }
        }
コード例 #3
0
 public HomeController(IOptions <DDnsConfiguration> config, DnsPodApi dnsPodRecord)
 {
     configuration = config.Value;
     record        = dnsPodRecord;
 }