Example #1
0
        public static bool FromPreferences(Models.Preferences prefs)
        {
            CoreAppSettings.Current.EnableAppTelematics       = prefs.EnableAppTelematics;
            CoreAppSettings.Current.EnableDNSValidationChecks = prefs.EnableDNSValidationChecks;
            CoreAppSettings.Current.EnableValidationProxyAPI  = prefs.EnableValidationProxyAPI;
            CoreAppSettings.Current.IgnoreStoppedSites        = prefs.IgnoreStoppedSites;
            CoreAppSettings.Current.MaxRenewalRequests        = prefs.MaxRenewalRequests;
            CoreAppSettings.Current.RenewalIntervalDays       = prefs.RenewalIntervalDays;
            CoreAppSettings.Current.EnableEFS                 = prefs.EnableEFS;
            CoreAppSettings.Current.IsInstanceRegistered      = prefs.IsInstanceRegistered;
            CoreAppSettings.Current.Language                  = prefs.Language;
            CoreAppSettings.Current.EnableHttpChallengeServer = prefs.EnableHttpChallengeServer;
            CoreAppSettings.Current.EnableCertificateCleanup  = prefs.EnableCertificateCleanup;

            CoreAppSettings.Current.DefaultCertificateAuthority = prefs.DefaultCertificateAuthority;
            CoreAppSettings.Current.EnableAutomaticCAFailover   = prefs.EnableAutomaticCAFailover;

            CoreAppSettings.Current.DefaultKeyCredentials = prefs.DefaultKeyCredentials;

            if (prefs.CertificateCleanupMode == null)
            {
                CoreAppSettings.Current.CertificateCleanupMode = CertificateCleanupMode.AfterExpiry;
            }
            else
            {
                CoreAppSettings.Current.CertificateCleanupMode = (CertificateCleanupMode)prefs.CertificateCleanupMode;
            }

            CoreAppSettings.Current.EnableStatusReporting = prefs.EnableStatusReporting;

            CoreAppSettings.Current.IncludeExternalCertManagers = prefs.IncludeExternalCertManagers;
            return(true);
        }
Example #2
0
        public static Models.Preferences ToPreferences()
        {
            LoadAppSettings();
            var prefs = new Models.Preferences
            {
                EnableAppTelematics       = CoreAppSettings.Current.EnableAppTelematics,
                EnableDNSValidationChecks = CoreAppSettings.Current.EnableDNSValidationChecks,
                EnableValidationProxyAPI  = CoreAppSettings.Current.EnableValidationProxyAPI,
                IgnoreStoppedSites        = CoreAppSettings.Current.IgnoreStoppedSites,
                MaxRenewalRequests        = CoreAppSettings.Current.MaxRenewalRequests,
                RenewalIntervalDays       = CoreAppSettings.Current.RenewalIntervalDays,
                EnableEFS                   = CoreAppSettings.Current.EnableEFS,
                InstanceId                  = CoreAppSettings.Current.InstanceId,
                IsInstanceRegistered        = CoreAppSettings.Current.IsInstanceRegistered,
                Language                    = CoreAppSettings.Current.Language,
                EnableHttpChallengeServer   = CoreAppSettings.Current.EnableHttpChallengeServer,
                EnableCertificateCleanup    = CoreAppSettings.Current.EnableCertificateCleanup,
                EnableStatusReporting       = CoreAppSettings.Current.EnableStatusReporting,
                CertificateCleanupMode      = CoreAppSettings.Current.CertificateCleanupMode,
                DefaultCertificateAuthority = CoreAppSettings.Current.DefaultCertificateAuthority,
                DefaultKeyCredentials       = CoreAppSettings.Current.DefaultKeyCredentials,
                EnableAutomaticCAFailover   = CoreAppSettings.Current.EnableAutomaticCAFailover
            };

            return(prefs);
        }
        public static bool FromPreferences(Models.Preferences prefs)
        {
            CoreAppSettings.Current.EnableAppTelematics       = prefs.EnableAppTelematics;
            CoreAppSettings.Current.EnableDNSValidationChecks = prefs.EnableDNSValidationChecks;
            CoreAppSettings.Current.EnableValidationProxyAPI  = prefs.EnableValidationProxyAPI;
            CoreAppSettings.Current.IgnoreStoppedSites        = prefs.IgnoreStoppedSites;
            CoreAppSettings.Current.MaxRenewalRequests        = prefs.MaxRenewalRequests;
            CoreAppSettings.Current.RenewalIntervalDays       = prefs.RenewalIntervalDays;
            CoreAppSettings.Current.EnableEFS                       = prefs.EnableEFS;
            CoreAppSettings.Current.IsInstanceRegistered            = prefs.IsInstanceRegistered;
            CoreAppSettings.Current.Language                        = prefs.Language;
            CoreAppSettings.Current.UseBackgroundServiceAutoRenewal = prefs.UseBackgroundServiceAutoRenewal;
            CoreAppSettings.Current.EnableHttpChallengeServer       = prefs.EnableHttpChallengeServer;
            CoreAppSettings.Current.EnableCertificateCleanup        = prefs.EnableCertificateCleanup;

            if (prefs.CertificateCleanupMode == null)
            {
                CoreAppSettings.Current.CertificateCleanupMode = CertificateCleanupMode.AfterExpiry;
            }
            else
            {
                CoreAppSettings.Current.CertificateCleanupMode = (CertificateCleanupMode)prefs.CertificateCleanupMode;
            }

            CoreAppSettings.Current.EnableStatusReporting = prefs.EnableStatusReporting;
            return(true);
        }
Example #4
0
        private async Task LoadCurrentSettings()
        {
            if (!MainViewModel.IsServiceAvailable)
            {
                return;
            }

            //TODO: we could now bind to Preferences
            _prefs = await MainViewModel.CertifyClient.GetPreferences();

            MainViewModel.PrimaryContactEmail = await MainViewModel.CertifyClient.GetPrimaryContact();

            this.EnableTelematicsCheckbox.IsChecked = _prefs.EnableAppTelematics;
            this.EnableProxyAPICheckbox.IsChecked   = _prefs.EnableValidationProxyAPI;

            //if true, EFS will be used for sensitive files such as private key file, does not work in all versions of windows.
            this.EnableEFS.IsChecked          = _prefs.EnableEFS;
            this.IgnoreStoppedSites.IsChecked = _prefs.IgnoreStoppedSites;

            this.EnableDNSValidationChecks.IsChecked = _prefs.EnableDNSValidationChecks;

            this.RenewalIntervalDays.Value = _prefs.RenewalIntervalDays;
            this.RenewalMaxRequests.Value  = _prefs.MaxRenewalRequests;

            this.DataContext = MainViewModel;

            settingsInitialised = true;
            Save.IsEnabled      = false;
        }
        private async Task LoadCurrentSettings()
        {
            if (!MainViewModel.IsServiceAvailable)
            {
                return;
            }

            //TODO: we could now bind to Preferences
            _prefs = await MainViewModel.CertifyClient.GetPreferences();

            if (_prefs.UseBackgroundServiceAutoRenewal)
            {
                // if scheduled task not in use, remove legacy option to modify
                ConfigureAutoRenew.Visibility = Visibility.Collapsed;
            }

            MainViewModel.PrimaryContactEmail = await MainViewModel.CertifyClient.GetPrimaryContact();

            EnableTelematicsCheckbox.IsChecked = _prefs.EnableAppTelematics;
            EnableProxyAPICheckbox.IsChecked   = _prefs.EnableValidationProxyAPI;

            //if true, EFS will be used for sensitive files such as private key file, does not work in all versions of windows.
            EnableEFS.IsChecked          = _prefs.EnableEFS;
            IgnoreStoppedSites.IsChecked = _prefs.IgnoreStoppedSites;

            EnableDNSValidationChecks.IsChecked = _prefs.EnableDNSValidationChecks;
            EnableHttpChallengeServer.IsChecked = _prefs.EnableHttpChallengeServer;

            if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.None)
            {
                CertCleanup_None.IsChecked = true;
            }
            else if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.AfterExpiry)
            {
                CertCleanup_AfterExpiry.IsChecked = true;
            }
            else if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.AfterRenewal)
            {
                CertCleanup_AfterRenewal.IsChecked = true;
            }
            else if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.FullCleanup)
            {
                CertCleanup_FullCleanup.IsChecked = true;
            }

            EnableStatusReporting.IsChecked = _prefs.EnableStatusReporting;

            RenewalIntervalDays.Value = _prefs.RenewalIntervalDays;
            RenewalMaxRequests.Value  = _prefs.MaxRenewalRequests;

            DataContext = MainViewModel;

            settingsInitialised = true;

            //load stored credentials list
            await MainViewModel.RefreshStoredCredentialsList();

            CredentialsList.ItemsSource = MainViewModel.StoredCredentials;
        }
        //------------------------------------------------------------------------------
        //
        // Constructors
        //
        //------------------------------------------------------------------------------

        public OpenShopGAScheduler(int paramID, Models.Preferences preferences, bool preferShortest = true, OpenShopGASchedulerSettings currentBestFit = null)
        {
            this.CurrentBestFit = currentBestFit;
            this.Preferences    = preferences;
            SetUp(paramID);
            MakeStartingPoint();
            InitDegreePlan();
        }
