public OctopusRepository(IOctopusClient client) { this.Client = client; Feeds = new FeedRepository(client); Backups = new BackupRepository(client); Machines = new MachineRepository(client); MachineRoles = new MachineRoleRepository(client); MachinePolicies = new MachinePolicyRepository(client); Subscriptions = new SubscriptionRepository(client); Environments = new EnvironmentRepository(client); Events = new EventRepository(client); FeaturesConfiguration = new FeaturesConfigurationRepository(client); ProjectGroups = new ProjectGroupRepository(client); Projects = new ProjectRepository(client); Proxies = new ProxyRepository(client); Tasks = new TaskRepository(client); Users = new UserRepository(client); VariableSets = new VariableSetRepository(client); LibraryVariableSets = new LibraryVariableSetRepository(client); DeploymentProcesses = new DeploymentProcessRepository(client); Releases = new ReleaseRepository(client); Deployments = new DeploymentRepository(client); Certificates = new CertificateRepository(client); Dashboards = new DashboardRepository(client); DashboardConfigurations = new DashboardConfigurationRepository(client); Artifacts = new ArtifactRepository(client); Interruptions = new InterruptionRepository(client); ServerStatus = new ServerStatusRepository(client); UserRoles = new UserRolesRepository(client); Teams = new TeamsRepository(client); RetentionPolicies = new RetentionPolicyRepository(client); Accounts = new AccountRepository(client); Defects = new DefectsRepository(client); Lifecycles = new LifecyclesRepository(client); OctopusServerNodes = new OctopusServerNodeRepository(client); Channels = new ChannelRepository(client); ProjectTriggers = new ProjectTriggerRepository(client); Schedulers = new SchedulerRepository(client); Tenants = new TenantRepository(client); TagSets = new TagSetRepository(client); BuiltInPackageRepository = new BuiltInPackageRepositoryRepository(client); ActionTemplates = new ActionTemplateRepository(client); CommunityActionTemplates = new CommunityActionTemplateRepository(client); }
private static void WorkLoop() { var repo = new ProxyRepository(new ProxyDbContext()); foreach (var line in pendingLines.GetConsumingEnumerable()) { var parts = line.Split(':'); var ip = parts[0]; var port = ushort.Parse(parts[1]); var result = IpQuery.IPQuery(ip); var proxyResult = ProxyQuery.GetAll(ip); var lastSeen = DateTime.MinValue; if (int.TryParse(proxyResult.Last_Seen, out var days)) { lastSeen = DateTime.UtcNow - TimeSpan.FromDays(days); } switch (proxyResult.Usage_Type) { case "COM": proxyResult.Usage_Type = "Commercial"; break; case "ORG": proxyResult.Usage_Type = "Organization"; break; case "GOV": proxyResult.Usage_Type = "Government"; break; case "MIL": proxyResult.Usage_Type = "Military"; break; case "EDU": proxyResult.Usage_Type = "University/College/School"; break; case "LIB": proxyResult.Usage_Type = "Library"; break; case "CDN": proxyResult.Usage_Type = "Content Delivery Network"; break; case "ISP": proxyResult.Usage_Type = "Fixed Line ISP"; break; case "MOB": proxyResult.Usage_Type = "Mobile ISP"; break; case "ISP/MOB": proxyResult.Usage_Type = "Fixed/Mobile ISP"; break; case "DCH": proxyResult.Usage_Type = "Data Center/Web Hosting/Transit"; break; case "SES": proxyResult.Usage_Type = "Search Engine Spider"; break; case "-": proxyResult.Usage_Type = ""; break; } var proxy = new Proxy { ID = Helpers.IpToInt(ip), IP = ip, Port = port, City = result.City, Country = result.CountryLong, Region = result.Region, Longitude = result.Longitude, Latitude = result.Latitude, AS = proxyResult.AS, ASN = proxyResult.ASN, Domain = proxyResult.Domain, ISP = proxyResult.ISP, LastSeen = lastSeen, Threat = proxyResult.Threat, ProxyType = proxyResult.Usage_Type }; foreach (var m in proxy.GetType().GetProperties()) { if (m.PropertyType != typeof(String)) { continue; } var val = (string)m.GetValue(proxy); if (val != "-") { continue; } m.SetValue(proxy, string.Empty); val = (string)m.GetValue(proxy); } repo.AddOrUpdateProxy(proxy); _cache.TryRemove(ip, out _); Interlocked.Increment(ref processedLines); Console.WriteLine($"Processed: {processedLines}, Pending:{pendingLines.Count}"); } }
public OctopusAsyncRepository(IOctopusAsyncClient client, RepositoryScope repositoryScope = null) { Client = client; Scope = repositoryScope ?? RepositoryScope.Unspecified(); Accounts = new AccountRepository(this); ActionTemplates = new ActionTemplateRepository(this); Artifacts = new ArtifactRepository(this); Backups = new BackupRepository(this); BuiltInPackageRepository = new BuiltInPackageRepositoryRepository(this); BuildInformationRepository = new BuildInformationRepository(this); CertificateConfiguration = new CertificateConfigurationRepository(this); Certificates = new CertificateRepository(this); Channels = new ChannelRepository(this); CommunityActionTemplates = new CommunityActionTemplateRepository(this); Configuration = new ConfigurationRepository(this); DashboardConfigurations = new DashboardConfigurationRepository(this); Dashboards = new DashboardRepository(this); Defects = new DefectsRepository(this); DeploymentProcesses = new DeploymentProcessRepository(this); Deployments = new DeploymentRepository(this); Environments = new EnvironmentRepository(this); Events = new EventRepository(this); FeaturesConfiguration = new FeaturesConfigurationRepository(this); Feeds = new FeedRepository(this); Interruptions = new InterruptionRepository(this); LibraryVariableSets = new LibraryVariableSetRepository(this); Licenses = new LicensesRepository(this); Lifecycles = new LifecyclesRepository(this); MachinePolicies = new MachinePolicyRepository(this); MachineRoles = new MachineRoleRepository(this); Machines = new MachineRepository(this); Migrations = new MigrationRepository(this); OctopusServerNodes = new OctopusServerNodeRepository(this); PerformanceConfiguration = new PerformanceConfigurationRepository(this); PackageMetadataRepository = new PackageMetadataRepository(this); ProjectGroups = new ProjectGroupRepository(this); Projects = new ProjectRepository(this); Runbooks = new RunbookRepository(this); RunbookProcess = new RunbookProcessRepository(this); RunbookSnapshots = new RunbookSnapshotRepository(this); RunbookRuns = new RunbookRunRepository(this); ProjectTriggers = new ProjectTriggerRepository(this); Proxies = new ProxyRepository(this); Releases = new ReleaseRepository(this); RetentionPolicies = new RetentionPolicyRepository(this); Schedulers = new SchedulerRepository(this); ServerStatus = new ServerStatusRepository(this); Spaces = new SpaceRepository(this); Subscriptions = new SubscriptionRepository(this); TagSets = new TagSetRepository(this); Tasks = new TaskRepository(this); Teams = new TeamsRepository(this); Tenants = new TenantRepository(this); TenantVariables = new TenantVariablesRepository(this); UserInvites = new UserInvitesRepository(this); UserRoles = new UserRolesRepository(this); Users = new UserRepository(this); VariableSets = new VariableSetRepository(this); Workers = new WorkerRepository(this); WorkerPools = new WorkerPoolRepository(this); ScopedUserRoles = new ScopedUserRoleRepository(this); UserPermissions = new UserPermissionsRepository(this); UserTeams = new UserTeamsRepository(this); UpgradeConfiguration = new UpgradeConfigurationRepository(this); loadRootResource = new Lazy <Task <RootResource> >(LoadRootDocumentInner, true); loadSpaceRootResource = new Lazy <Task <SpaceRootResource> >(LoadSpaceRootDocumentInner, true); }
public ProxyService(ProxyRepository repository) => _proxyRepository = repository;