Архив автора: admin

Полезные шаблоны конфигов и сниппеты для Nginx

Готовые варианты конфигурации для NGINX, а также полезные сниппеты для настройки необходимых условий.




Команды Nginx




Основные команды для выполнения базовый операций во время работы NGINX.




  • nginx -V — проверить версию NGINX, его скомпилированные параметры конфигурации и установленные модули.
  • nginx -t — протестировать конфигурационный файл и проверить его расположение.
  • nginx -s reload — перезапустить конфигурационный файл без перезагрузки NGINX.




Location блок на PHP




Простой шаблон для быстрой и легкой установки PHP, FPM или CGI на ваш сайт.




location ~ .php$ {
  try_files $uri =404;
  client_max_body_size 64m;
  client_body_buffer_size 128k;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_pass unix:/path/to/php.sock;
}




Rewrite и Redirection




Force www




Корректный способ определить удаленный сервер по домену без www и перенаправить его c www:




server {
  listen 80;
  server_name example.org;
  return 301 $scheme://www.example.org$request_uri;
}
 
server {
  listen 80;
  server_name www.example.org;
  ...
}




Также работает для HTTPS




Простой шаблон для быстрой и легкой установки PHP, FPM или CGI на ваш сайт.




location ~ .php$ {
  try_files $uri =404;
  client_max_body_size 64m;
  client_body_buffer_size 128k;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_pass unix:/path/to/php.sock;
}




Rewrite и Redirection




Force www




Корректный способ определить удаленный сервер по домену без www и перенаправить его c www:




server {
  listen 80;
  server_name example.org;
  return 301 $scheme://www.example.org$request_uri;
}
 
server {
  listen 80;
  server_name www.example.org;
  ...
}




Также работает для HTTPS




Force no-www




Корректный способ определить удаленный сервер по домену c www и перенаправить его без www:




server {
  listen 80;
  server_name example.org;
}
 
server {
  listen 80;
  server_name www.example.org;
  return 301 $scheme://example.org$request_uri;
}




Force HTTPS




Способ для переадресации с HTTP на HTTPS:




server {
  listen 80;
  return 301 https://$host$request_uri;
}
 
server {
  listen 443 ssl;
 
  # let the browsers know that we only accept HTTPS
  add_header Strict-Transport-Security max-age=2592000;
 
  ...
}




Force Trailing Slash




Данная строка добавляет слэш / в конце каждого URL только в том случае, если в URL нет точки или параметров. То есть после example.com/index.php или example.com/do?some=123 слэш не поставится.




rewrite ^([^.?]*[^/])$ $1/ permanent;




Удаление закрывающего слеша ко всем ссылкам на сайте:?




rewrite ^/(.*)/$ /$1 permanent;




Немного усложним пример и добавим исключение, тк есть, например, технические страницы:?




rewrite ^/((?!install|admin|administrator).*)/$ /$1 permanent;




Через «|» перечисленны исключения, для которых данное правило работать не должно.




Редирект на страницу




server {
  location = /oldpage.html {
    return 301 http://example.org/newpage.html;
  }
}




Редирект на сайт




server {
  server_name old-site.com
  return 301 $scheme://new-site.com$request_uri;
}




Редирект на определенный путь в URI




location /old-site {
  rewrite ^/old-site/(.*) http://example.org/new-site/$1 permanent;
}




Производительность




Кэширование




Навсегда разрешить браузерам кэшировать статические содержимое. NGINX установит оба заголовка: Expires и Cache-Control.




location /static {
  root /data;
  expires max;
}




Запретить кэширование браузерам (например для отслеживания запросов) можно следующим образом:




location = /empty.gif {
  empty_gif;
  expires -1;
}




Gzip сжатие




gzip  on;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
  text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
  text/javascript application/javascript application/x-javascript
  text/x-json application/json application/x-web-app-manifest+json
  text/css text/plain text/x-component
  font/opentype application/x-font-ttf application/vnd.ms-fontobject
  image/x-icon;
gzip_disable "msie6";




Кэш файлов




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




open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;




SSL кэш




Подключение SSL кэширования позволит возобновлять SSL сессии и сократить время к следующим обращениям к SSL/TLS протоколу.




ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;




Поддержка Upstream




Активация кеширования c использованием Upstream подключений:




