This is a Next.js project bootstrapped with create-next-app.
This project provides Shadowserver API subscribers with a web interface to list, view and download available reports. It's designed to make it easy for analysts to get started with Shadowserver reporting.
While this is designed to be a client side web application, it utilises Next.js API routes to proxy requests to the Shadowserver API. API keys are securely stored in browser cookies using iron-session.
- Filter by report type and date range
- List reports
- Download CSV reports
- View reports in the powerful Ag-grid component
- ASN name lookups using Cloudflare Radar API
- On-demand validation of DNS hostnames using Cloudflare 1.1.1.1 DoH resolver
- Analyst workstation features such as 'Lookup IP in Shodan'
- Create an environment variable IRONSESSION_SECRET to encrypt API secrets in user's browser cookie store, this should be at least 32 characters.
- (Optional) If deploying internally, you can specify the API key and secret in an environment variable so it doesn't have to be configured for each user - SHADOWSERVER_API_KEY and SHADOWSERVER_API_SECRET.
This is a proof of concept, expect significant refactoring :)
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.