Example #7
0
        public static bool FromPreferences(Models.Preferences prefs)
        {
            CoreAppSettings.Current.EnableAppTelematics       = prefs.EnableAppTelematics;
            CoreAppSettings.Current.EnableDNSValidationChecks = prefs.EnableDNSValidationChecks;
            CoreAppSettings.Current.EnableValidationProxyAPI  = prefs.EnableValidationProxyAPI;
            CoreAppSettings.Current.IgnoreStoppedSites        = prefs.IgnoreStoppedSites;
            CoreAppSettings.Current.MaxRenewalRequests        = prefs.MaxRenewalRequests;
            CoreAppSettings.Current.RenewalIntervalDays       = prefs.RenewalIntervalDays;
            CoreAppSettings.Current.EnableEFS = prefs.EnableEFS;

            return(true);
        }
Example #8
0
 public static bool FromPreferences(Models.Preferences prefs)
 {
     CoreAppSettings.Current.EnableAppTelematics       = prefs.EnableAppTelematics;
     CoreAppSettings.Current.EnableDNSValidationChecks = prefs.EnableDNSValidationChecks;
     CoreAppSettings.Current.EnableValidationProxyAPI  = prefs.EnableValidationProxyAPI;
     CoreAppSettings.Current.IgnoreStoppedSites        = prefs.IgnoreStoppedSites;
     CoreAppSettings.Current.MaxRenewalRequests        = prefs.MaxRenewalRequests;
     CoreAppSettings.Current.RenewalIntervalDays       = prefs.RenewalIntervalDays;
     CoreAppSettings.Current.EnableEFS                       = prefs.EnableEFS;
     CoreAppSettings.Current.IsInstanceRegistered            = prefs.IsInstanceRegistered;
     CoreAppSettings.Current.Language                        = prefs.Language;
     CoreAppSettings.Current.UseBackgroundServiceAutoRenewal = prefs.UseBackgroundServiceAutoRenewal;
     return(true);
 }
Example #9
0
        public static Models.Preferences ToPreferences()
        {
            LoadAppSettings();
            Models.Preferences prefs = new Models.Preferences();

            prefs.EnableAppTelematics       = CoreAppSettings.Current.EnableAppTelematics;
            prefs.EnableDNSValidationChecks = CoreAppSettings.Current.EnableDNSValidationChecks;
            prefs.EnableValidationProxyAPI  = CoreAppSettings.Current.EnableValidationProxyAPI;
            prefs.IgnoreStoppedSites        = CoreAppSettings.Current.IgnoreStoppedSites;
            prefs.MaxRenewalRequests        = CoreAppSettings.Current.MaxRenewalRequests;
            prefs.RenewalIntervalDays       = CoreAppSettings.Current.RenewalIntervalDays;
            prefs.EnableEFS = CoreAppSettings.Current.EnableEFS;

            return(prefs);
        }
Example #10
0
        void SaveToFile(Models.Preferences prefs)
        {
            if (!Directory.Exists(FilePathUtility.LocalAppDataFolder))
            {
                Directory.CreateDirectory(FilePathUtility.LocalAppDataFolder);
            }

            if (!File.Exists(FilePathUtility.PreferencesFilePath))
            {
                File.Create(FilePathUtility.PreferencesFilePath).Close();
            }

            string json = JsonConvert.SerializeObject(m_prefs, Formatting.Indented);

            File.WriteAllText(FilePathUtility.PreferencesFilePath, json);
        }
