Exemple #1
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            ConfigProxy configProxy = (ConfigProxy)Facade.RetrieveProxy(ConfigProxy.Name);

            Facade.RegisterProxy(new AuthorizationSessionProxy(configProxy.Config));
        }
Exemple #2
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            ConfigProxy           configProxy     = (ConfigProxy)Facade.RetrieveProxy(ConfigProxy.Name);
            ProgramArgumentsProxy programArgProxy = (ProgramArgumentsProxy)Facade.RetrieveProxy(ProgramArgumentsProxy.Name);
            UploadFileProxy       uploadFileProxy = (UploadFileProxy)Facade.RetrieveProxy(UploadFileProxy.Name);

            if (programArgProxy.TryGetArgument(FileOption, out string fileToUpload) == false)
            {
                throw new TerminateProgramException(
                          $"File to upload not provided. Did you remember to use {FileOption}?"
                          );
            }

            if (programArgProxy.TryGetArgument(DestinationOption, out string remoteDestinationPath) == false)
            {
                throw new TerminateProgramException(
                          $"Destination not provided. Did you remember to use {DestinationOption}?"
                          );
            }

            uploadFileProxy.AddLocalFile(
                authorizationSessionProxy.AuthorizationSession,
                fileToUpload,
                remoteDestinationPath,
                programArgProxy.DoesOptionExist(OverrideOption)
                );
        }
Exemple #3
0
        public ModuleBase()
        {
            var t = this.GetType();

            this.Id           = t.GUID;// Guid.NewGuid();
            this.Metadata     = ModuleMetadataAttribute.GetMetadata(t);
            this._configProxy = new ConfigProxy(this);
            this._configProxy.PropertyChanged += (sender, e) => (sender as ConfigProxy).Save();
        }
Exemple #4
0
        internal static WildlifeBegoneConfig Parse(string json)
        {
            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.Error += (_, args) => {
                string errorMessagge = args.ErrorContext.Error.Message;
                Debug.LogError("[WildlifeBegone] Couldn't parse the configuration JSON string. Error:\n" + errorMessagge);
            };

            ConfigProxy proxy = JsonConvert.DeserializeObject <ConfigProxy>(json, settings);

            return(new WildlifeBegoneConfig(proxy));
        }
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            ConfigProxy configProxy = (ConfigProxy)Facade.RetrieveProxy(ConfigProxy.Name);

            BackblazeB2AuthorizationSession authorizationSession = authorizationSessionProxy.AuthorizationSession;
            Config config = configProxy.Config;

            Facade.RegisterProxy(new CheckFileManifestProxy(authorizationSession, config));
            Facade.RegisterProxy(new CompactShardsProxy(authorizationSession, config));
            Facade.RegisterProxy(new DeleteFileProxy(authorizationSession, config));
            Facade.RegisterProxy(new DownloadFileManifestProxy(authorizationSession, config));
            Facade.RegisterProxy(new RemoteFileSystemProxy(authorizationSession, config));
            Facade.RegisterProxy(new RenameFileProxy(authorizationSession, config));
            Facade.RegisterProxy(new PruneFileShardProxy(authorizationSession, config));
            Facade.RegisterProxy(new UploadFileProxy(authorizationSession, config));
        }
Exemple #6
0
        private static ConfigProxy GetConfig()
        {
            try
            {
                var config = new ConfigProxy();

                config.Port       = Configuration.GetValue <int>("Port");
                config.Tor        = Configuration.GetSection("Tor").Get <TorConfig>();
                config.UseLocalIp = Configuration.GetValue <bool>("UseLocalIp");
                return(config);
            }
            catch (Exception e)
            {
                Log.Error("Error reading config: ", e);
                Console.WriteLine("Error reading config");
                return(null);
            }
        }
Exemple #7
0
        public ProxyTorController(ConfigProxy config)
        {
            Task.Run(() => listenToConsole());

            _proxyServer = new ProxyServer();


            _proxyServer.ExceptionFunc = async exception =>
            {
                if (exception is ProxyHttpException phex)
                {
                    WriteToConsole(exception.Message + ": " + phex.InnerException?.Message, ConsoleColor.Red);
                }
                else
                {
                    WriteToConsole(exception.Message, ConsoleColor.Red);
                }
            };

            _proxyServer.TcpTimeWaitSeconds       = 60;
            _proxyServer.ConnectionTimeOutSeconds = 65;
            _proxyServer.ReuseSocket              = false;
            _proxyServer.EnableConnectionPool     = true;
            _proxyServer.ForwardToUpstreamGateway = true;

            _proxyServer.CertificateManager.SaveFakeCertificates = true;


            var explicitEndPoint = new ExplicitProxyEndPoint(IPAddress.Any, config.Port, false);

            _proxyServer.AddEndPoint(explicitEndPoint);

            _tors = new List <TorInfo>();

            for (var i = config.Tor.PortFrom; i <= config.Tor.PortTo; i++)
            {
                _tors.Add(new TorInfo
                {
                    HostName = config.Tor.HostName,
                    Port     = i
                });
            }
        }
Exemple #8
0
        private WildlifeBegoneConfig(ConfigProxy proxy)
        {
            logging           = proxy.Logging;
            enableInStoryMode = proxy.EnableInStoryMode;

            rsoSettings = proxy.SpawnerGroups;
            if (rsoSettings == null)
            {
                Debug.LogError("[WildlifeBegone] Couldn't load the \"SpawnerGroups\" configuration entry, not modifying group spawns.");
                rsoSettings = new RSOSettings();
            }

            if (proxy.SpawnRates == null)
            {
                Debug.LogError("[WildlifeBegone] Couldn't load the \"SpawnRates\" configuration entry, not modifying spawn settings.");
                proxy.SpawnRates = new Dictionary <string, SpawnRateSetting>();
            }

            Array values = Enum.GetValues(typeof(AiSubType));

            string[] names = Enum.GetNames(typeof(AiSubType));

            spawnRates = new Dictionary <int, SpawnRateSetting>(values.Length);
            for (int i = 0; i < values.Length; ++i)
            {
                int    value = (int)values.GetValue(i);
                string name  = names[i];

                if (!proxy.SpawnRates.TryGetValue(name, out SpawnRateSetting setting))
                {
                    Debug.LogError("[WildlifeBegone] Couldn't find a spawn rate setting for animal type \"" + name + "\". Not modifying spawn rates.");
                    setting = new SpawnRateSetting();
                }

                spawnRates[value] = setting;
            }
        }