upstream backend {
  server 127.0.0.1:8080;
  keepalive 32;
}
 
server {
  ...
  location /api/ {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
  }
}




Мониторинг




По умолчанию Stub Status модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра —with-http_stub_status_module и активировать с помощью:




location /status {
  stub_status on;
  access_log off;
}




Данная настройка позволит вам получать статус в обычном текстовом формате по общему количеству запросов и клиентским подключениям (принятым, обработанным, активным).




Более информативный статус от NGINX можно получить с помощью Luameter, который несколько сложнее в установке и требует наличия NGINX Lua модуля. Это предоставит следующие метрики по различным конфигурационным группам в формате JSON:




  • Общее количество запросов/ответов.
  • Общее количество ответов сгруппирированных по статус кодам: 1xx, 2xx, 3xx, 4xx, 5xx.
  • Общее количество байт принятых/отправленных клиенту.
  • Промежуточные отрезки времени для оценки минимума, максимума, медианы, задержек и тд.
  • Среднестатистическое количество запросов для простоты мониторинга и составления прогнозов по нагрузке.
  • И прочее…




Демо от Luameter.




Также для сбора статистики отлично подходит ngxtop.




Безопасность




Активация базовой аунтификации




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




имя:пароль




Затем установить настройки для server/location блока, который необходимо защитить:




auth_basic "This is Protected";
auth_basic_user_file /path/to/password-file;




Открыть только локальный доступ




location /local {
  allow 127.0.0.1;
  deny all;
  ...
}




Защита SSL настроек




  • Отключить SSLv3, если он включен по умолчанию. Это предотвратит POODLE SSL Attack.
  • Шифры, которые наилучшим образом обеспечат защиту. Mozilla Server Side TLS and Nginx.




don’t use SSLv3 ref: POODLE CVE-2014-356 — http://nginx.com/blog/nginx-poodle-ssl/




ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;




Ciphers set to best allow protection from Beast, while providing forwarding secrecy, as defined by Mozilla (Intermediate Set) — https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx




ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers  on;




Прочее




Подзапросы после завершения




Бывают ситуации, когда вам необходимо передать запрос на другой бэкэнд в дополнении или после его обработки. Первый случай — отслеживать количество завершенных загрузок путем вызова API, после того как пользователь скачал файл. Второй случай -отслеживать запрос, к которому вы бы хотели вернуться как можно быстрее (возможно с пустым .gif) и сделать соответствующие записи в фоновом режиме. post_action** , который позволяет вам определить подзапрос и будет отклонен по окончанию текущего запроса — является лучшим решением для обоих вариантов.




location = /empty.gif {
  empty_gif;
  expires -1;
  post_action @track;
}
 
location @track {
  internal;
  proxy_pass http://tracking-backend;
}




Распределение ресурсов между источниками




Самый простой и наиболее известный способ кросс-доменного запроса на ваш сервер:




location ~* .(eot|ttf|woff) {
  add_header Access-Control-Allow-Origin *;
}




Коллекция готовых конфигурационных шаблонов для популярных CMS и фреймворков.







Источники






2022-04-14T17:17:36
Software

Полезные шаблоны конфигов и сниппеты для Nginx

Готовые варианты конфигурации для NGINX, а также полезные сниппеты для настройки необходимых условий.




Команды Nginx




Основные команды для выполнения базовый операций во время работы NGINX.




  • nginx -V — проверить версию NGINX, его скомпилированные параметры конфигурации и установленные модули.
  • nginx -t — протестировать конфигурационный файл и проверить его расположение.
  • nginx -s reload — перезапустить конфигурационный файл без перезагрузки NGINX.




Location блок на PHP




Простой шаблон для быстрой и легкой установки PHP, FPM или CGI на ваш сайт.




location ~ .php$ {
  try_files $uri =404;
  client_max_body_size 64m;
  client_body_buffer_size 128k;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_pass unix:/path/to/php.sock;
}




Rewrite и Redirection




Force www




Корректный способ определить удаленный сервер по домену без www и перенаправить его c www:




server {
  listen 80;
  server_name example.org;
  return 301 $scheme://www.example.org$request_uri;
}
 
server {
  listen 80;
  server_name www.example.org;
  ...
}




Также работает для HTTPS