Example #11
0
        public static Models.Preferences ToPreferences()
        {
            LoadAppSettings();
            Models.Preferences prefs = new Models.Preferences();

            prefs.EnableAppTelematics       = CoreAppSettings.Current.EnableAppTelematics;
            prefs.EnableDNSValidationChecks = CoreAppSettings.Current.EnableDNSValidationChecks;
            prefs.EnableValidationProxyAPI  = CoreAppSettings.Current.EnableValidationProxyAPI;
            prefs.IgnoreStoppedSites        = CoreAppSettings.Current.IgnoreStoppedSites;
            prefs.MaxRenewalRequests        = CoreAppSettings.Current.MaxRenewalRequests;
            prefs.RenewalIntervalDays       = CoreAppSettings.Current.RenewalIntervalDays;
            prefs.EnableEFS                       = CoreAppSettings.Current.EnableEFS;
            prefs.InstanceId                      = CoreAppSettings.Current.InstanceId;
            prefs.IsInstanceRegistered            = CoreAppSettings.Current.IsInstanceRegistered;
            prefs.Language                        = CoreAppSettings.Current.Language;
            prefs.UseBackgroundServiceAutoRenewal = CoreAppSettings.Current.UseBackgroundServiceAutoRenewal;
            return(prefs);
        }
Example #12
0
        public static Models.Preferences ToPreferences()
        {
            LoadAppSettings();
            var prefs = new Models.Preferences();

            prefs.EnableAppTelematics       = CoreAppSettings.Current.EnableAppTelematics;
            prefs.EnableDNSValidationChecks = CoreAppSettings.Current.EnableDNSValidationChecks;
            prefs.EnableValidationProxyAPI  = CoreAppSettings.Current.EnableValidationProxyAPI;
            prefs.IgnoreStoppedSites        = CoreAppSettings.Current.IgnoreStoppedSites;
            prefs.MaxRenewalRequests        = CoreAppSettings.Current.MaxRenewalRequests;
            prefs.RenewalIntervalDays       = CoreAppSettings.Current.RenewalIntervalDays;
            prefs.EnableEFS                       = CoreAppSettings.Current.EnableEFS;
            prefs.InstanceId                      = CoreAppSettings.Current.InstanceId;
            prefs.IsInstanceRegistered            = CoreAppSettings.Current.IsInstanceRegistered;
            prefs.Language                        = CoreAppSettings.Current.Language;
            prefs.UseBackgroundServiceAutoRenewal = CoreAppSettings.Current.UseBackgroundServiceAutoRenewal;
            prefs.EnableHttpChallengeServer       = CoreAppSettings.Current.EnableHttpChallengeServer;
            prefs.EnableCertificateCleanup        = CoreAppSettings.Current.EnableCertificateCleanup;
            prefs.EnableStatusReporting           = CoreAppSettings.Current.EnableStatusReporting;

            return(prefs);
        }
        public static ScheduleModel ConvertFromDatabase(DataTable results, int id, Models.Preferences preferences)
        {
            var model = new ScheduleModel
            {
                Quarters = new List <Quarter>(),
                Id       = id
            };

            foreach (DataRow row in results.Rows)
            {
                var courseName   = (string)row["CourseNumber"];
                var quarter      = (int)row["QuarterID"];
                var year         = (int)row["YearID"];
                var courseId     = (int)row["CourseId"];
                var departmentId = (int)row["DepartmentID"];
                var quarterItem  = model.Quarters.FirstOrDefault(s => s.Id == $"{year}{quarter}" && s.Year == year);
                if (quarterItem == null)
                {
                    model.Quarters.Add(new Quarter()
                    {
                        Id = $"{year}{quarter}", Title = $"{year}-{quarter}", Year = year
                    });
                    quarterItem = model.Quarters.First(s => s.Id == $"{year}{quarter}" && s.Year == year);
                }

                if (quarterItem.Courses == null)
                {
                    quarterItem.Courses = new List <Course>();
                }
                quarterItem.Courses.Add(new Course()
                {
                    Description = courseName + $"({courseId})", Id = courseId.ToString(), Title = courseName + $"({courseId})", DepartmentID = departmentId
                });
            }

            model.PreferenceSet = preferences;
            return(model);
        }
Example #14
0
        public void LoadPreferences()
        {
            if (File.Exists(FilePathUtility.PreferencesFilePath))
            {
                string json = File.ReadAllText(FilePathUtility.PreferencesFilePath);
                m_prefs = JsonConvert.DeserializeObject <Models.Preferences>(json);

                if (m_prefs == null)
                {
                    m_prefs = GetDefaultPrefs();
                }
                else
                {
                    //Set VM properties from loaded prefs
                    GitPath         = m_prefs.LocalGitPath;
                    LocalBackupPath = m_prefs.LocalBackupPath;
                    if (m_prefs.SlackBotInfo == null)
                    {
                        m_prefs.SlackBotInfo = new Models.Plugins.SlackBotInfo();
                    }
                    else
                    {
                        SLACK_SERVICE.Set(m_prefs.SlackBotInfo);
                    }
                }
            }
            else
            {
                //Default prefs if none exists
                m_prefs = GetDefaultPrefs();

                SaveToFile(m_prefs);
            }

            EVENT_AGGREGATOR.PublishOnCurrentThread(new PreferencesUpdated(m_prefs));
        }
        public static Models.Preferences ToPreferences()
        {
            LoadAppSettings();
            var prefs = new Models.Preferences
            {
                EnableAppTelematics       = CoreAppSettings.Current.EnableAppTelematics,
                EnableDNSValidationChecks = CoreAppSettings.Current.EnableDNSValidationChecks,
                EnableValidationProxyAPI  = CoreAppSettings.Current.EnableValidationProxyAPI,
                IgnoreStoppedSites        = CoreAppSettings.Current.IgnoreStoppedSites,
                MaxRenewalRequests        = CoreAppSettings.Current.MaxRenewalRequests,
                RenewalIntervalDays       = CoreAppSettings.Current.RenewalIntervalDays,
                EnableEFS                       = CoreAppSettings.Current.EnableEFS,
                InstanceId                      = CoreAppSettings.Current.InstanceId,
                IsInstanceRegistered            = CoreAppSettings.Current.IsInstanceRegistered,
                Language                        = CoreAppSettings.Current.Language,
                UseBackgroundServiceAutoRenewal = CoreAppSettings.Current.UseBackgroundServiceAutoRenewal,
                EnableHttpChallengeServer       = CoreAppSettings.Current.EnableHttpChallengeServer,
                EnableCertificateCleanup        = CoreAppSettings.Current.EnableCertificateCleanup,
                EnableStatusReporting           = CoreAppSettings.Current.EnableStatusReporting,
                CertificateCleanupMode          = CoreAppSettings.Current.CertificateCleanupMode
            };

            return(prefs);
        }
        private async Task LoadCurrentSettings()
        {
            if (!MainViewModel.IsServiceAvailable)
            {
                return;
            }

            //TODO: we could now bind to Preferences
            _prefs = await MainViewModel.CertifyClient.GetPreferences();

            if (_prefs.UseBackgroundServiceAutoRenewal)
            {
                // if scheduled task not in use, remove legacy option to modify
                ConfigureAutoRenew.Visibility = Visibility.Collapsed;
            }

            MainViewModel.PrimaryContactEmail = await MainViewModel.CertifyClient.GetPrimaryContact();

            this.Accounts = new List <AccountItem>();
            foreach (var ca in CertificateAuthority.CertificateAuthorities)
            {
                this.Accounts.Add(new AccountItem {
                    ID = ca.Id + "_production", CertificateAuthorityId = ca.Id, Title = $"{ca.Title} ({ca.WebsiteUrl}, Default)", IsStagingAccount = false, Email = MainViewModel.PrimaryContactEmail
                });
                this.Accounts.Add(new AccountItem {
                    ID = ca.Id + "_staging", CertificateAuthorityId = ca.Id, Title = $"{ca.Title} ({ca.WebsiteUrl}, Staging)", IsStagingAccount = true, Email = MainViewModel.PrimaryContactEmail
                });
            }
            this.AccountList.ItemsSource = Accounts;



            EnableTelematicsCheckbox.IsChecked = _prefs.EnableAppTelematics;
            EnableProxyAPICheckbox.IsChecked   = _prefs.EnableValidationProxyAPI;

            //if true, EFS will be used for sensitive files such as private key file, does not work in all versions of windows.
            EnableEFS.IsChecked          = _prefs.EnableEFS;
            IgnoreStoppedSites.IsChecked = _prefs.IgnoreStoppedSites;

            EnableDNSValidationChecks.IsChecked = _prefs.EnableDNSValidationChecks;
            EnableHttpChallengeServer.IsChecked = _prefs.EnableHttpChallengeServer;

            if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.None)
            {
                CertCleanup_None.IsChecked = true;
            }
            else if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.AfterExpiry)
            {
                CertCleanup_AfterExpiry.IsChecked = true;
            }
            else if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.AfterRenewal)
            {
                CertCleanup_AfterRenewal.IsChecked = true;
            }
            else if (_prefs.CertificateCleanupMode == Models.CertificateCleanupMode.FullCleanup)
            {
                CertCleanup_FullCleanup.IsChecked = true;
            }

            EnableStatusReporting.IsChecked     = _prefs.EnableStatusReporting;
            EnableAutomaticCAFailover.IsChecked = _prefs.EnabledAutomaticCAFailover;

            RenewalIntervalDays.Value = _prefs.RenewalIntervalDays;
            RenewalMaxRequests.Value  = _prefs.MaxRenewalRequests;

            DataContext = MainViewModel;

            this.CertificateAuthorityList.ItemsSource = CertificateAuthority.CertificateAuthorities.Where(c => c.IsEnabled == true);

            CertificateAuthorityList.SelectedValue = _prefs.DefaultCertificateAuthority;

            settingsInitialised = true;
        }
