validurl in api

This commit is contained in:
Mateusz Gruszczyński
2026-02-05 12:49:35 +01:00
parent 094480eb28
commit b3db12ba41
2 changed files with 22 additions and 6 deletions

View File

@@ -445,6 +445,22 @@ def add_header(response):
return response return response
@app.context_processor
def inject_config():
"""Inject configuration variables into templates"""
from flask import request
def get_base_url():
# Construct base URL from request
scheme = request.headers.get('X-Forwarded-Proto', request.scheme)
host = request.headers.get('X-Forwarded-Host', request.host)
return f"{scheme}://{host}"
return dict(
base_url=get_base_url,
request=request
)
# ============================================================================ # ============================================================================
# WEB ROUTES # WEB ROUTES
# ============================================================================ # ============================================================================

View File

@@ -14,7 +14,7 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="alert alert-info"> <div class="alert alert-info">
<h5 class="alert-heading"><i class="fas fa-info-circle"></i> API Information</h5> <h5 class="alert-heading"><i class="fas fa-info-circle"></i> API Information</h5>
<p class="mb-1"><strong>Base URL:</strong> <code>http://localhost:5000</code></p> <p class="mb-1"><strong>Base URL:</strong> <code id="baseUrl">{{ base_url() }}</code></p>
<p class="mb-1"><strong>Format:</strong> JSON</p> <p class="mb-1"><strong>Format:</strong> JSON</p>
<p class="mb-0"><strong>Authentication:</strong> None (local use)</p> <p class="mb-0"><strong>Authentication:</strong> None (local use)</p>
</div> </div>
@@ -93,7 +93,7 @@
</button> </button>
<pre class="mb-0"><code class="language-python">import requests <pre class="mb-0"><code class="language-python">import requests
response = requests.post('http://localhost:5000/api/analyze', response = requests.post('{{ base_url() }}/api/analyze',
json={'ips': '1.1.1.1, 8.8.8.8, 9.9.9.9'}) json={'ips': '1.1.1.1, 8.8.8.8, 9.9.9.9'})
data = response.json() data = response.json()
@@ -123,12 +123,12 @@ for ip_info in data['results']:
<pre class="mb-0"><code class="language-python">import requests <pre class="mb-0"><code class="language-python">import requests
# First, analyze # First, analyze
analyze_response = requests.post('http://localhost:5000/api/analyze', analyze_response = requests.post('{{ base_url() }}/api/analyze',
json={'ips': 'your IP list...'}) json={'ips': 'your IP list...'})
results = analyze_response.json()['results'] results = analyze_response.json()['results']
# Then filter # Then filter
filter_response = requests.post('http://localhost:5000/api/filter', filter_response = requests.post('{{ base_url() }}/api/filter',
json={ json={
'results': results, 'results': results,
'filters': { 'filters': {
@@ -161,7 +161,7 @@ print(f"Filtered: {len(filtered)} IPs")</code></pre>
</button> </button>
<pre class="mb-0"><code class="language-python">import requests <pre class="mb-0"><code class="language-python">import requests
response = requests.post('http://localhost:5000/api/export/ipset', response = requests.post('{{ base_url() }}/api/export/ipset',
json={ json={
'ips': ['1.1.1.1', '8.8.8.8'], 'ips': ['1.1.1.1', '8.8.8.8'],
'timeout': 43200 # 12 hours 'timeout': 43200 # 12 hours
@@ -274,7 +274,7 @@ print("Saved to block_ips.sh")</code></pre>
</button> </button>
<pre class="mb-0"><code class="language-python">import requests <pre class="mb-0"><code class="language-python">import requests
BASE_URL = 'http://localhost:5000' BASE_URL = '{{ base_url() }}'
# 1. Analyze IPs from log file # 1. Analyze IPs from log file
with open('/var/log/attacks.log', 'r') as f: with open('/var/log/attacks.log', 'r') as f: