Pencil2D — отличный инструмент для создания 2D-анимации.

Существует большое количество приложений для создания анимаций, от достаточно простых приложений до достаточно законченных приложений (как в случае с Blender). Но на этот раз мы сосредоточимся на отличный инструмент, предназначенный для создания 2D-анимации, который, на мой взгляд, очень хорошо организован визуально и довольно прост в использовании.

Инструмент, о котором мы сегодня поговорим, называется Карандаш2D, которое является бесплатным программным обеспечением и, прежде всего, с открытым исходным кодом, которое предназначен для создания 2D рисованной анимации.



Читать

OpenReplay привлек 4,7 миллиона долларов нового финансирования для развития своего сообщества.

Представлен OpenReplay недавно который привлек 4,7 миллиона долларов нового финансирования для расширения вашего сообщества, ускорения масштабируемого развертывания и улучшения взаимодействия с пользователем.

Для тех, кто не знает об OpenReplay, им следует знать, что это стартап, который предоставляет инструмент воспроизведения сеанса с открытым исходным кодом для разработчиков, который помогает им устранять неполадки, делая отладку визуальной, то есть, в основном, инструмент позволяет разработчикам воспроизводить ошибку, сохраняя журнал, чтобы они могли определить, где ошибка.



Читать

Databricks выпустила код для Delta Lake и MLflow

Во время саммита Data + AI Представлены блоки данных через рекламу, что освободит всю структуру хранилища Delta Lake с открытым исходным кодом под контролем Linux Foundation.

Стоит отметить, что Delta Lake является проектом Linux Foundation с октября 2019 года. и именно открытый уровень хранения обеспечивает надежность и производительность озер данных за счет «архитектуры озер», лучших хранилищ данных и озер данных под одной крышей.



За последние три года Lakehouses стал привлекательным решением для дата-инженеров, аналитиков и специалистов по данным, которым нужна гибкость для запуска различных рабочих нагрузок с одними и теми же данными с минимальной сложностью и без дублирования, от аналитики данных до разработки обучающихся машин. . Delta Lake — самый популярный формат для домов у озера в мире, и в настоящее время его загружают более 7 миллионов раз в месяц (и этот показатель продолжает расти).

Читать

Способы разграничения прав доступа в nginx

Проблема ограничения доступа к сайтам, директориям и файлам, которые располагаются на вашем сервере не является редкой и может возникнуть в десятках, если не сотнях случаев: реконструкция или разработка сайта, доступ к которому нужно ограничить его командой до завершения процесса, региональные или локальные проекты, борьба со школохацкерами и т.п.




1. Как при помощи nginx заблокировать доступ с определенного ip к некоторой секции сайта?




Открываем конфигурационный файл вашего сайта:




nano /etc/nginx/sites-available/sitename.com




Находим или создаем локейшн, доступ к которому нужно закрыть с определенного ip, например «111.222.333.444»:




location /testdir {
    deny 111.222.333.444;
    }




После чего нужно не забыть проверить правильность конфигурации командой:




nginx -t




И в обязательном порядке перезагрузить nginx:




sudo servcie nginx restart




Или просто заставить его перечитать конфигурационные файлы:




sudo service nginx reload




Дополнительно вы можете вывести свою страницу ошибки или даже сделать переадресацию на другой сайт:




location /testdir {
    error_page 403 = @deny;
    deny 111.222.333.444;
}

location @deny {
    return 301 http://example.com/comingsoon;
}




Аналогичным образом вы можете отдавать любой HTTP ответ, вместо стандартного «ERROR 403«:




location /testdir {     
        deny 111.222.333.444;
        return 444;
 }




Ошибка 444 (No Response) — это пользовательский код состояния, используемый для указания nginx на закрытие соединения без отправки ответа клиенту, чаще всего используется для отклонения вредоносных или искаженных запросов.




Действие с IP по условию




В зависимости от определенного IP-адреса NGINX может выполнять различные действия, а не только запрет доступа. Например, перенаправление.




В данном примере мы перенаправляем всех посетителей по пути https://$host$request_uri, кроме запросов с IP-адреса 111.222.333.444.




location / {

    ...

    if ($remote_addr != 111.222.333.444) {

        return 301 https://$host$request_uri;

    }

    ...

}




2. Как при помощи nginx заблокировать доступ с нескольких ip адресов к некоторой секции сайта?




Аналогичным образом вы можете отправить шуточный код ошибки «HTTP 418» I’m a teapot (Я — чайник). Этот код был представлен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol. Ожидается, что этот код не будет поддерживаться реальными серверами. Как бы то ни было, реализации существуют. Сервер HTTP Nginx в своей конфигурации использует этот код для имитации поведения goto-like.




deny 111.222.333.444;
deny 111.222.333.555;
deny 111.222.333.666;
deny 111.222.333.777;




1 апреля 1998 года Internet Engineering Task Force (IETF, «Целевая группа по инженерному обеспечению Интернета) представила «протокол для контроля, мониторинга и диагностики кофемашин». В документе среди прочего описывались и ошибки. Проблема за номером 418 описывалась так: если кто-то попытается сварить кофе в чайнике, последний вежливо, но твердо сообщит: «Я – чайник. Ошибка 418».




Шутка прижилась (по крайней мере, в узких кругах). Например, у Google даже сегодня есть соответствующая страница google.com/teapot







3. Как при помощи nginx заблокировать доступ с диапазона или нескольких диапазонов ip адресов к некоторой секции сайта?




В данной ситуации локейшн не представляет ничего особенного и составляется по следующему принципу.




Для запрета доступа с одного диапазона (111.222.111.1-111.222.111.254) ip:




location /testdir {     
        deny 111.222.111.0/24;
 }




Для запрета доступа с нескольких диапазонов ip адресов:




location /testdir {     
        deny 111.222.111.0/24;
        deny 111.222.222.0/24;
 }




4. Как при помощи nginx заблокировать доступ из списка ip адресов и списка диапазонов ip? расположенных в отдельном файле к некоторой секции сайта?




Вот мы и подошли к более интересному случаю, когда мы можем заблокировать на одном сайте, в нескольких сайтах или же на большом количестве сайтов множество ip адресов и диапазонов сетей, которые у нас расположены в некотором файле «testdir_ip_deny.txt«, расположенном в папке «/etc/nginx/«




location /testdir {     
        include /etc/nginx/testdir_ip_deny.txt
 }




Содержимое файла «testdir_ip_deny.txt» может выглядеть следующим образом:




deny 111.555.111.0/24;
deny 111.222.333.444;
deny 111.222.333.555;
deny 111.222.333.666;
deny 111.222.333.777;
deny 111.666.222.0/24;
deny 111.333.333.888;
deny 111.444.333.999;
deny 111.222.321.666;
deny 111.222.456.777;




В таком виде nginx может обработать десятки тысяч ip адресов и диапазонов ip сетей.




Аналогичным образом вы можете заблокировать доступ ко всем сайтам и всем локейшинам nginx, не прописывая правила блокировки во всех конфигах сайтов.




Для этого достаточно создать файл ip_deny_to_all.conf в директории конфигурационных файлов (/etc/nginx/conf.d) nginx:




nano /etc/nginx/conf.d/ip_deny_to_all.conf




B вставить в него произвольный список запретов:




...
deny 111.666.222.0/24;
deny 111.333.333.888;
...




include добавлять никуда не нужно, т.к. все конфигурационные файлы (*.conf) из данной директории автоматически подключаются в основной конфиг в секцию HTTP, проверить это вы можете открыв соответствующий файл:




nano /etc/nginx/nginx.conf




И найдя следующий код:




http {
...

   include /etc/nginx/conf.d/*.conf;
   include /etc/nginx/sites-enabled/*;
}




Таким образом вы сможете заблокировать или разрешить доступ ко всем сайтам, учитывая содержимое файла /etc/nginx/conf.d/ip_deny_to_all.conf




Таким образом вы можете составить несколько списков, в том числе и списки по странам (вместо использования NGINX GeoIP Module), взяв их, например, на одном из следующих сайтов:




https://www.countryipblocks.net/acl.php (может быть недоступен с ip адресов РФ и РБ)




http://ipverse.net/ipblocks/data/countries/xx.zone (пример: xxru)




Диапазоны IP-адресов по странам




Major IP Addresses Blocks By Country




На деле это редко когда может быть актуальным, т.к. тратит ресурсы сервера: канал и процессорное время и правильнее использовать блокировку при помощи ipset или iptables!









2022-06-30T03:09:51
Настройка web сервера

OpenVPN Client Configuration in Windows 10/11

OpenVPN is an excellent VPN solution for transmitting data securely over public network. Configuring an OpenVPN Server either on MikroTik RouterOS or Ubuntu Server, we can access local servers or devices from remote place using Windows 10/11, Android or MacOS. 




How to configure OpenVPN Server in Ubuntu Server was discussed in the previous article. In that article, I also discussed how to create a new OpenVPN client (for Windows OS) who will be able to connect the OpenVPN Server. So, in this article I am going to show how to install and configure OpenVPN client in Windows 10/11 and how to connect OpenVPN Server from this Windows Client PC.




Installing OpenVPN Client Software in Windows 10/11




OpenVPN Client Software for Windows 10/11 can be downloaded from OpenVPN’s download page. So, Go to OpenVPN’s Community Download Page and download the software that matches with your Operating System. For OpenVPN 2.5.7, the download option looks like the following image.



OpenVPN Download Options
OpenVPN Download Options



I will install OpenVPN client for Windows 10. So, I am downloading Windows 64-bit MSI installer.




After downloading installer package, install the software in your windows operating system. The software installation is as simple as installing other software in Windows Operating System.  






After OpenVPN client software installation, two OpenVPN network adapters will be installed like the following image. If these two adapters do not appear, OpenVPN client will not work.



OpenVPN Client Adapter
OpenVPN Client Adapter



After successful installation, you will find a OpenVPN GUI icon on your Desktop. Double click on it to run OpenVPN client. If OpenVPN GUI runs successfully, a small connection icon will be found in task bar or under hidden icons bar like the following image.



OpenVPN GUI
OpenVPN GUI



Click mouse right button on the OpenVPN GUI. First time it will ask to import the client config file that was generated while installing OpenVPN Server. If you yet don’t download the OpenVPN client config file from the Ubuntu Server where OpenVPN Server has been installed, download it and then import the config file.






As soon as the config file will be uploaded, it will ask to connect the client clicking the Connect option.  So, click the Connect option and if everything is OK, the OpenVPN connection will be established and the OpenVPN GUI icon will turn into green color.



Connected OpenVPN GUI
Connected OpenVPN GUI



You will also find the assigned IP address in your OpenVPN adapter if you keep mouse pointer on OpenVPN GUI or you can see IP information from Network and Sharing Center.




Note: If you try OpenVPN Server in your LAB or local environment, don’t forget to edit IP address in Client Config File because by default OpenVPN script will assigned public IP address. Otherwise, your test will be failure.




How to download and install OpenVPN client software in Windows 10/11 and how to configure OpenVPN client to connect OpenVPN Server have been discussed in this article. I hope you will now be able to install and configure OpenVPN client in Windows Operating System without any confusion. However, if you face any confusion, feel free to discuss in comment or contact me from Contact page. I will try my best to stay with you.



2022-06-29T20:20:17
MikroTik VPN Configuration with Winbox

KDE Plasma Mobile 22.06 уже выпущен, и это его новости

В выпуск новой версии KDE Plasma Mobile 22.06, в котором подготовлены изменения версии Plasma 5.25 и в который внесены довольно интересные улучшения.

Тем, кто не знаком с KDE Plasma Mobile, следует знать, что это платформа на базе мобильной версии настольного компьютера Plasma 5, библиотеки KDE Frameworks 5, телефонный стек Ofono и коммуникационный фреймворк Telepathy.



Читать