Example #17
0
 public Human()
 {
     Equipment = new Equipment();
     Skills = new List<HumanSkill>();
     Preferences = new Models.Preferences();
     Inventory = new Dictionary<int, int>();
     RequestedItems = new Dictionary<int, int>();
 }
Example #18
0
        public TsunamiViewModel()
        {
            Settings.Logger.Inizialize();
            _preference = new Models.Preferences();

            _torrentList = new ObservableCollection <Models.TorrentItem>();
            System.Windows.Data.BindingOperations.EnableCollectionSynchronization(TorrentList, _lock);

            _sessionStatistic = new SessionStatistics();
            IsTsunamiEnabled  = false;
            //_notifyIcon = new Models.NotifyIcon();

            _torrentSession = new Core.Session();
            CoreLog.Debug("created");

            if (System.IO.File.Exists(".session_state"))
            {
                var data = System.IO.File.ReadAllBytes(".session_state");
                using (var entry = Core.Util.lazy_bdecode(data))
                {
                    _torrentSession.load_state(entry);
                }
            }
            CoreLog.Debug("session_state loaded. pausing");
            _torrentSession.pause();

            Core.SessionSettings ss = _torrentSession.settings();
            //ss.connections_limit = 500; // 200
            //ss.tick_interval = 250;     // 500
            //ss.torrent_connect_boost = 20; // 10
            //ss.connection_speed = -1; // -1 = 200 ; default 10
            //ss.num_want = 400; // 200
            //ss.cache_size = -1; // -1 = 1/8 RAM; default 1024
            //ss.coalesce_reads = true; // false
            //ss.coalesce_writes = true; // false
            string ua = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Major.ToString() +
                        System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Minor.ToString() +
                        System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Build.ToString();

            ss.user_agent = string.Format(Tsunami.Settings.Application.TSUNAMI_USER_AGENT, ua);
            log.Debug("using user agent {0}", ss.user_agent);

            // from qbit torrent
            ss.upnp_ignore_nonrouters         = true;
            ss.use_dht_as_fallback            = false;
            ss.ssl_listen                     = 0;    // Disable support for SSL torrents for now
            ss.lazy_bitfields                 = true; // To prevent ISPs from blocking seeding
            ss.stop_tracker_timeout           = 1;    // Speed up exit
            ss.auto_scrape_interval           = 1200; // 20 minutes
            ss.announce_to_all_trackers       = true; // from pref->announceToAllTrackers();
            ss.announce_to_all_tiers          = true; // from pref->announceToAllTrackers();
            ss.auto_scrape_min_interval       = 900;  // 15 minutes
            ss.cache_size                     = -1;
            ss.cache_expiry                   = 60;
            ss.disk_io_read_mode              = 0; // enable_os_cache
            ss.anonymous_mode                 = false;
            ss.active_seeds                   = 3; // MaxActiveUploads
            ss.dont_count_slow_torrents       = false;
            ss.active_downloads               = 3; // MaxActiveDownloads + m_extraLimit
            ss.active_limit                   = 5; // MaxActiveTorrents + m_extraLimit
            ss.active_tracker_limit           = -1;
            ss.active_dht_limit               = -1;
            ss.active_lsd_limit               = -1;
            ss.ignore_limits_on_local_network = true;  // Ignore limits on LAN
            ss.rate_limit_ip_overhead         = false; // Include overhead in transfer limits
            //ss.announce_ip = Utils::String::toStdString(pref->getNetworkAddress()); // IP address to announce to trackers
            ss.strict_super_seeding        = false;    // Super seeding
            ss.half_open_limit             = 20;       // * Max Half-open connections
            ss.connections_limit           = 500;      // * Max connections limit
            ss.unchoke_slots_limit         = -1;       // * Global max upload slots
            ss.enable_incoming_utp         = true;     // uTP
            ss.enable_outgoing_utp         = true;     // uTP
            ss.rate_limit_utp              = true;     // uTP rate limiting
            ss.mixed_mode_algorithm        = 0;        // prefer_tcp
            ss.connection_speed            = 20;       //default is 10
            ss.no_connect_privileged_ports = false;
            ss.seed_choking_algorithm      = 1;        // fastest_upload
            ss.apply_ip_filter_to_trackers = false;    // FilterTracker

            _torrentSession.set_settings(ss);

            // MISSING ENCRYPTION
            // libt::pe_settings encryptionSettings; (835 of session.cpp)

            Core.DhtSettings dhts = _torrentSession.get_dht_settings();
            //dhts.aggressive_lookups = true;
            _torrentSession.set_dht_settings(dhts);

            var alertMask = Core.AlertMask.error_notification
                            | Core.AlertMask.peer_notification
                            | Core.AlertMask.port_mapping_notification
                            | Core.AlertMask.storage_notification
                            | Core.AlertMask.tracker_notification
                            | Core.AlertMask.status_notification
                            | Core.AlertMask.ip_block_notification
                            | Core.AlertMask.progress_notification
                            | Core.AlertMask.stats_notification
                            | Core.AlertMask.dht_notification
            ;

            _torrentSession.set_alert_mask(alertMask);
            _torrentSession.set_alert_callback(HandlePendingAlertCallback);
            _torrentSession.set_session_callback(HandleAlertCallback);

            if (Settings.Application.DISPATCHER_INTERVAL < 500)
            {
                log.Warn("DISPATCHER_INTERVAL {0} should not be lower than 500", Settings.Application.DISPATCHER_INTERVAL);
            }

            _dispatcherTimer.Elapsed += new System.Timers.ElapsedEventHandler(dispatcherTimer_Tick);
            _dispatcherTimer.Interval = Settings.Application.DISPATCHER_INTERVAL;
            _dispatcherTimer.Start();

            LoadFastResumeData();

            _torrentSession.start_natpmp();
            _torrentSession.start_upnp();
            _torrentSession.start_dht();
            _torrentSession.start_lsd();
            _torrentSession.resume();

            log.Info("created");

            //Dht = new Core.AdunanzaDht();
            //Dht.start();
            //Dht.bootstrap("bootstrap.ring.cx", "4222");
        }
Example #19
0
 public PreferencesUpdated(Models.Preferences prefs)
 {
     Prefs = prefs;
 }
Example #20
0
 public void Handle(PreferencesUpdated message)
 {
     m_prefs = message.Prefs;
     NotifyOfPropertyChange(() => BackupPath);
 }