{{ __('PPPoE Setup') }}
@if($selectedRouter) @endif
@if(!$selectedRouter)
{{ __('Select a connected router.') }}
@else {{-- SERVERS --}} @if($activeTab==='servers')
{{ $editServerId ? __('Edit PPPoE Server') : __('Add PPPoE Server') }}
@error('srv_service_name')
{{ $message }}
@enderror
@error('srv_interface')
{{ $message }}
@enderror
@if($editServerId) @endif
{!! __('PPPoE Servers on :router', ['router' => '' . e($selectedRouter) . '']) !!}
@forelse($pppoeServers as $srv) @empty @endforelse
{{ __('Service Name') }}{{ __('Interface') }}{{ __('Auth') }}{{ __('Action') }}
{{ $srv['service-name'] ?? '-' }} {{ $srv['interface'] ?? '-' }} {{ $srv['authentication'] ?? '-' }}
{{ __('No PPPoE servers found.') }}
@endif {{-- PROFILES --}} @if($activeTab==='profiles')
{!! __('PPP Profiles on :router', ['router' => '' . e($selectedRouter) . '']) !!} {{ count($pppProfiles) }} {{ __('Found') }}
@forelse($pppProfiles as $p) @empty @endforelse
{{ __('Name') }}{{ __('Rate Limit (Up/Down)') }}{{ __('Local Addr') }}{{ __('Remote Addr') }}{{ __('Comment') }}
{{ $p['name'] ?? '-' }} {{ $p['rate-limit'] ?? '-' }} {{ $p['local-address'] ?? 'default' }} {{ $p['remote-address'] ?? 'default' }} {{ $p['comment'] ?? '' }}
{{ __('No profiles found on this router.') }}
{!! __('Note: To add or edit packages, please go to the :link menu.', ['link' => '' . __('Package List') . '']) !!}
@endif {{-- SECRETS --}} @if($activeTab==='secrets')
{{ $editSecretId ? __('Edit PPP Secret') : __('Add PPP Secret') }}
@if($editSecretId) @endif
{!! __('PPP Secrets on :router', ['router' => '' . e($selectedRouter) . '']) !!}
@forelse($pppSecrets as $s) @empty @endforelse
{{ __('Name') }}{{ __('Profile') }}{{ __('Service') }}{{ __('IP') }}{{ __('Comment') }}{{ __('Action') }}
{{ $s['name'] ?? '-' }} {{ $s['profile'] ?? '-' }} {{ $s['service'] ?? '-' }} {{ $s['caller-id'] ?? '' }} {{ $s['comment'] ?? '' }}
{{ __('No PPP secrets found.') }}
@endif {{-- OVPN --}} @if($activeTab === 'ovpn')
{{ __('OpenVPN Config') }}
{{ __("Default is usually 'ovpn-server1'.") }}
@foreach(['disabled', 'def1', 'ipv6'] as $opt) @endforeach
@foreach(['sha1', 'md5', 'sha256', 'sha512', 'sha384', 'null'] as $a) @endforeach
@foreach(['aes128-cbc', 'aes256-cbc', 'blowfish', 'aes128-gcm', 'aes192-gcm', 'aes256-gcm', 'null'] as $c) @endforeach
{{ __('Active OVPN Clients') }}
{{ count(array_filter($activeSessions, fn($s) => str_contains(strtolower($s['service'] ?? ''), 'ovpn'))) }} {{ __('Online') }}
@php $ovpnActive = array_filter($activeSessions, fn($s) => str_contains(strtolower($s['service'] ?? ''), 'ovpn')); @endphp @forelse($ovpnActive as $s) @empty @endforelse
{{ __('User') }}{{ __('Address') }}{{ __('Uptime') }}{{ __('Service') }}
{{ $s['name'] ?? '-' }} {{ $s['address'] ?? '-' }} {{ $s['uptime'] ?? '-' }} {{ $s['service'] ?? '-' }}
{{ __('No active OVPN clients detected on :router.', ['router' => $selectedRouter]) }}
{{ __('OVPN Configuration Clarification') }}
{{ __('MODE (Tun vs Tap)') }}

{!! __('Use :tun for standard VPN connections on Android, iOS, and Windows. Only use :tap if you are doing Layer 2 bridging, usually for router-to-router links.', ['tun' => 'IP (Tun)', 'tap' => 'Ethernet (Tap)']) !!}

{{ __('CERTIFICATE REQUIREMENTS') }}

{!! __("The selected certificate MUST have a :key imported. For public connections, ensure the certificate's 'Common Name' matches your router's Public IP or DDNS. Most clients expect a CA-signed cert.", ['key' => 'Private Key']) !!}

{{ __('FIREWALL RULES') }}

{!! __('Manually add a rule in :code: :br Chain: :input | Protocol: :protocol | Dst. Port: :port | Action: :accept', ['code' => '/ip firewall filter', 'br' => '
', 'input' => 'input', 'protocol' => '' . e($ovpn_protocol) . '', 'port' => '' . e($ovpn_port) . '', 'accept' => 'accept']) !!}

@endif {{-- SESSIONS --}} @if($activeTab==='active')
{!! __('Active PPP Sessions on :router', ['router' => '' . e($selectedRouter) . '']) !!}
@forelse($activeSessions as $s) @empty @endforelse
{{ __('Name') }}{{ __('Service') }}{{ __('Address') }}{{ __('Uptime') }}{{ __('Caller ID') }}
{{ $s['name'] ?? '-' }} {{ $s['service'] ?? '-' }} {{ $s['address'] ?? '-' }} {{ $s['uptime'] ?? '-' }} {{ $s['caller-id'] ?? '-' }}
{{ __('No active sessions.') }}
@endif @endif