Add GitHub Pages landing site

This commit is contained in:
Smittix
2026-01-21 11:50:05 +00:00
parent ec32b9237e
commit 5c7554d6cb
7 changed files with 876 additions and 0 deletions
View File
+17
View File
@@ -0,0 +1,17 @@
title: INTERCEPT
description: Signal Intelligence Platform - A web-based interface for software-defined radio tools
url: https://smittix.github.io
baseurl: /intercept
# Build settings
include:
- _headers
# Exclude files from build
exclude:
- README.md
- SECURITY.md
- TROUBLESHOOTING.md
- USAGE.md
- FEATURES.md
- HARDWARE.md
Binary file not shown.

After

Width:  |  Height:  |  Size: 585 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

+230
View File
@@ -0,0 +1,230 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>INTERCEPT - Signal Intelligence Platform</title>
<meta name="description" content="A web-based interface for software-defined radio tools. Pager decoding, ADS-B tracking, WiFi scanning, and more.">
<link rel="stylesheet" href="style.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
</head>
<body>
<nav class="navbar">
<div class="nav-container">
<a href="#" class="nav-logo">INTERCEPT</a>
<div class="nav-links">
<a href="#features">Features</a>
<a href="#screenshots">Screenshots</a>
<a href="#installation">Install</a>
<a href="https://github.com/smittix/intercept" class="nav-btn" target="_blank">GitHub</a>
</div>
</div>
</nav>
<header class="hero">
<div class="hero-content">
<div class="hero-badge">Open Source SIGINT Platform</div>
<h1>INTERCEPT</h1>
<p class="hero-subtitle">A unified web interface for software-defined radio tools. Monitor pagers, track aircraft, scan WiFi networks, and more — all from your browser.</p>
<div class="hero-buttons">
<a href="#installation" class="btn btn-primary">Get Started</a>
<a href="https://github.com/smittix/intercept" class="btn btn-secondary" target="_blank">View on GitHub</a>
</div>
<div class="hero-stats">
<div class="stat">
<span class="stat-value">8+</span>
<span class="stat-label">SDR Modes</span>
</div>
<div class="stat">
<span class="stat-value">200+</span>
<span class="stat-label">Protocols</span>
</div>
<div class="stat">
<span class="stat-value">$25</span>
<span class="stat-label">Min Hardware</span>
</div>
</div>
</div>
<div class="hero-image">
<img src="images/intercept-main.png" alt="INTERCEPT Dashboard">
</div>
</header>
<section id="features" class="features">
<div class="container">
<h2>Capabilities</h2>
<p class="section-subtitle">Everything you need for signal intelligence in one interface</p>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">📟</div>
<h3>Pager Decoding</h3>
<p>Decode POCSAG and FLEX pager messages using rtl_fm and multimon-ng. Monitor emergency services and legacy paging systems.</p>
</div>
<div class="feature-card">
<div class="feature-icon">✈️</div>
<h3>Aircraft Tracking</h3>
<p>Real-time ADS-B tracking with interactive maps, aircraft photos, emergency squawk detection, and range visualization.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📡</div>
<h3>433MHz Sensors</h3>
<p>Decode 200+ protocols including weather stations, TPMS, smart home devices, and IoT sensors via rtl_433.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📻</div>
<h3>Listening Post</h3>
<p>Frequency scanner with real-time audio monitoring, fine-tuning controls, and customizable frequency presets.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🛰️</div>
<h3>Satellite Tracking</h3>
<p>Track satellites with TLE data, sky plots, ground track visualization, and pass predictions for your location.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📶</div>
<h3>WiFi Scanning</h3>
<p>Monitor mode reconnaissance via aircrack-ng. Network discovery, client tracking, and handshake capture.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔵</div>
<h3>Bluetooth Scanning</h3>
<p>Device discovery with tracker detection for AirTags, Tile, Samsung SmartTag, and other Bluetooth devices.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🛡️</div>
<h3>TSCM</h3>
<p>Counter-surveillance with baseline recording, threat detection, device correlation, and risk scoring.</p>
</div>
</div>
</div>
</section>
<section id="screenshots" class="screenshots">
<div class="container">
<h2>See It In Action</h2>
<p class="section-subtitle">A clean, modern interface for complex RF operations</p>
<div class="screenshot-grid">
<div class="screenshot-card main">
<img src="images/intercept-main.png" alt="Main Dashboard">
<span class="screenshot-label">Dashboard</span>
</div>
<div class="screenshot-card">
<img src="images/screenshot_radar.png" alt="Aircraft Radar">
<span class="screenshot-label">Aircraft Radar</span>
</div>
<div class="screenshot-card">
<img src="images/screenshot_sat.png" alt="Satellite Tracking">
<span class="screenshot-label">Satellite Tracking</span>
</div>
</div>
</div>
</section>
<section id="installation" class="installation">
<div class="container">
<h2>Quick Start</h2>
<p class="section-subtitle">Get up and running in minutes</p>
<div class="install-options">
<div class="install-card">
<h3>Standard Installation</h3>
<div class="code-block">
<pre><code>git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh
sudo -E venv/bin/python intercept.py</code></pre>
</div>
<p class="install-note">Requires Python 3.9+ and RTL-SDR drivers</p>
</div>
<div class="install-card">
<h3>Docker</h3>
<div class="code-block">
<pre><code>git clone https://github.com/smittix/intercept.git
cd intercept
docker compose up -d</code></pre>
</div>
<p class="install-note">Requires privileged mode for USB SDR access</p>
</div>
</div>
<div class="post-install">
<p>After starting, open <code>http://localhost:5050</code> in your browser.</p>
<p>Default credentials: <code>admin</code> / <code>admin</code></p>
</div>
</div>
</section>
<section class="hardware">
<div class="container">
<h2>Hardware</h2>
<p class="section-subtitle">Minimal hardware, maximum capability</p>
<div class="hardware-grid">
<div class="hardware-card required">
<div class="hardware-tag">Required</div>
<h3>RTL-SDR</h3>
<p>Core SDR functionality for all radio features</p>
<span class="price">~$25-35</span>
</div>
<div class="hardware-card optional">
<div class="hardware-tag">Optional</div>
<h3>WiFi Adapter</h3>
<p>Monitor mode support for WiFi scanning</p>
<span class="price">~$20-40</span>
</div>
<div class="hardware-card optional">
<div class="hardware-tag">Optional</div>
<h3>GPS Receiver</h3>
<p>Real-time location for mapping features</p>
<span class="price">~$10</span>
</div>
</div>
<p class="hardware-note">INTERCEPT also supports HackRF, LimeSDR, Airspy, and SDRplay via SoapySDR</p>
</div>
</section>
<section class="cta">
<div class="container">
<h2>Ready to start intercepting?</h2>
<p>Join the community and start exploring the RF spectrum</p>
<div class="cta-buttons">
<a href="https://github.com/smittix/intercept" class="btn btn-primary" target="_blank">Get INTERCEPT</a>
<a href="https://discord.gg/EyeksEJmWE" class="btn btn-secondary" target="_blank">Join Discord</a>
</div>
</div>
</section>
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-brand">
<span class="footer-logo">INTERCEPT</span>
<p>Signal Intelligence Platform</p>
</div>
<div class="footer-links">
<a href="https://github.com/smittix/intercept" target="_blank">GitHub</a>
<a href="https://discord.gg/EyeksEJmWE" target="_blank">Discord</a>
<a href="USAGE.html">Documentation</a>
</div>
</div>
<div class="footer-bottom">
<p>Created by <a href="https://github.com/smittix" target="_blank">smittix</a> · MIT License</p>
<p class="disclaimer">For educational and authorized testing purposes only.</p>
</div>
</div>
</footer>
</body>
</html>
+629
View File
@@ -0,0 +1,629 @@
/* INTERCEPT GitHub Pages - Dark Theme */
:root {
--bg-primary: #0a0a0f;
--bg-secondary: #12121a;
--bg-card: #1a1a24;
--bg-card-hover: #22222e;
--text-primary: #f0f0f5;
--text-secondary: #8888a0;
--text-muted: #5c5c70;
--accent: #00d4aa;
--accent-hover: #00f0c0;
--accent-glow: rgba(0, 212, 170, 0.2);
--border: #2a2a38;
--code-bg: #0d0d14;
--gradient-start: #00d4aa;
--gradient-end: #0088ff;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
background: var(--bg-primary);
color: var(--text-primary);
line-height: 1.6;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}
/* Navigation */
.navbar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
background: rgba(10, 10, 15, 0.9);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border);
}
.nav-container {
max-width: 1200px;
margin: 0 auto;
padding: 16px 24px;
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-logo {
font-family: 'JetBrains Mono', monospace;
font-size: 1.25rem;
font-weight: 600;
color: var(--accent);
text-decoration: none;
letter-spacing: 2px;
}
.nav-links {
display: flex;
align-items: center;
gap: 32px;
}
.nav-links a {
color: var(--text-secondary);
text-decoration: none;
font-size: 0.9rem;
font-weight: 500;
transition: color 0.2s;
}
.nav-links a:hover {
color: var(--text-primary);
}
.nav-btn {
background: var(--accent);
color: var(--bg-primary) !important;
padding: 8px 20px;
border-radius: 6px;
font-weight: 600;
}
.nav-btn:hover {
background: var(--accent-hover);
}
/* Hero */
.hero {
min-height: 100vh;
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
gap: 60px;
padding: 120px 24px 80px;
max-width: 1400px;
margin: 0 auto;
}
.hero-badge {
display: inline-block;
font-family: 'JetBrains Mono', monospace;
font-size: 0.75rem;
color: var(--accent);
background: var(--accent-glow);
padding: 6px 14px;
border-radius: 20px;
border: 1px solid var(--accent);
margin-bottom: 24px;
letter-spacing: 1px;
text-transform: uppercase;
}
.hero h1 {
font-family: 'JetBrains Mono', monospace;
font-size: 4.5rem;
font-weight: 700;
letter-spacing: 8px;
margin-bottom: 24px;
background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-subtitle {
font-size: 1.25rem;
color: var(--text-secondary);
margin-bottom: 40px;
max-width: 500px;
line-height: 1.8;
}
.hero-buttons {
display: flex;
gap: 16px;
margin-bottom: 60px;
}
.btn {
display: inline-block;
padding: 14px 32px;
border-radius: 8px;
font-weight: 600;
text-decoration: none;
transition: all 0.2s;
font-size: 0.95rem;
}
.btn-primary {
background: var(--accent);
color: var(--bg-primary);
}
.btn-primary:hover {
background: var(--accent-hover);
transform: translateY(-2px);
box-shadow: 0 8px 30px var(--accent-glow);
}
.btn-secondary {
background: transparent;
color: var(--text-primary);
border: 1px solid var(--border);
}
.btn-secondary:hover {
border-color: var(--text-secondary);
background: var(--bg-card);
}
.hero-stats {
display: flex;
gap: 48px;
}
.stat {
display: flex;
flex-direction: column;
}
.stat-value {
font-family: 'JetBrains Mono', monospace;
font-size: 2rem;
font-weight: 600;
color: var(--accent);
}
.stat-label {
font-size: 0.85rem;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 1px;
}
.hero-image {
position: relative;
}
.hero-image img {
width: 100%;
border-radius: 12px;
border: 1px solid var(--border);
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
/* Sections */
section {
padding: 100px 0;
}
section h2 {
font-family: 'JetBrains Mono', monospace;
font-size: 2.5rem;
font-weight: 600;
text-align: center;
margin-bottom: 16px;
letter-spacing: 2px;
}
.section-subtitle {
text-align: center;
color: var(--text-secondary);
font-size: 1.1rem;
margin-bottom: 60px;
}
/* Features */
.features {
background: var(--bg-secondary);
}
.features-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}
.feature-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 12px;
padding: 32px 24px;
transition: all 0.3s;
}
.feature-card:hover {
background: var(--bg-card-hover);
border-color: var(--accent);
transform: translateY(-4px);
}
.feature-icon {
font-size: 2rem;
margin-bottom: 16px;
}
.feature-card h3 {
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 12px;
color: var(--text-primary);
}
.feature-card p {
font-size: 0.9rem;
color: var(--text-secondary);
line-height: 1.7;
}
/* Screenshots */
.screenshot-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 24px;
}
.screenshot-card {
position: relative;
border-radius: 12px;
overflow: hidden;
border: 1px solid var(--border);
transition: all 0.3s;
}
.screenshot-card:hover {
border-color: var(--accent);
transform: scale(1.02);
}
.screenshot-card.main {
grid-row: span 2;
}
.screenshot-card img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.screenshot-label {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 12px 16px;
background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
font-size: 0.85rem;
color: var(--text-primary);
font-weight: 500;
}
/* Installation */
.installation {
background: var(--bg-secondary);
}
.install-options {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
margin-bottom: 48px;
}
.install-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 12px;
padding: 32px;
}
.install-card h3 {
font-size: 1.2rem;
margin-bottom: 20px;
color: var(--text-primary);
}
.code-block {
background: var(--code-bg);
border-radius: 8px;
padding: 20px;
overflow-x: auto;
margin-bottom: 16px;
}
.code-block pre {
margin: 0;
}
.code-block code {
font-family: 'JetBrains Mono', monospace;
font-size: 0.85rem;
color: var(--accent);
line-height: 1.8;
}
.install-note {
font-size: 0.85rem;
color: var(--text-muted);
}
.post-install {
text-align: center;
padding: 32px;
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 12px;
}
.post-install p {
margin-bottom: 8px;
color: var(--text-secondary);
}
.post-install code {
font-family: 'JetBrains Mono', monospace;
background: var(--code-bg);
padding: 4px 10px;
border-radius: 4px;
color: var(--accent);
}
/* Hardware */
.hardware-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 32px;
}
.hardware-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 12px;
padding: 32px;
text-align: center;
position: relative;
}
.hardware-tag {
position: absolute;
top: 16px;
right: 16px;
font-size: 0.7rem;
padding: 4px 10px;
border-radius: 12px;
text-transform: uppercase;
letter-spacing: 1px;
font-weight: 600;
}
.hardware-card.required .hardware-tag {
background: var(--accent-glow);
color: var(--accent);
border: 1px solid var(--accent);
}
.hardware-card.optional .hardware-tag {
background: rgba(136, 136, 160, 0.1);
color: var(--text-secondary);
border: 1px solid var(--border);
}
.hardware-card h3 {
font-size: 1.2rem;
margin-bottom: 12px;
margin-top: 8px;
}
.hardware-card p {
font-size: 0.9rem;
color: var(--text-secondary);
margin-bottom: 16px;
}
.hardware-card .price {
font-family: 'JetBrains Mono', monospace;
font-size: 1.5rem;
color: var(--accent);
font-weight: 600;
}
.hardware-note {
text-align: center;
color: var(--text-muted);
font-size: 0.9rem;
}
/* CTA */
.cta {
background: linear-gradient(135deg, rgba(0, 212, 170, 0.1), rgba(0, 136, 255, 0.1));
text-align: center;
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);
}
.cta h2 {
margin-bottom: 16px;
}
.cta p {
color: var(--text-secondary);
margin-bottom: 32px;
}
.cta-buttons {
display: flex;
justify-content: center;
gap: 16px;
}
/* Footer */
.footer {
background: var(--bg-secondary);
padding: 60px 0 32px;
}
.footer-content {
display: flex;
justify-content: space-between;
align-items: center;
padding-bottom: 32px;
border-bottom: 1px solid var(--border);
margin-bottom: 32px;
}
.footer-logo {
font-family: 'JetBrains Mono', monospace;
font-size: 1.25rem;
font-weight: 600;
color: var(--accent);
letter-spacing: 2px;
}
.footer-brand p {
color: var(--text-muted);
font-size: 0.9rem;
margin-top: 8px;
}
.footer-links {
display: flex;
gap: 32px;
}
.footer-links a {
color: var(--text-secondary);
text-decoration: none;
font-size: 0.9rem;
transition: color 0.2s;
}
.footer-links a:hover {
color: var(--accent);
}
.footer-bottom {
text-align: center;
}
.footer-bottom p {
color: var(--text-muted);
font-size: 0.85rem;
margin-bottom: 8px;
}
.footer-bottom a {
color: var(--accent);
text-decoration: none;
}
.disclaimer {
font-style: italic;
opacity: 0.7;
}
/* Responsive */
@media (max-width: 1024px) {
.hero {
grid-template-columns: 1fr;
text-align: center;
padding-top: 100px;
}
.hero-subtitle {
max-width: 100%;
}
.hero-buttons {
justify-content: center;
}
.hero-stats {
justify-content: center;
}
.hero-image {
order: -1;
max-width: 600px;
margin: 0 auto;
}
.features-grid {
grid-template-columns: repeat(2, 1fr);
}
.screenshot-grid {
grid-template-columns: 1fr;
}
.screenshot-card.main {
grid-row: auto;
}
.install-options {
grid-template-columns: 1fr;
}
.hardware-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 640px) {
.hero h1 {
font-size: 2.5rem;
letter-spacing: 4px;
}
.hero-stats {
flex-direction: column;
gap: 24px;
}
.features-grid {
grid-template-columns: 1fr;
}
.nav-links {
display: none;
}
.footer-content {
flex-direction: column;
gap: 24px;
text-align: center;
}
.cta-buttons {
flex-direction: column;
align-items: center;
}
}