По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Прогресс не стоит на месте и постепенно, телефонные станции на базе IP вытесняют устаревшие аналоговые АТС. При миграции с аналоговой на IP – АТС, основной головной болью для бизнеса является сохранение телефонной емкости, которая была подключена к аналоговой АТС и к которой так привыкли постоянные клиенты. В данном случае на помощь приходит FXO шлюз. Забегая вперед хочется отметить, что процесс подключения аналоговых линий всегда сложен: возникает множество проблем с корректной передачей CallerID, определением Busy Tones (сигналов занято), шумами или помехами на линии и прочими неприятностями. Итак, если вас не отпугивает вышеперечисленные трудности, то мы с радостью спешим рассказать как настроить бюджетный VoIP шлюз D-Link DVG-7111S и подключить его к IP-АТС Asterisk. Данная статья будет полезна тем, кто имеет аналоговые телефонные линии и хочет скрестить их сетью VoIP. Что такое FXO и FXS? Зачастую, некоторые компании, по тем или иным причинам, не могут отказаться от использования старых аналоговых линий. Причин может быть множество, например, провайдер может отказаться переводить на протокол SIP номер, который многие годы знают все заказчики или невозможность миграции со старой мини-АТС. Именно для таких случаев необходим VoIP-шлюз, который позволит состыковать устройства разных поколений. Разберемся с терминологией. Для соединения IP-АТС с аналоговыми линиями служат интерфейсы FXO (Foreign eXchange Office) и FXS (Foreign Exchange Station). Интерфейс FXS – это порт, с помощью которого аналоговый абонент подключается к аналоговой телефонной станции. Простейшим примером может служить телефонная розетка в стене у Вас дома. FXO – это интерфейс, в который включаются аналоговые линии. Следовательно, любая аналоговая линия имеет два конца, на одном из который интерфейс FXS (АТС), а на другом FXO (Телефон). Другими словами, чтобы было совсем понятно: FXS - если вам требуется подключить аналоговый телефон к IP – АТС, то воспользуйтесь FXS портом (шлюзом) FXO - если вам требуется подключить аналоговую линию от провайдера к IP – АТС, то воспользуйтесь FXO портом (шлюзом) Таким образом, для того чтобы скрестить сеть VoIP с аналоговой нам нужно иметь такое адаптирующее устройство, которое бы преобразовывало сигналы аналоговой телефонной линии в сигналы VoIP. Настройка В нашем примере мы имеем в распоряжении: аналоговую линию от провайдера услуг, IP-АТС Asterisk и шлюз D-Link DVG-7111S. Первое, что необходимо сделать – включить шлюз в одну сеть с IP-АТС Asterisk с помощью интерфейса WAN, порт LAN подключить в локальный свич, а также подключить имеющуюся аналоговую линию в порт FXO на шлюзе. Теперь шлюз можно найти по адресу 192.168.8.254, только предварительно нужно на управляющей АРМ настроить адрес 192.168.8.1. Перед нами открывается вэб-интерфейс, через который можно управлять шлюзом. Стандартный логин admin без пароля. Теперь необходимо сконфигурировать дополнительные сетевые настройки. Для этого переходим в раздел Setup -> Internet Setup и настраиваем новый адрес шлюза из той же сети, в которой находится Asterisk, а также адреса серверов DNS. Жмём Apply Далее переходим на вкладку VoIP Setup и настраиваем следующие параметры: PHONE 1 - FXS Настраивается если у вас есть отдельный аналоговый телефон. Сюда заносим его Extension, который зарегистрирован на Asterisk. В разделе PHONE 2 - FXO настраиваются параметры имеющейся аналоговой линии в соответствии с настройками транка на Asterisk. Номер и пароль на шлюзе и на Asterisk должна совпадать. В разделе SIP PROXY SERVER настраиваются параметры подключения к IP-Атс Asterisk. Указываем IP-адрес нашего сервера, порт (по умолчанию 5060) и время регистрации TTL. Нажимаем Apply. Во вкладке LAN Setup выбираем режим Bridge, всё остальное оставляем без изменений. Переходим в раздел ADVANCED -> VOIP CODECS и настраиваем нужный приоритет голосовых кодеков. В разделе CPT/ Cadence рекомендуем выключить опцию BTC, поскольку разные провайдеры могут по-разному отдавать сигнал “Занято” это может являться причиной внезапных обрывов. В разделе HOT LINE включаем данную функцию и вписываем номер телефонной линии. Теперь, при звонке из ТФоП, шлюз сам наберет данный номер с минимальной задержкой и вызов пойдёт через Asterisk. На этом настройка шлюза завершена, рекомендуем провести следующий набор действий MAINTENANCE -> Backup and Restore -> System--Save and Reboot -> Save all settings -> Reboot Настройка FreePBX Теперь необходимо на IP-АТС Asterisk создать соответствующий транк. В нашем случае, транк для подключения аналоговой линии от D-Link будет выглядеть так: В разделе sip Settings -> Outgoing указываем адрес, который настраивали на шлюзе host=192.168.1.2 //ip - адрес шлюза port=5060 context=from-trunk qualify=yes type=peer insecure=no В разделе sip Settings -> Incoming настраиваем такие же параметры аналоговой линии, которые настраивали на шлюзе. Номер и пароль должны совпадать. host=dynamic username=495123456 secret=тут_ваш_пароль context=from-trunk qualify=yes type=friend insecure=no Готово! Осталось только настроить входящую и исходящую маршрутизацию. О ее настройке можете почитать по ссылке ниже: Настройка маршрутизации вызовов
img
Каждый день на сайт заходят тысячи поисковых роботов/ботов, и очень немногие из них помогают. Некоторые из них вообще являются продуктами злоумышленных целей ботами или спамом. Откуда можно узнать, сколько разных ботов посещают ваши веб-сайты? На самом деле, однозначного ответа нет. Для этого необходимо просмотреть файл access.log веб-сервера и найти столбец User-Agent. Допустим, вы хотите перечислить все боты, кроме Googlebot, тогда вы можете выполнить следующую команду на вашем веб-сервере, где существует файл access.log. grep bot access.log |grep -v Googlebot Вас тоже удивил результат? Вот, что выдал тот же запрос на моем сервере: root@gf-prod:nginx# grep bot access.log |grep -v Googlebot | wc -l 616834 root@gf-prod:nginx# Прежде чем блокировать что-либо, необходимо просмотреть их и убедиться, что вы не блокируете то, что используется вашим приложением. Вообще, есть много способов блокировки ботов, но я всегда предпочитаю блокировать их на границе. Причина проста - бесполезные запросы вообще не должны попадать и обрабатываться веб-сервером. А теперь, давайте узнаем, как блокировать ботов, которые вам не нужны, с помощью брандмауэра Cloudflare. Заходим на панель управления Cloudflare; Переходим на вкладку Firewall, затем - правила firewall и нажимаем на кнопку создать правило firewall. Вводим название правила; В качестве фильтра выбираем User Agent, оператор - contains, а в качестве значения - название бота, которое нужно заблокировать; Чтобы добавить несколько критериев в одно правило используйте оператор OR. Примечание: боты, указаны в целях демонстрации, они не обязательно вредоносные. Затем в качестве действия выбираем Block и нажимаем Deploy; Если умеете работать с выражениями, то тоже самое можете сделать кликнув на ссылку Edit expression. Сразу после применения, можно будет увидеть созданное правило. Чтобы данное правило применялось к трафику, переключатель состояния должен быть ON. Легко, не так ли? Что еще можно сделать, экспериментируя с правилами межсетевого экрана? Для повышения безопасности можно применять указанные ниже критерии блокировки: Блокировать если запрос идет с конкретного ASN или IP адреса; По соответствию ключевым словам cookie, referrer, X-Forwarder-for; Блокировка запросов из конкретной страны; Отключение нежелательных HTTP-методов в роде PUT, DELETE, OPTIONS, PURGE и т.д. И другие подобные опции. Все это можно выполнить как с помощью графического интерфейса, так и редактированием выражений. Изменения применяются почти сразу. Заключение Правила брандмауэра Cloudflare - отличный способ без простоев повысить защиту веб-приложений на границе сети. Если еще не применяете данное решение, вы также можете рассмотреть возможность использования Cloud WAF для повышения безопасности приложений и защиты от DDoS и других сетевых уязвимостей.
img
Зевс, вечный царь богов, преодолел немало сложностей сохраняя свою власть. Аид почти узурпировал своего брата Зевса в битве за трон. Когда началось столкновение, большинство богов приняло сторону Зевса, так как никто не хотел бы выйти против парня, который метет молнии. Но некоторые боги, недовольные властью Зевса, перешли на сторону Аида и битва бушевала. Бэк-энд программирование мало отличается от горы Олимп. До сих пор идет вечная борьба за превосходство, и в 2020 ом эта борьба продолжается между Python и Java. И, подобно древним грекам, большинство девелоперов выбирают в качестве "вероисповедания" один или два наиболее используемых языков программирования. Тем не менее, в отличии от древних греков, современные программисты гораздо гибче. Есть полиглоты-кодеры, которые используют более чем один язык программирования и пользуются одной средой для написания кода. Кто-то зовёт их богохульниками, мы же предпочитаем звать их миротворцами. Если вы один из таких и ищете способ эффективного программирования на питоне в среде IntelliJ IDEA то этот пост для вас. Мы составили список расширений, которые добавят функцию кодирования на питоне, а также помогут сделать это эффективнее. Программирования на Python в IntelliJ IDEA против PyCharm. Прежде чем углубиться в поддержку IntelliJ IDEA Питона, стоит отметить среду программирования от JetBrain для Python и Django PyCharm. Имеющая бесплатную версию PyCharm, неудивительно что является самым популярным автономным IDE для программирования на Python и имеет большую поддержку профессионалов. Он предоставляет простой интерфейс для управления проектами, настройки среды разработки и другие возможности. Основное преимущество IntelliJ IDEA над PyCharm это полный спектр функций поддержки Jython (многоязычная навигация, компиляция и рефакторинг). Jython это реализация языка Python на языке Java. PyCharm поддерживает только Jython. как среду выполнения для запуска приложений. Поэтому, если в проекте совместили Java и Pyhon, то PyCharm в одиночку с этим не справится. Другая причина, по которой отношения между средами разработки JetBrain актуальны этот тот факт, кто плагины поддерживание PyCharm обычно совместимы с IntelliJ IDEA. Идеальная связь стала возможной благодаря тому, что основаны они на одинаковой среде разработки. Итак, давайте начнем с азов: установки расширения для поддержки Python на IntelliJ IDEA. Как добавить Python в IntelliJ IDEA Чтобы добавить IntelliJ IDEA всю функциональность популярной PyCharm все что вам нужно это установить официальное расширении Python от JetBrains. Единственное, что нужно проверить прежде чем скачать и установить расширение это тип лицензии IntelliJ IDEA. Расширение Python совместимо только с платной версией IntelliJ IDEA. 7 расширений Python для IntelliJ IDEA Базовое расширение даст вам возможность умного редактирования сценариев Python, эффективно расширяя функциональность IntelliJ IDEA, чтобы соответствовать всем возможностям PyCharm. Тем не менее, опытные программисты имеют несколько дополнительных плагинов, чтобы сделать разработки на Python в среде IntelliJ IDEA более эффективным и продуктивным. 1. Pylint Как и говорит само название, этот плагин анализатор Python. Он предоставляет возможность сканирование файлов Python как в реальном времени, так и по запросу через IntelliJ IDEA. Pylint проект с открытым исходным кодом, так что он может быть полностью настроен под ваши нужды. Кроме этого, на сайте плагина можете найти подробную документацию. 2. Python Smart Execute Этот удобный небольшой плагин является умной альтернативой команде "Выполнить строку в консоли". Он автоматически определяет строк для отправки на консоль Python и легко доступен с помощью сочетания клавиш Alt+Shift+A. Нужно отметить, что этот плагин может устареть в предстоящей версии Intellij IDEA и PyCharm, так как запрос на его реализацию в JetBrains IDEs был подан в конце 2019 года. 3.Tabnine Tabnine не является плагином Python в прямом смысле. Скорее это инструмент для повышения производительности, который помогает писать код быстрее. Tabnine использует GPT-2 (нейросеть) для обеспечения точных подсказок как для языка Python, так и для других языков. Tabnine сейчас входит в семейство Codota. 4. MyPy MyPy является опциональным средством проверки статического типа и анализатором исходного кода для Python, призванным сочетать преимущества динамического и статического ввода. Среди прочих, он ищет ошибки программирования, помогает применять стандарт кодирования и обнаруживает некоторые кодовые паттерны. Этот плагин от JetBrains интегрирует MyPy в ваш Intellij IDEA. Если вам нужны рекомендации, веб-сайт MyPy содержит обширную документацию, помогающую установить и использовать MyPy для улучшения кода Python. 5. DeepBugs for Python Плагин, разработанный отделом исследования JetBrains призван обнаруживать потенциальны ошибки и проблемы с качеством в коде Python используя при этом модели глубокого обучения. DeepBugs обнаруживает такие ошибки как неверные аргументы функций, неправильные операции сравнения и другие ошибки на основе извлечённой семантики кода. 6. Live Coding in Python Зачем ждать запуска программы, чтобы увидеть, как происходит магия? Этот подключаемый модуль позволяет запускать код Python по мере ввода. Она будет отображать переменные значения, matplotlib и Pyglet в выделенной панели справа от рабочего пространства Intellij IDEA. 7. Python Enhancements Этот последний плагин в нашем списке представляет собой удобную коллекцию из трех проверок, которые вы можете запустить на вашем Python код, чтобы попытаться обнаружить потенциально мертвый код и намерения для генерации безликого кода. Этот плагин будет искать потенциально неиспользуемые классы, функции (включая методы) и имена (в глобальных назначениях и назначениях на уровне классов) в вашем коде.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59