Простой шаблон для быстрой и легкой установки PHP, FPM или CGI на ваш сайт.




location ~ .php$ {
  try_files $uri =404;
  client_max_body_size 64m;
  client_body_buffer_size 128k;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_pass unix:/path/to/php.sock;
}




Rewrite и Redirection




Force www




Корректный способ определить удаленный сервер по домену без www и перенаправить его c www:




server {
  listen 80;
  server_name example.org;
  return 301 $scheme://www.example.org$request_uri;
}
 
server {
  listen 80;
  server_name www.example.org;
  ...
}




Также работает для HTTPS




Force no-www




Корректный способ определить удаленный сервер по домену c www и перенаправить его без www:




server {
  listen 80;
  server_name example.org;
}
 
server {
  listen 80;
  server_name www.example.org;
  return 301 $scheme://example.org$request_uri;
}




Force HTTPS




Способ для переадресации с HTTP на HTTPS:




server {
  listen 80;
  return 301 https://$host$request_uri;
}
 
server {
  listen 443 ssl;
 
  # let the browsers know that we only accept HTTPS
  add_header Strict-Transport-Security max-age=2592000;
 
  ...
}




Force Trailing Slash




Данная строка добавляет слэш / в конце каждого URL только в том случае, если в URL нет точки или параметров. То есть после example.com/index.php или example.com/do?some=123 слэш не поставится.




rewrite ^([^.?]*[^/])$ $1/ permanent;




Удаление закрывающего слеша ко всем ссылкам на сайте:?




rewrite ^/(.*)/$ /$1 permanent;




Немного усложним пример и добавим исключение, тк есть, например, технические страницы:?




rewrite ^/((?!install|admin|administrator).*)/$ /$1 permanent;




Через «|» перечисленны исключения, для которых данное правило работать не должно.




Редирект на страницу




server {
  location = /oldpage.html {
    return 301 http://example.org/newpage.html;
  }
}




Редирект на сайт




server {
  server_name old-site.com
  return 301 $scheme://new-site.com$request_uri;
}




Редирект на определенный путь в URI




location /old-site {
  rewrite ^/old-site/(.*) http://example.org/new-site/$1 permanent;
}




Производительность




Кэширование




Навсегда разрешить браузерам кэшировать статические содержимое. NGINX установит оба заголовка: Expires и Cache-Control.




location /static {
  root /data;
  expires max;
}




Запретить кэширование браузерам (например для отслеживания запросов) можно следующим образом:




location = /empty.gif {
  empty_gif;
  expires -1;
}




Gzip сжатие




gzip  on;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
  text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
  text/javascript application/javascript application/x-javascript
  text/x-json application/json application/x-web-app-manifest+json
  text/css text/plain text/x-component
  font/opentype application/x-font-ttf application/vnd.ms-fontobject
  image/x-icon;
gzip_disable "msie6";




Кэш файлов




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




open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;




SSL кэш




Подключение SSL кэширования позволит возобновлять SSL сессии и сократить время к следующим обращениям к SSL/TLS протоколу.




ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;




Поддержка Upstream




Активация кеширования c использованием Upstream подключений:




upstream backend {
  server 127.0.0.1:8080;
  keepalive 32;
}
 
server {
  ...
  location /api/ {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
  }
}




Мониторинг




По умолчанию Stub Status модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра —with-http_stub_status_module и активировать с помощью:




location /status {
  stub_status on;
  access_log off;
}




Данная настройка позволит вам получать статус в обычном текстовом формате по общему количеству запросов и клиентским подключениям (принятым, обработанным, активным).




Более информативный статус от NGINX можно получить с помощью Luameter, который несколько сложнее в установке и требует наличия NGINX Lua модуля. Это предоставит следующие метрики по различным конфигурационным группам в формате JSON:




  • Общее количество запросов/ответов.
  • Общее количество ответов сгруппирированных по статус кодам: 1xx, 2xx, 3xx, 4xx, 5xx.
  • Общее количество байт принятых/отправленных клиенту.
  • Промежуточные отрезки времени для оценки минимума, максимума, медианы, задержек и тд.
  • Среднестатистическое количество запросов для простоты мониторинга и составления прогнозов по нагрузке.
  • И прочее…




Демо от Luameter.




Также для сбора статистики отлично подходит ngxtop.




Безопасность




Активация базовой аунтификации




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




имя:пароль




Затем установить настройки для server/location блока, который необходимо защитить:




auth_basic "This is Protected";
auth_basic_user_file /path/to/password-file;




Открыть только локальный доступ




location /local {
  allow 127.0.0.1;
  deny all;
  ...
}




Защита SSL настроек




  • Отключить SSLv3, если он включен по умолчанию. Это предотвратит POODLE SSL Attack.
  • Шифры, которые наилучшим образом обеспечат защиту. Mozilla Server Side TLS and Nginx.




don’t use SSLv3 ref: POODLE CVE-2014-356 — http://nginx.com/blog/nginx-poodle-ssl/




ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;




Ciphers set to best allow protection from Beast, while providing forwarding secrecy, as defined by Mozilla (Intermediate Set) — https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx




ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers  on;




Прочее




Подзапросы после завершения




Бывают ситуации, когда вам необходимо передать запрос на другой бэкэнд в дополнении или после его обработки. Первый случай — отслеживать количество завершенных загрузок путем вызова API, после того как пользователь скачал файл. Второй случай -отслеживать запрос, к которому вы бы хотели вернуться как можно быстрее (возможно с пустым .gif) и сделать соответствующие записи в фоновом режиме. post_action** , который позволяет вам определить подзапрос и будет отклонен по окончанию текущего запроса — является лучшим решением для обоих вариантов.




location = /empty.gif {
  empty_gif;
  expires -1;
  post_action @track;
}
 
location @track {
  internal;
  proxy_pass http://tracking-backend;
}




Распределение ресурсов между источниками




Самый простой и наиболее известный способ кросс-доменного запроса на ваш сервер:




location ~* .(eot|ttf|woff) {
  add_header Access-Control-Allow-Origin *;
}




Коллекция готовых конфигурационных шаблонов для популярных CMS и фреймворков.







Источники






2022-04-14T17:17:36
Software

KeePassXC 2.7.1 выходит с некоторыми изменениями и исправлениями ошибок

Недавно анонсирован выход новой версии KeePassXC 2.7.1, версия, в которую были внесены некоторые изменения, включая поддержку пакетов flatpak, некоторые улучшения дизайна и, прежде всего, исправления ошибок.

Для тех, кто не знает КиПассХС, они должны знать, что это это бесплатный менеджер паролей и с открытым исходным кодом под лицензией GNU Public License. Это приложение начался как форк сообщества KeePassX (сам является портом KeePass) из-за очень медленной разработки KeePassX и отсутствия ответа от сопровождающего.



Читать

Links 2.26 поставляется с поддержкой DoH, веб-изображений и т. д.

Несколько дней назад анонсирован выпуск новой версии из веб-браузера «Ссылки 2.26» который поставляется с некоторыми новыми изменениями и исправлениями ошибок.

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



Читать

Links 2.26 поставляется с поддержкой DoH, веб-изображений и т. д.

Несколько дней назад анонсирован выпуск новой версии из веб-браузера «Ссылки 2.26» который поставляется с некоторыми новыми изменениями и исправлениями ошибок.

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



Читать

MikroTik Hotspot Customized Login Template

MikroTik Hotspot is a popular service which is being used to manage ISP, Hotel, Restaurant, Airport, Public WiFi and even Enterprise office network. User management with MikroTik Hotspot captive portal is so easy and secure. Besides manageable network, Hotspot also provides facility to advertise your brand.




MikroTik Hotspot offers a login page for user authentication whenever any device connects with it. So, this login page is a vital source for promoting your brands. The default login template provided by MikroTik Hotspot is a simple template to fulfill your branding requirements. But it is possible to customize the login template according to your requirement.




So, it is time to customize the Hotspot template according to your Branding. We have an experienced and dynamic team who can help you to customize your MikroTik Hotspot login template.




HotSpot Login Template







Features of Our Customized Hotspot Login Template




Our customized Hotspot template meets all the requirements those are require to run a smooth captive portal with MikroTik Hotspot. The key features of our customized Hotspot template are given in the following list.




  • Compatible with MikroTik Hotspot Service.
  • Responsive template.
  • Compatible with voucher/card based or username and password based system.
  • Eye catching design.
  • Light weight. Only few kilobytes.
  • Faster loading.
  • All pages are customized besides login page.
  • Hassle free uploading in MikroTik Hotspot.
  • Highly customizable according to network requirement.
  • Can be customized for advertisement.




Customized MikroTik Hotspot Template Demo




We have some predesigned Hotspot login templates those are being used in many countries. These templates were designed according to our valuable customer’s instructions. Some of them are shown in the following section.




Template Name: CAMP WiFi




The CAMP WiFi template has been designed for one of our truested clients who is running a smooth Hotspot network for more then 600 users. He sells voucher card and the users use the card number to get internet access. If your network is like CAMP WiFi network or wish to establish a network like CAMP WiFi, the following template will be perfect for you.




You can use this template just replacing your brand logo and background according to your need. We will replace your logo and background and provide your ready to use template within 24 hours.




CAMP WiFi Mobile View
CAMP WiFi Mobile View




CAMPWiFi Desktop View
CAMPWiFi Desktop View




Template Name: The Doom WiFi




The Doom WiFi network uses username to allow internet for their clients. They also offer Trial login. So, we made a login template like the follwoing images.




If your network has similar requirement, you can get the following template just replacing the band logo and background.




TheDomWiFi Mobile View
TheDomWiFi Mobile View




TheDomWiFi Desktop View
TheDomWiFi Desktop View




Template Name: Speed Max




Speed max network uses voucher card to allow inter access for their cleints but they shows voucher as wifi password as their clients are familiar to call it as WiFi Password. So, we have changed their login template according to their client need.




SpeedMax_Mobile View
SpeedMax_Mobile View




SpeedMax Desktop View
SpeedMax Desktop View




Template Name: ShreeHariHotspot




Shree Hari Hotspot netowork has similiar requirment as our first client who sells voucher card and allow their client’s internet access providng card number. So, we have just changed their logo and background according to their demand.




ShreeHariHotspot_Mobile View
ShreeHariHotspot_Mobile View




ShreeHariHotspot Desktop View
ShreeHariHotspot Desktop View




Template Name: PlatzammeerWiFi




Platzammeer WiFi Network offers free wifi but they want to advertize their Brand. So, we have designed a nice template for them where user can get internet access clicking a button but they have to view internet provider’s branding.




PlatzammeerWiFi Mobile View
PlatzammeerWiFi Mobile View




PlatzammeerWiFi Desktop View
PlatzammeerWiFi Desktop View




Template Name: Star Network




Star Network is an awesome template which offers to view WiFi Plans. Before entering voucher card, customer can view WiFi Plans/Package information clickng the WiFi Plans button.




Mobile View
Mobile View




Plan View on Mobile Devices
Plan View on Mobile Devices




Desktop View
Desktop View




WiFi Plan Appearance on Desktop View
WiFi Plan Appearance on Desktop View




Template Price




Predefined templates and similar design templates are only $25. More customized design than predefined template will be priced as per discussion. 




Customer Feedback




Those who are using the above Hotspot templates are so much satisfied for our work. Some of their valuable feedbacks are given below.




  • Thank you! Great work!” – Robert Opperman (The Doom WiFi & PlatzammeerWiFi)
  • Nice work. Worked smoothly in my network” – Sabbir Ahmed, Qatar (Speed Max & ShreeHariHotspot)




How to Order for Hotspot Login Template




If you are interested to customize Hotspot login template from us, simply follow the following steps to contact us.




  • Choose any template from the Demo or describe your customization details to sayeedsezan@gmail.com.
  • Send your Brand logo also.
  • We will send a demo of your customized login page for confirmation.
  • After confirmation and payment, we will send the complete template to you. 




How to Pay for Customized Hotspot Login Template




We usually use the following two methods for payment.




Method 1: BuyMeACoffee




You can easily pay us by buying coffee from Buymeacoffe that supports a lot of payment methods available in your country.




Method 2: Payoneer




If you have Payoneer account, you can easily pay us from Payoneer or we can also send you payment request from Payoneer so that you can pay us from your local bank transfer.  




So, don’t be late. Customize your Hotspot Login Template according to your Brand and make a gorgeous and smooth MikroTik Hotspot Network.




If you have further query, contact me: sayeedsezan@gmail.com, WhataApp: +88 01737325759



2022-04-14T15:54:12
MikroTik Hotspot Tutorials & Guides