@extends('layouts.app') @push('style') @endpush @section('content') {{-- Page header --}}

Geo Firewall

Click countries on the map to toggle allow/block. Private ranges are always bypassed.
Reload
@if (session('status')) @endif @if ($errors->any())
@foreach ($errors->all() as $e)
{{ $e }}
@endforeach
@endif {{-- KPI cards --}}
@php $isWhitelist = $mode === 'whitelist'; $isBlacklist = $mode === 'blacklist'; @endphp
Filter Mode
{{ $mode ?: 'Inactive' }}
{{ $isWhitelist ? 'Only allowed countries connect' : ($isBlacklist ? 'Listed countries are blocked' : 'No filter active') }}
Allowed Countries
{{ $allowCount }}
Permitted to access
Blocked Countries
{{ $blockCount }}
Explicitly blocked
Firewall Status
{{ $hooked ? 'Active' : 'Inactive' }}
{{ $chainExists ? 'Rules are enforced' : 'Rules not yet applied' }}
{{-- Interactive Map Card --}}
World Map
Allowed Blocked No rule
Click a country to toggle · Right-click to clear
{{-- Active Rules Table --}}
Active Rules {{ $countries->count() }}
@forelse ($countries as $c) @empty @endforelse
Country Code Action Remove
{{ $c->country_name }} {{ strtoupper($c->country_code) }} {{ strtoupper($c->action) }}
No rules yet — click countries on the map.
@if (session('geo_debug'))
Last Apply Debug
{{ session('geo_debug') }}
@endif {{-- Hidden tooltip --}}
@push('plugin-scripts') {{-- jQuery (required by jVectorMap) --}} {{-- jVectorMap core + world-mill map data (ika.jvectormap bundles both) --}} @endpush @push('custom-scripts') @endpush @endsection