Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Files Cdn Laravel Package

baks-dev/files-cdn

View on GitHub
Deep Wiki
Context7

BaksDev Files Cdn

Version php 8.4+ packagist

Модуль CDN файловых ресурсов

Установка

Рекомендуется установить на отдельный сервер с отдельным доменом!

$ composer require baks-dev/files-cdn

Настройки

Добавить директорию и установить права для загрузки файлов:

$ sudo mkdir <path_to_project>/public/upload
$ chown -R unit:unit <path_to_project>/public/upload

Генерируем дайджест пароля:

$ php bin/console security:hash-password

В файле конфигурации <path_to_cdn_project>/config/packages/security.php указываем настройку авторизации, указав результат хеширования пароля

  • <user> - пользователь (UUIDv7)
  • <hash-password-result> - результат хеширования пароля
<?php

namespace Symfony\Component\DependencyInjection\Loader\Configurator;

use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
use Symfony\Config\SecurityConfig;

return static function(SecurityConfig $config) {
	
	$config->enableAuthenticatorManager(true);

	$config->firewall('dev')
		->pattern('^/(_(profiler|wdt)|css|images|js)/')
		->security(false)
	;

	$config->passwordHasher(PasswordAuthenticatedUserInterface::class)->algorithm('bcrypt');

	$config->provider('in_memory_users')
		->memory()
		->user('<user>')
		->password('<hash-password-result>')
		->roles(['ROLE_CDN'])
	;
	
	$config->firewall('main')
		->pattern('^/cdn/upload')
		->provider('in_memory_users')
		->httpBasic()
	;
};

В основном проекте в файле environment <path_to_cdn_project>/.env указываем хост CDN и пароль для авторизации доступа

  • <user> - пользователь
  • <you-plain-password> - тектсовое представление пароля
###> CDN ###
CDN_HOST=cdn.example.host
CDN_USER=<user>
CDN_PASS=<you-plain-password>

Лицензия License

The MIT License (MIT). Обратитесь к Файлу лицензии за дополнительной информацией.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator