dimkinthepro/wireguard-bundle
Composer 安装命令:
composer require dimkinthepro/wireguard-bundle
包简介
Wireguard bundle for Symfony
README 文档
README
1. Create wireguard bundle configuration:
# config/packages/dimkinthepro_wireguard.yaml dimkinthepro_wireguard: wg_interface: 'wg0' server_interface: 'eth0' # External interface of the server server_external_ip: '93.88.75.12' # External IP of the server server_internal_ip: '10.0.0.1/8' # Will be used for wireguard users peer_allowed_ips: '0.0.0.0/0' # Can be separated by comma: '192.168.1.0/24, 192.168.2.0/24' dns: '8.8.8.8,8.8.4.4' port: '51999'
2. Installation:
composer require dimkinthepro/wireguard-bundle
3. Check bundles config:
# config/bundles.php return [ #... Dimkinthepro\Wireguard\DimkintheproWireguardBundle::class => ['all' => true], ];
4. Grand access to wireguard config for php
chown "www-data:www-data" /etc/wireguard
5. Grand access for php
echo 'www-data ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
6. Usage example
# src/Infrastructure/Service/VpnService.php <?php declare(strict_types=1); namespace App\Infrastructure\Service; use Dimkinthepro\Wireguard\Application\PeerManager; use Dimkinthepro\Wireguard\Application\QrCodeGenerator; use Dimkinthepro\Wireguard\Application\VpnConfigMaker; use Dimkinthepro\Wireguard\Application\VpnManager; use Dimkinthepro\Wireguard\Domain\Entity\Peer; class VpnService { public function __construct( private readonly VpnManager $vpnManager, private readonly PeerManager $peerManager, private readonly VpnConfigMaker $vpnConfigMaker, private readonly QrCodeGenerator $qrCodeGenerator, ) { } public function createPeer(): Peer { $peer = new Peer(); $peer->setId(1); $this->peerManager->setupKeyPairs($peer); $this->peerManager->setupIp($peer); return $peer; } public function upServer(Peer $peer): void { $config = $this->vpnConfigMaker->makeServerConfig($peer); $this->vpnManager->applyConfig($config); $this->vpnManager->up(); } public function getQrCode(Peer $peer): string { $peerConfig = $this->vpnConfigMaker->makePeerConfig($peer); return $this->qrCodeGenerator->getQrCodeImage($peerConfig); } }
dimkinthepro/wireguard-bundle 适用场景与选型建议
dimkinthepro/wireguard-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8 次下载、GitHub Stars 达 1, 最近一次更新时间为 2023 年 11 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「symfony」 「bundle」 「vpn」 「WireGuard」 「wire-guard」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 dimkinthepro/wireguard-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 dimkinthepro/wireguard-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 dimkinthepro/wireguard-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
2lenet/EasyAdminPlusBundle
The bundle for easy using json-rpc api on your project
Provide a way to secure accesses to all routes of an symfony application.
DMS Meetup API Bundle, enables Meetup API clients in services
Bundle Symfony DaplosBundle
A Laravel package from Trustip.io for VPN and Proxy detection, it allows you to check if an IP address is a Proxy, VPN, TOR, Hosting, Bad search engine robots or not.
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-11-05