По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Протокол передачи файлов (FTP) был широко используемым протоколом для удаленной передачи файлов или данных в незашифрованном формате, что не является безопасным способом связи. Поскольку все мы знаем, что FTP совсем не безопасен, потому что все передачи происходят в незашифрованном тексте, и данные могут быть прочитаны кем угодно во время прослушивания пакетов в сети. Таким образом, в основном FTP можно использовать в ограниченных случаях или в сетях, которым вы доверяете. Какое-то время SCP и SSH устраняли эту неоднозначность безопасности и добавляли зашифрованный уровень защиты при передаче данных между удаленными компьютерами. SFTP (Secure File Transfer Protocol) по умолчанию работает по протоколу SSH на стандартном порту 22 для установления безопасного соединения. SFTP был интегрирован во многие инструменты GUI (FileZilla, WinSCP, FireFTP и так далее). Предупреждение безопасности: Пожалуйста, не открывайте порт SSH (Secure SHell) глобально, так как это может привести к нарушениям безопасности. Вы можете открыть только для определенного IP-адреса, с которого вы собираетесь передавать или управлять файлами в удаленной системе или наоборот. Эта статья познакомит вас с 10 примерами команд sftp, которые вы можете использовать через интерфейс командной строки. Как подключиться к SFTP По умолчанию один и тот же протокол SSH используется для проверки подлинности и установления соединения SFTP. Чтобы начать сеанс SFTP, введите имя пользователя и имя удаленного хоста или IP-адрес в командной строке. После успешной аутентификации вы увидите оболочку с приглашением sftp>. [root@merionet ~]# sftp merionet@127.48.137.6 Connecting to 127.48.137.6... merionet@127.48.137.6's password: sftp> Получение помощи Оказавшись в командной строке sftp проверьте доступные команды, набрав ‘? ‘ Или ‘help’ в командной строке. sftp> ? Available commands: cd path Change remote directory to 'path' lcd path Change local directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' help Display this help text get remote-path [local-path] Download file lls [ls-options [path]] Display local directory listing ln oldpath newpath Symlink remote file lmkdir path Create local directory lpwd Print local working directory ls [path] Display remote directory listing lumask umask Set local umask to 'umask' mkdir path Create remote directory put local-path [remote-path] Upload file pwd Display remote working directory exit Quit sftp quit Quit sftp rename oldpath newpath Rename remote file rmdir path Remove remote directory rm path Delete remote file symlink oldpath newpath Symlink remote file version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help Проверьте текущий рабочий каталог Команда «lpwd» используется для проверки локального текущего рабочего каталога, а команда «pwd» - для проверки удаленного рабочего каталога. sftp> lpwd Local working directory: / sftp> pwd Remote working directory: /merionet/ Список файлов Перечисление файлов и каталогов как в локальной, так и в удаленной системе. sftp> ls [На локальной] sftp> lls [На удаленной] Загрузить файл Поместите один или несколько файлов в удаленную систему. sftp> put local.profile Uploading local.profile to /merionet/local.profile Загрузить несколько файлов Размещение нескольких файлов на удаленной системе. sftp> mput *.xls Скачать файлы Получение одного или нескольких файлов в локальной системе. sftp> get SettlementReport_1-10th.xls Fetching /merionet/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls Получить несколько файлов в локальной системе. sftp> mget *.xls Примечание: Как мы видим по умолчанию, команда get загружает файл в локальной системе с тем же именем. Мы можем скачать удаленный файл с другим именем, указав имя в конце (это применимо только при загрузке одного файла). Переключение каталогов Переключение из одного каталога в другой в локальных и удаленных местах. sftp> cd test [На локальной] sftp> lcd Documents [На удаленной] Создать каталоги Создание новых каталогов в локальных и удаленных местах. sftp> mkdir test [На локальной] sftp> lmkdir Documents [На удаленной] Удалить каталоги Удалить каталог или файл в удаленной системе. sftp> rm Report.xls [На локальной] sftp> rmdir sub1 [На удаленной] Примечание: чтобы удалить любой каталог из удаленного расположения, каталог должен быть пустым. Выход из sFTP Shell Команда ‘!’ выкидывает нас в локальную оболочку, откуда мы можем выполнять команды Linux. Введите команду ‘exit’, после чего мы сможем увидеть подсказку sftp>. sftp> ! [root@sftp ~]# exit Shell exited with status 1 sftp>
img
Друзья, сегодня речь пойдет о синтезе речи в Asterisk. Этот простой способ позволит вам озвучивать требуемое голосовое сообщение в структурах IVR или обычных приветствиях. Да где угодно. Профит этого решения: Единый голос для всех аудио – файлов; Кэширование и сохранение озвученных текстов, фраз в виде медиа - файлов, для последующего использования на Asterisk; Получаем токен Приступим. Прежде всего нужно получить API - токен на использование сервиса от Яндекс. Этот процесс расписан в статье по ссылке ниже (раздел Получение API - токена Yandex.SpeechKit): Получение токена Возвращайтесь с токеном и будем приступать к коду :) Кодим! Для начала создадим директорию /var/lib/asterisk/tts/ и дадим права. Там мы будем хранить текстовый файл, благодаря которому, сможем идентифицировать аудио – файлы по совпадению MD5 названия. Внутри файла будет фраза: mkdir /var/lib/asterisk/tts/ chown asterisk:asterisk /var/lib/asterisk/tts/ chmod 775 /var/lib/asterisk/tts/ В зависимости от дистрибутива и вариантов установки IP – АТС Asterisk, звуковые файлы могут располагаться в другой директории. Вы можете самостоятельно поправить это в скрипте. Использовать будем AGI приложение. Традиционно, комментарии к коду прикладываются: #!/usr/bin/php -q <?php error_reporting(0); // выключаем ошибки, необязательно, нужно в процесcе дебага скрипта require('phpagi.php'); $agi = new AGI(); $str = $agi->request['agi_arg_1']; //записываем в переменную текст, который необходимо озвучить $str = iconv('cp1251', 'utf-8', $str); // конвертируем в кириллическую кодировку $md5 = md5($str); //вычисляем md5 - хэш от переменной $str $prefix = '/var/lib/asterisk/sounds/ru/custom/'; //устанавливаем директорию для файлов. Мы ее создавали по ходу движения $filename = $prefix.$md5; //устанавливаем название файла(оно будет равно md5 текста) $format = 'wav'; //устанавливаем формат получаемого файла от Яндекс $quality = 'hi'; //устанавливаем качество $speaker = 'oksana'; //выбираем голос. На момент написания статьи доступны женские голоса: jane, oksana, alyss и omazh и мужские голоса: zahar и ermil. $emotion = 'evil'; // выбираем интонацию голоса, good — радостный, доброжелательный, evil — раздраженный, neutral — нейтральный (используется по умолчанию). Будем злее :) $speed = '0.9'; // данный параметр отвечает за скорость (темп) речи, подбирается опытным путем на слух, в данном случае оптимальный $key = 'Ваш_токен'; //ваш токен, который вы получили ранее. if (!file_exists($filename.'.wav')) { $qs = http_build_query(array("format" => $format,"quality" => $quality,"lang" => "ru-RU","speaker" => $speaker,"speed" => $speed,"key" => $key,"emotion" => $emotion, "text" => $str)); //формируем строку запроса $ctx = stream_context_create(array("http"=>array("method"=>"GET","header"=>"Referer: "))); $soundfile = file_get_contents("https://tts.voicetech.yandex.net/generate?".$qs, false, $ctx); //запрашиваем файл $file = fopen("file1.wav", "w"); //открываем файл для записи fwrite($file, $soundfile); // пишем в файл данные fclose($file); //закрываем файл shell_exec('sox -t raw -r 48k -e signed-integer -b 16 -c 1 file1.wav -t wav -r 8k -c 1 '.$filename.'.wav'); //конвертируем файл под требования Asterisk и закидываем в директорию для аудио shell_exec('chown asterisk:asterisk '.$filename.'.wav'); shell_exec('chmod 775 '.$filename.'.wav'); // даем файлу нужные пермишны; shell_exec('rm -f file1.wav'); // удаляем файл, который создали в процессе обращения к API; shell_exec('echo '.$str.' > /var/lib/asterisk/tts/'.$md5.'.txt'); // добавляем магии ;-) о ней ниже в тексте статьи. } $agi->exec('Playback',"custom/$md5"); //проигрываем файл звонящему. Скачать скрипт синтеза речи После загрузки файла, сохраните его с расширением .php Сохраняем скрипт как texttospeech.php и закидываем его в директорию /var/lib/asterisk/agi-bin. После, даем последовательность следующих команд: dos2unix /var/lib/asterisk/agi-bin/texttospeech.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/texttospeech.php chmod 775 /var/lib/asterisk/agi-bin/texttospeech.php Как вы могли заметить, скрипт настраивается. Голос, интонация, скорость речи, качество получаемого файла – подлежат корректировке для вашей задачи. Схема работы всего процесса следующая: Скрипт получает из диалплана текст по AGI и сохраняет в переменной; Если у нас уже существует аудио – файл для заранее записанной фразы, мы отдаем в диалплан команду на воспроизведение. Если нет – обращаемся к API; Скрипт отправляет запрос в сторону API Яндекса; Происходит конвертация полученного аудио – файла в нужный формат; Даем права файлу для воспроизведения на Asterisk и удаляем временный файл; Делаем отметку о создании файла в служебный текстовый файл; Воспроизводим файл; А как заставить скрипт работать? Очень просто. Открываем файл /etc/asterisk/extensions_custom.conf для редактирования и добавляем в него следующую запись: [text_to_speech] exten => s,1,Answer() exten => s,2,AGI(texttospeech.php,"Привет! Это Мерион Нетворкс. Если ты слышишь это сообщение, значит все сделал правильно!") Сохраняем изменения и прыгаем в FreePBX. Будем вызывать кастомный контекста из FreePBX. Для этого воспользуемся модулем Custom Destinations. Переходим по пути Admin → Custom Destinations и нажимаем Add Destination: Настроили и сохранили. Наша задумка такова – человек звонит на наш номер, набирает 13 и попадает на синтезированное сообщение. Переходим в главный IVR и в секции IVR Entries добавляем следующее: Звоним, проверяем. Работает :) Если хотите заменить фразу, которую нужно озвучить, просто поправьте ее в файле /etc/asterisk/extensions_custom.conf.
img
Основной задачей, серверов является быть площадкой для функционирования серверного ПО или предоставления сервиса от (англ. Service - Сервис). Одним из основных сервисов в офисе, является сервис доступа к Internet для сотрудников офиса. Данный сервис необходимо предоставлять для сотрудников в целях осуществления ими своих служебных обязанностей. Обычно данный сервис, предоставляется по заранее определенным правилам для данного офиса или сотрудников. Классическим вариантом для предоставления данного сервиса является ОС CentOS 7 + Squid. Данная Связка очень распространена. Будем считать, что у нас имеется уже установленная ОС CentOS7 с подключением в интернет и доступна по порту 22 ssh для настройки. Установка Первое, что нам необходимо сделать это обновить ОС. yum update Если машина является прокси сервером, то логично предположить, что у нее должен быть включен Firewall, следовательно, нам нужно открыть во внутрь порт, на который сервис squid будет принимать подключения от клиентов внутренней сети. В большинстве случаев используют порт 3128, но можно взять любой не занятый. Настраиваем правило на Firewall: firewall-cmd --permanent --add-port=3128/tcp И обязательно надо перезапустить сервис: firewall-cmd --reload Далее переходим к установке и настройке непосредственно самого Squid. Установка производится следующей командой: yum install squid -y Открываем файл конфигурации для правки и добавления: nano /etc/squid/squid.conf В конфигурации прописаны стандартные подсети, но иногда подсеть пользовательских ПК не совпадает со стандартной или не входит, то вносим ее в конфигурационный файл acl localnet src 217.33.25.0/24 Чтобы наш прокси сервер пропускал любой трафик, необходимо добавить следующую строчку в конфигурацию http_access allow all Очень важно, чтобы данная строчка была в конфигурации выше строчки запрещающего правила. Запрещающая строчка выглядит так: http_access deny all Следующим шагом необходимо настроить каталок для кэша: cache_dir ufs /var/spool/squid 8192 32 256 В данной команде ufs - файловая система для squid данная файловая система используется для squid, путь для хранения кэша, 8192 - размер в МБ сколько будет выделено под кэш, 32 количество каталогов первого уровня для размещения кэша, 256 количество каталогов второго уровня. Следующим шагом будет создание структуры директорий для кэширования. Это можно сделать следующей командой: squid -z и вот наш прокси-сервер уже готов можно запускать прокси сервер, командой: systemctl start squid. А чтобы необходимый сервис запускался автоматически после перезагрузки или отключения сервера добавляем сервис наш в автозапуск: systemctl enable squid Дополнительной настройки для https не требуется все должно работать по умолчанию. И обязательно перезагрузить squid следующей командой systemctl restart squid Для управления squid можно пользоваться командой service status squid, service stop squid. Если сделанные изменения не затрагивают глобальных параметров, можно вообще не перезапускать сервис целиком, а дать команду squid перечитать конфиг squid -k reconfigure. Сервер для приема и проксирования соединений готов. Следующей задачей является настройка клиентских ПК для его использования. Если офис не большой 20-30 пользователей можно решить задачу, что называется в лоб. Сделать настройку в браузере в ручном режиме: Идем, Панель управления → Свойства Браузера → Подключения → Настройка сети → убираем галочку "Автоматическая настройка сети", добавляем галочку в поле "Прокси-Сервер", использовать прокси сервер для локальных подключений, в поле адрес прописываем или FQDN имя сервера и в поле порт 3128. Важный момент! FQDN имя сервера должно правильно разрешатся в DNS службе, указанной в настройках сетевого подключения. Проверить можно просто, открываем командную строку и пишем nslookup FQDN, если команда возвращает правильный ip адрес, то все сделано правильно. Рассмотрим вариант, когда у нас большое количество пользовательских ПК 100+. Естественно в такой ситуации проблематично сразу, всем сделать настройку для использования прокси-сервера. Самый оптимальный путь в данном случае это настройка параметров браузера, через WPAD файл и доставка на ПК сотрудника через web сервис. Устанавливаем web сервис: yum install httpd -y Переходим в рабочий каталог: cd /var/www/html Создаем новый файл командой touch wpad.dat и приводим его вот к такому виду, как на картинке: Файл состоит из java скрипта основная строчка return "PROXY FQDN:3128"; Это то, что попадет в настройки в веб браузеры ваших пользователей. Первая часть готова! Далее нам надо доставить данные настройки конечным пользователям. В этом нам поможет DHCP. Можно конечно сделать, через DNS, но там больше мороки на мой взгляд. Проще всего использовать DHCP сервер, но для этого необходимо внести коррективы и добавить дополнительную опцию 252, где будет указан url файла авто настройки. Данная опция может применятся на машину или на целую подсеть, а далее уже вместе с остальными настройками попадает на конечную машину пользователя. Запускаем веб и ставим в автозагрузку: systemctl start httpd systemctl enable httpd DHCP сервер настраивается следующим образом: Открываем консоль управление DHCP сервера. В свойствах сервера выбираем управление опциями -Set predefined Option. И добавляем опцию 252 - Имя -WPAD, код 252 Тип данных - String, Описание Web Proxy WPAD. Затем в поле String добавляем значение URL по умолчанию и сохраняем параметр. После этого мы можем данную опцию применять, либо к серверу в целом либо к определенной областиподсети адресов.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59