perfocard/gate
最新稳定版本:v2.0.0
Composer 安装命令:
composer require perfocard/gate
包简介
A package for Laravel that globally configures a proxy for all outgoing Http Client requests.
README 文档
README
A lightweight package for Laravel that globally configures the Laravel HTTP Client (Illuminate\Support\Facades\Http) to use a proxy for all outgoing requests.
Features
- Globally injects the
proxyoption into all outgoing HTTP requests - Configurable via
config/gate.php - Simple enable/disable switch
- Throws a clear exception if misconfigured
- Supports
http,https,socks5, etc.
Installation
composer require perfocard/gate
Configuration
Publish the configuration file:
php artisan vendor:publish --provider="Perfocard\Gate\GateServiceProvider" --tag=config
This will create a file at config/gate.php:
return [ 'enabled' => env('GATE_ENABLED', false), // You can specify a single URL or an array of URLs 'urls' => env('GATE_URLS'), // e.g., http://localhost:8080 or socks5://127.0.0.1:9050 ];
In your .env file:
GATE_ENABLED=true
GATE_URLS=http://localhost:8080,http://proxy2:8080,socks5://127.0.0.1:9050
Usage
Once enabled, all HTTP requests using Laravel's HTTP client will automatically include the proxy option:
use Illuminate\Support\Facades\Http; $response = Http::get('https://example.com');
No manual configuration per request is needed.
If you specify multiple URLs in GATE_URLS, Gate will automatically select one of them at random for each application run.
Notes
- If
gate.enabled = truebut no valid proxy URLs are set, aGateNotConfiguredexception will be thrown. - You can specify multiple proxy URLs (comma-separated in the env file or as an array in the config file). One of them will be selected at random.
- Internally, this package uses
Http::globalOptions()to apply the proxy globally.
License
This package is open-sourced software licensed under the MIT license.
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-21