Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f979db92c3 | ||
|
|
bc6bd7390f | ||
|
|
3faeb028e4 | ||
|
|
177b86d997 | ||
|
|
8a2425abd1 | ||
|
|
bbb863a5ea | ||
|
|
1f85dfd096 | ||
|
|
969b533e7d | ||
|
|
08618aab83 | ||
|
|
29241095a1 | ||
|
|
0378b52107 | ||
|
|
ecc537eb46 | ||
|
|
2a2b388a39 | ||
|
|
0a6f61f590 | ||
|
|
25fd53d3f5 |
11
Readme.md
11
Readme.md
@@ -1,9 +1,15 @@
|
||||
[](https://ci.appveyor.com/project/tparnell8/shodan-net/branch/master)
|
||||
|
||||
Visit the official Shodan API documentation at:
|
||||
|
||||
[https://developer.shodan.io](https://developer.shodan.io)
|
||||
|
||||
This is still in active development, error handling might not well handle well. Best bet when working with any libraries you didn't write..harden your calls!
|
||||
|
||||
## APi Docs
|
||||
|
||||
You can find doxygen docs [here](http://shodan-csharp-docs.azurewebsites.net/)
|
||||
|
||||
## Installation
|
||||
|
||||
`install-package Shodan.Net`
|
||||
@@ -17,7 +23,7 @@ Create a shodan client. Note that ShodanClient inerhits from IDisposable, so you
|
||||
|
||||
`var client = new Shodan.Net.ShodanClient("myapiKey");`
|
||||
|
||||
Now just query away.
|
||||
Now just query away. You should be able to find all the actions [in the docs](http://shodan-csharp-docs.azurewebsites.net/class_shodan_1_1_net_1_1_shodan_client.html) or just through the docs in intellisense.
|
||||
|
||||
```csharp
|
||||
|
||||
@@ -44,4 +50,5 @@ Searching shodan requires you to build up queries, and facets to make it easier
|
||||
);
|
||||
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
66
Shodan.Net.sln
Normal file → Executable file
66
Shodan.Net.sln
Normal file → Executable file
@@ -1,42 +1,54 @@
|
||||
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25123.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{060AE71C-AE05-4F14-8970-84A1AE49A562}"
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26124.0
|
||||
MinimumVisualStudioVersion = 15.0.26124.0
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2AA36852-45BA-4974-81F4-D69A222FA76F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{18A95621-2E1B-48F0-9D38-D7B3513F31D3}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.gitignore = .gitignore
|
||||
global.json = global.json
|
||||
LICENSE.txt = LICENSE.txt
|
||||
Readme.md = Readme.md
|
||||
EndProjectSection
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shodan.Net", "src\Shodan.Net\Shodan.Net.csproj", "{02F06523-69A9-42F3-BAA9-37BA60D28B23}"
|
||||
EndProject
|
||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Shodan.Net", "src\Shodan.Net\Shodan.Net.xproj", "{2AC1566F-7C77-499E-B9AE-1F029BD7F7E8}"
|
||||
EndProject
|
||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Shodan.Net.UnitTests", "src\Shodan.Net.UnitTests\Shodan.Net.UnitTests.xproj", "{F83A8130-97B5-4AA2-810C-1D16A88799BD}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shodan.Net.UnitTests", "src\Shodan.Net.UnitTests\Shodan.Net.UnitTests.csproj", "{E54E43E6-A042-45E3-BAD7-0B119190C848}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{2AC1566F-7C77-499E-B9AE-1F029BD7F7E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2AC1566F-7C77-499E-B9AE-1F029BD7F7E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2AC1566F-7C77-499E-B9AE-1F029BD7F7E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2AC1566F-7C77-499E-B9AE-1F029BD7F7E8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F83A8130-97B5-4AA2-810C-1D16A88799BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F83A8130-97B5-4AA2-810C-1D16A88799BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F83A8130-97B5-4AA2-810C-1D16A88799BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F83A8130-97B5-4AA2-810C-1D16A88799BD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Debug|x64.Build.0 = Debug|x64
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Debug|x86.Build.0 = Debug|x86
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Release|x64.ActiveCfg = Release|x64
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Release|x64.Build.0 = Release|x64
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Release|x86.ActiveCfg = Release|x86
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23}.Release|x86.Build.0 = Release|x86
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Debug|x64.Build.0 = Debug|x64
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Debug|x86.Build.0 = Debug|x86
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Release|x64.ActiveCfg = Release|x64
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Release|x64.Build.0 = Release|x64
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Release|x86.ActiveCfg = Release|x86
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{2AC1566F-7C77-499E-B9AE-1F029BD7F7E8} = {060AE71C-AE05-4F14-8970-84A1AE49A562}
|
||||
{F83A8130-97B5-4AA2-810C-1D16A88799BD} = {060AE71C-AE05-4F14-8970-84A1AE49A562}
|
||||
{02F06523-69A9-42F3-BAA9-37BA60D28B23} = {2AA36852-45BA-4974-81F4-D69A222FA76F}
|
||||
{E54E43E6-A042-45E3-BAD7-0B119190C848} = {2AA36852-45BA-4974-81F4-D69A222FA76F}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
10
appveyor.yml
Normal file
10
appveyor.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
version: 1.0.{build}
|
||||
configuration: Release
|
||||
image: Visual Studio 2017
|
||||
before_build:
|
||||
- ps: >-
|
||||
dotnet restore
|
||||
build:
|
||||
verbosity: minimal
|
||||
test_script:
|
||||
- cmd: dotnet test .\src\Shodan.Net.UnitTests\Shodan.Net.UnitTests.csproj
|
||||
@@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
|
||||
# title of most generated pages and in a few other places.
|
||||
# The default value is: My Project.
|
||||
|
||||
PROJECT_NAME = "Showdan.Net"
|
||||
PROJECT_NAME = "Shodan.Net"
|
||||
|
||||
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
@@ -933,7 +933,7 @@ USE_MDFILE_AS_MAINPAGE =
|
||||
# also VERBATIM_HEADERS is set to NO.
|
||||
# The default value is: NO.
|
||||
|
||||
SOURCE_BROWSER = YES
|
||||
SOURCE_BROWSER = NO
|
||||
|
||||
# Setting the INLINE_SOURCES tag to YES will include the body of functions,
|
||||
# classes and enums directly into the documentation.
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"projects": [ "src", "test" ],
|
||||
"sdk": {
|
||||
"version": "1.0.0-preview1-002702"
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace Shodan.Net.UnitTests
|
||||
{
|
||||
// This project can output the Class library as a NuGet Package.
|
||||
// To enable this option, right-click on the project and select the Properties menu item. In the Build tab select "Produce outputs on build".
|
||||
public class Class1
|
||||
{
|
||||
[Fact]
|
||||
public async Task privateGetsPorts()
|
||||
|
||||
{
|
||||
var client = new ShodanClient("");
|
||||
var ports = await client.SearchHosts(
|
||||
query: a => a.Withcity("boston")
|
||||
.Withcountry("usa")
|
||||
.Before(DateTime.Now.AddDays(-5)),
|
||||
facet: b => b.WithAsn()
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
25
src/Shodan.Net.UnitTests/Intergration/TestSuite.cs
Normal file
25
src/Shodan.Net.UnitTests/Intergration/TestSuite.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace Shodan.Net.UnitTests.Intergration
|
||||
{
|
||||
public class TestSuite
|
||||
{
|
||||
private readonly ShodanClient shodanClient = new ShodanClient("9F0mxmNSaHbe0mYmefwoCZrChT2h0KzC");
|
||||
|
||||
[Fact]
|
||||
public async Task GetHost()
|
||||
{
|
||||
var result = await shodanClient.GetHostAsync("41.21.249.170");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task PerformSearch()
|
||||
{
|
||||
var result = await shodanClient.SearchHosts(a => a.With_state("NY"));
|
||||
}
|
||||
}
|
||||
}
|
||||
27
src/Shodan.Net.UnitTests/Shodan.Net.UnitTests.csproj
Executable file
27
src/Shodan.Net.UnitTests/Shodan.Net.UnitTests.csproj
Executable file
@@ -0,0 +1,27 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp1.0</TargetFramework>
|
||||
<AssemblyName>Shodan.Net.UnitTests</AssemblyName>
|
||||
<PackageId>Shodan.Net.UnitTests</PackageId>
|
||||
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
|
||||
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
|
||||
<PackageTargetFallback>$(PackageTargetFallback);dnxcore50;portable-net45+win8</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>
|
||||
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
|
||||
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
|
||||
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="../Shodan.Net/Shodan.Net.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0-preview-20170106-08" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0-beta5-build1225" />
|
||||
<PackageReference Include="xunit" Version="2.2.0-beta5-build3474" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>f83a8130-97b5-4aa2-810c-1d16a88799bd</ProjectGuid>
|
||||
<RootNamespace>Shodan.Net.UnitTests</RootNamespace>
|
||||
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
|
||||
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
</Project>
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"version": "1.0.0-*",
|
||||
"testRunner": "xunit",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-24027",
|
||||
"xunit": "2.1.0",
|
||||
"dotnet-test-xunit": "1.0.0-rc2-build10015",
|
||||
"Shodan.Net": "1.0.0-*"
|
||||
},
|
||||
|
||||
"frameworks": {
|
||||
"netcoreapp1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"type": "platform",
|
||||
"version": "1.0.0-rc2-3002702"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"dnxcore50",
|
||||
"portable-net45+win8"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -70,12 +70,12 @@ namespace Shodan.Net.Models
|
||||
/// The IP address of the host as an integer
|
||||
/// </summary>
|
||||
[DataMember(Name = "ip")]
|
||||
public int? Ip { get; set; }
|
||||
public long? Ip { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The IPv6 address of the host as a string. If this is present then the "ip" and "ip_str" fields wont be.
|
||||
/// </summary>
|
||||
[DataMember(Name = "ip")]
|
||||
[DataMember(Name = "ipv6")]
|
||||
public string Ipv6 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
52
src/Shodan.Net/Models/Certificate.cs
Normal file
52
src/Shodan.Net/Models/Certificate.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Shodan.Net.Models
|
||||
{
|
||||
public class Certificate
|
||||
{
|
||||
[DataMember(Name = "sig_alg")]
|
||||
public string SignatureAlgorithmm { get; set; }
|
||||
|
||||
[DataMember(Name = "issued")]
|
||||
public string Issued { get; set; }
|
||||
|
||||
[DataMember(Name = "expires")]
|
||||
public DateTime Expires { get; set; }
|
||||
|
||||
[DataMember(Name = "expired")]
|
||||
public bool Expired { get; set; }
|
||||
|
||||
[DataMember(Name = "version")]
|
||||
public int Version { get; set; }
|
||||
|
||||
[DataMember(Name = "fingerprint")]
|
||||
public Fingerprint Fingerprint { get; set; }
|
||||
|
||||
[DataMember(Name = "subject")]
|
||||
public dynamic Subject { get; set; }
|
||||
|
||||
[DataMember(Name = "pubkey")]
|
||||
public dynamic PublicKey { get; set; }
|
||||
|
||||
[DataMember(Name = "issuer")]
|
||||
public dynamic Issuer { get; set; }
|
||||
|
||||
[DataMember(Name = "ciper")]
|
||||
public dynamic Ciper { get; set; }
|
||||
|
||||
[JsonIgnore()]
|
||||
[DataMember(Name = "serial")]
|
||||
public string Serial { get; set; }
|
||||
}
|
||||
|
||||
public class Fingerprint
|
||||
{
|
||||
public string sha256 { get; set; }
|
||||
public string sha1 { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,6 @@ namespace Shodan.Net.Models
|
||||
[DataMember(Name = "country_code")]
|
||||
public string CountryCode { get; set; }
|
||||
|
||||
[DataMember(Name = "data")]
|
||||
public List<Banner> Data { get; set; }
|
||||
|
||||
[DataMember(Name = "city")]
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Shodan.Net.Models
|
||||
/// The area code for the device's location. Only available for the US.
|
||||
/// </summary>
|
||||
[DataMember(Name = "area_code")]
|
||||
public int AreaCode { get; set; }
|
||||
public int? AreaCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The designated market area code for the area where the device is located. Only available for the US.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
@@ -13,7 +14,10 @@ namespace Shodan.Net.Models
|
||||
/// The parsed certificate properties that includes information such as when it was issued, the SSL extensions, the issuer, subject etc.
|
||||
/// </summary>
|
||||
[DataMember(Name = "cert")]
|
||||
public dynamic Cert { get; set; }
|
||||
public Certificate Cert { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
public decimal[] Serial { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Preferred cipher for the SSL connection
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Shodan.Net
|
||||
/// </summary>
|
||||
public class RequestHandler : IRequstHandler
|
||||
{
|
||||
private HttpClient client { get; set; }
|
||||
private HttpClient client = new HttpClient();
|
||||
|
||||
public async Task<T> MakeRequestAsync<T>(Uri url, HttpContent content = null, RequestType requstType = RequestType.GET)
|
||||
where T : class
|
||||
|
||||
@@ -4,15 +4,12 @@ using System.Runtime.InteropServices;
|
||||
|
||||
/*! \mainpage Shodan.Net
|
||||
* Shodan.net is a simple c# implementation of the shodan api
|
||||
* Shodan.net is missing the streams api, but it will come soon. Most of the action occurs in ShodanClient.cs
|
||||
* Shodan.net is missing the streams api, but it will come soon. Most of the action occurs in Shodan.Net.ShodanClient
|
||||
*/
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Shodan.Net")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Shodan.Net
|
||||
{
|
||||
public class QueryGenerator
|
||||
{
|
||||
internal Dictionary<string, string> queryData { get; set; }
|
||||
internal Dictionary<string, string> queryData = new Dictionary<string, string>();
|
||||
private HashSet<string> CalledMethods = new HashSet<string>();
|
||||
private string searchText = string.Empty;
|
||||
|
||||
|
||||
32
src/Shodan.Net/Shodan.Net.csproj
Executable file
32
src/Shodan.Net/Shodan.Net.csproj
Executable file
@@ -0,0 +1,32 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<VersionPrefix>0.3.0</VersionPrefix>
|
||||
<Authors>Tommy Parnell</Authors>
|
||||
<TargetFrameworks>netstandard1.5</TargetFrameworks>
|
||||
<AssemblyName>Shodan.Net</AssemblyName>
|
||||
<PackageId>Shodan.Net</PackageId>
|
||||
<PackageTags>shodan.io</PackageTags>
|
||||
<PackageProjectUrl>https://github.com/TerribleDev/Shodan.Net</PackageProjectUrl>
|
||||
<PackageLicenseUrl>https://opensource.org/licenses/MIT</PackageLicenseUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<RepositoryUrl>https://github.com/TerribleDev/Shodan.Net.git</RepositoryUrl>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.5' ">
|
||||
<PackageReference Include="System.Dynamic.Runtime" Version="4.0.11" />
|
||||
<PackageReference Include="System.Runtime.Serialization.Primitives" Version="4.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>2ac1566f-7c77-499e-b9ae-1f029bd7f7e8</ProjectGuid>
|
||||
<RootNamespace>Shodan.Net</RootNamespace>
|
||||
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
|
||||
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
</Project>
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"version": "0.1.0",
|
||||
"authors": [ "Tommy Parnell" ],
|
||||
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-24027",
|
||||
"Newtonsoft.Json": "8.0.3"
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard1.5": {
|
||||
"imports": "dnxcore50",
|
||||
"dependencies": {
|
||||
"System.Dynamic.Runtime": "4.0.11-rc2-24027",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027"
|
||||
}
|
||||
},
|
||||
"net45": { "frameworkAssemblies": { "System.Runtime.Serialization": "4.0.0.0" } }
|
||||
},
|
||||
"buildOptions": {
|
||||
"xmlDoc": false
|
||||
},
|
||||
"packOptions": {
|
||||
"owners": [ "Tommy Parnell" ],
|
||||
"summary": "Wrapper over the shodan.io api",
|
||||
"projectUrl": "https://github.com/tparnell8/Shodan.Net",
|
||||
"licenseUrl": "https://opensource.org/licenses/MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tparnell8/Shodan.Net.git"
|
||||
},
|
||||
"tags": [ "shodan.io" ]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user