Платный доступ к Wi-Fi
Организуйте у себя на объекте Premium Wi-Fi с платным доступом.
Создайте свой тариф с пакетами интернета в личном кабинете и подключите в настройках хотспота.
При подключении к WiFi гость выбирает пакет и оплачивает его с помощью банковской карты.
Отчёты по всем совершенным операциям доступны в личном кабинете.
В зависимости от месячного оборота мы взимаем комиссию на вывод средств.
В комиссию уже включены транзакционные сборы, онлайн обработка платежей и т.д.
Выплаты производятся по истечении календарного месяца.
Минимальная сумма для выплаты — 5 000 рублей.
| Месячный оборот | до 50 000 рублей | до 200 000 рублей | до 500 000 рублей | от 500 000 рублей |
|---|---|---|---|---|
| Комиссия оператора | 25% | 20% | 15% | По согласованию |
Пример расчёта №1:
За декабрь месяц Вы собрали платежей на 40 000 рублей. Комиссия на обслуживание составит 25%. Выплата в январе Вам составит 30 000 рублей.
Пример расчёта №2:
За май месяц Вы собрали платежей на 300 000 рублей. Комиссия на обслуживание составит 15%. Выплата в июне Вам составит 255 000 рублей.
Внимание! Выплаты производятся на расчётный счёт организации.
Премиум + Free доступ
Организуйте у себя на объекте комбинированный Wi-Fi:
- Бесплатный с авторизацией по номеру телефона и возможными ограничениями (по скорости и количеству бесплатных подключений в течении месяца)
- Премиум доступ с платными пакетами интернета (задайте скорость, длительность и цену в каждом пакете)
Пример настройки хотспота Premium Free.
Создадим Premium тариф со следующими пакетами:
- 10 мбит/с на 1 час за 30 рублей
- 10 мбит/с на 24 часа за 100 рублей
- 10 мбит/с на 30 дней за 300 рублей

В настройках хотспота зададим ограничение скорости 1 мбит/с — для бесплатных подключений.

В дополнительных настройках выберем созданный тариф для Premium и укажем количество бесплатных подключений в месяц с одного MAC устройства — 5.
В качестве способа доставки пользователю данных выберем Email+SMS

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

2. При выборе «Бесплатный доступ» — гость авторизуется по номеру телефона, при этом тратит одну бесплатную попытку.

3. После использования пяти бесплатных авторизаций — на странице будут отображаться только пакеты платного интернета.

Несколько примеров использования этого тарифа:
Торговый Центр.
Гости обычно не чаще нескольких раз в месяц посещают Торговый Центр. Им будет хватать бесплатных авторизаций. Продавцы и владельцы торговых точек могут злоупотреблять гостевым Wi-Fi и вместо отдельного интернет подключения — пользоваться только бесплатным. Владельцам Торгового Центра это не выгодно. Ограничения на бесплатные подключения вынудит торговые точки подключать себе отдельную линию с интернетом или приобретать платный пакет.
Удалённые базы отдыха.
На удалённых от инфраструктуры объектах зачастую интернет обходится недешево. Используя комбинированную схему Premium Free, владельцы таких заведений могут частично покрыть затраты на интернет. Бесплатно выдавать доступ на медленной скорости. А любителям хорошей скорости — придется заплатить за дополнительный комфорт.
Парковые зоны отдыха.
Нередко интернет-провайдеры в парках и общественных местах города устанавливают точки доступа с бесплатным Wi-Fi. Premium Free можно использовать не только для маркетинговых целей, но и для продажи высокоскоростного доступа.
Wifi web auth как пользоваться на русском
WiFi Web Login
версия: 4.1.35
Последнее обновление программы в шапке: 11.07.2015


Краткое описание:
Позволяет автоматически подключаться в фоновом режиме к публичным WiFi-хотспотам использующие Captive Portal.
Описание:
Automatic hotspot login, hotel WiFi login, corporate guest WiFi login, and other Captive Portal Logins. Stop filling in the annoying web login form to get Internet access on you favourite hotspots, WiFi Web login can do it for you automatically! Simply record your login steps ONCE and WiFi Web Login replays them in the BACKGROUND when ever required without any manual interaction from you!
— Supports hotspots with multiple step login procedures, popup windows, and any combination of Captive Portal entry fields (username, password, accept terms, etc)
— Target recordings at multiple Wireless Access Points by name (SSID) or location (BSSID)
— Configurable re-checking to promote playback when login expiries whilst connected
This is 3 day DEMO which can be activated into the full version buy purchasing «WiFi Web Login — Activation».
WE ARE AWARE THAT THE RELEASE OF LOLLIPOP HAS CAUSED SOME PROBLEMS FOR THE APP AND ARE WORKING TO RESOLVE THIS ISSUE
There only workaround is to disable mobile network data before connecting to the WiFi network.
Permissions Explained:
— Coarse (network-based) location: Location based playback targeting, and anonymous usage statistics.
— Full Internet access: Required in order to check for Internet access, and post anonymous usage statistics.
Вроде как должно автоматически логинится в метро и к другим операторам, типа Билайна.
Требуется Android: 2.1 или более поздняя
Русский интерфейс: Нет
v 4.1.27
— Advanced targeting (Target recordings at multiple Wireless Access points by name (SSID) or location (BSSID).
— Automatically add targets based on rules
— Watch login playbacks as they happen
— Support for captive portals that open tabs/windows
— Browser caching for faster playback
— More robust Internet available checking including custom URLs
— Secondary playback options
— Configurable login validity period
v 4.1.28
— Various bug fixes
WIFI Web Auth
Автоматизируйте вход в Wi -Fi с помощью веб -аутентификации.
Информация О Приложении
January 09, 2017
Разработчик :
Требуется Android :
Android 4.0.3+
Рейтинг Контента :
Advertisement
Приложение Описание
Android Application WIFI Web Auth, Разработанный Galvisoft, Указан В Категории Инструменты. Текущая Версия-1.0.0, Обновленная На 09/01/2017 . Согласно Google Play WIFI Web Auth, Достигнув Более 12 Тысяча Установок. WIFI Web Auth В Настоящее Время Имеет 87 Обзоров Со Средней Стоимостью Голосования 3.7
Wi -Fi Web Auth — это приложение, которое позволяет автоматизировать вход в систему сетей Wi -Fi, таких как университет, школа, работа отеля или других, которые обладают веб -порталом аутентификации.
Настройка Только один раз столько сетей, сколько вы хотите, Wi -Fi Web Auth будет знать, что устройство подключается к одной из настроенных сетей и сделает все остальное, очень важно без дренирования батареи.
Wi -Fi Web Auth Will Will Will Will Will Will Will Will Will Will Will Автоматически генерируйте настройки во время входа в систему в первый раз, но также позволяет вам изменять или удалять любые шаги соединения, например, когда вы хотите изменить имя пользователя или пароль.
Попробуйте и скажите нам, что вы думаете Анкет
В Настоящее Время Мы Предлагаем Версию 1.0.0. Это Наша Последняя, самая Оптимизированная Версия. Это Подходит Для Многих Разных Устройств. Бесплатно Скачать Непосредственно Apk Из Google Play Store Или Других Версий, Которые Мы Размещаем. Более Того, Вы Можете Скачать Без Регистрации И Не Требуется Входа В Систему.
У Нас Есть Более Чем 2000+ -Устройства Для Samsung, Xiaomi, Huawei, Oppo, Vivo, Motorola, LG, Google, OnePlus, Sony, Tablet . С Таким Количеством Вариантов, Вам Легко Выбрать Игры Или Программное Обеспечение, Которые Соответствуют Вашему Устройству.
Это Может Пригодиться, Если Есть Какие -Либо Страновые Ограничения Или Какие -Либо Ограничения С Стороны Вашего Устройства В Google App Store.
Автоматическая аутентификация Android-устройства в Wi-Fi Московского Метро
Как известно, практически во всех вагонах Московского Метро действуют Wi-Fi точки доступа, с помощью которых пользователи могут получить доступ в интернет и приятно скоротать время поездки в метро с работы домой: почитать новости, проверить почту, посмотреть котиков на YouTube и т.д.
Каждому устройству, прежде чем ему будет предоставлен доступ к сети интернет, необходимо аутентифицироваться. В первый раз пользователю на указанный номер телефона посылается СМС с кодом, после чего система запоминает MAC-адрес устройства и в дальнейшем пользователю для аутентификации требуется только нажать на ссылку «Войти в интернет» и немного подождать.
Неудобством такой организации системы является то, что даже если пользователю не нужен браузер, а он, например, хочет залезть в почту или почитать твиттер с помощью специализированного приложения, ему все равно необходимо запустить браузер, попытаться получить доступ к какой-нибудь странице, дождаться переадресации, нажать ссылку, дождаться загрузки страницы приветствия (опционально: посмотреть рекламный ролик) и только после этого он сможет воспользоваться искомым приложением.
Если в метро вы не частый гость, то подобная схема может и не вызвать у вас раздражения, однако при ежедневном использовании она все таки надоедает, поэтому, как говорил один известный и харизматичный политик: «Хватит это терпеть!», сегодня мы будем автоматизировать аутентификацию в Московском метро.
В первую очередь нам понадобится приложение Tasker. Раздобыть его можно тут (за небольшую денежку), ну или где-нибудь тут (на свой страх и риск). Лично я предпочел первый вариант и не пожалел.
Tasker — приложение, которое позволяет в зависимости от определенных условий (дата/время/местоположение/состояние устройств/показания датчиков и т.д.) производить определенные действия (отправку сообщений/вывод уведомлений/включение-отключение устройств/отрисовка простеньких интерфейсов и т.д.). Списки и условий, и действий просто огромны и зависят от версии Android и аппаратного оснащения устройства, так что приводить их полностью смысла нет.
- Profiles — профили управляют связью между состоянием устройства/различными событиями и задачами;
- Tasks — задачи описывают последовательность действий, которые необходимо выполнить;
- Scenes — сцены это как бы самодельные формы, которые задачи могут создавать и настраивать, и контролы на которых могут запускать задачи;
- Vars — список глобальных переменных, которые могут быть использованы для хранения данных между запусками задач.
Перейдем на закладку Tasks и создадим новую задачу, назвав ее Metro Auth:

В открывшемся окне нам необходимо для начала определить несколько переменных. Переменные определяются следующим образом:

- Variable name — имя переменной, должно начинаться с символа % и состоять из строчных букв. Если в имени переменной будет хоть одна заглавная буква, то переменная станет глобальной, а нам это ни к чему;
- To — значение переменной.
- %url — содержит ссылку на страницу, по которой мы будем тестировать нужна ли аутентификация или нет. Чем меньше объем передаваемых данных при этом — тем лучше (тело страницы все равно не нужно). С протоколом HTTPS возможны проблемы, так что лучше использовать HTTP;
- %forms — содержит список идентификаторов HTML-форм, которые мы будем использовать для аутентификации. На момент написания статьи корректное значение — ‘auth-form,hidden_form‘, однако если ребята из московского метро вдруг что-то изменят, я хотел бы показать как составить такой список самостоятельно, так что пока в качестве значения поставим один пробел (пустые переменные недопустимы);
- %debug — эта переменная, при задании значения, отличного от нуля, будет вызывать показ дополнительной отладочной информации, которая поможет нам составить вышеупомянутый список форм.

Здесь необходимо выставить максимальный Timeout выполнения скрипта — 50 секунд, просто на всякий случай. Галочка Auto Exit отвечает за автоматическое завершения действия после завершения основного потока скрипта. В случае если используются асинхронные запросы (наш случай) или функция setTimeout, эту галочку необходимо снимать, а завершение действия определять самостоятельно с помощью функции exit();.
Сам скрипт я представлю в двух вариантах форматирования: приличное форматирование нужно если хочется рассмотреть скрипт, не сломав глаза, и форматирование под узкий экран позволяет скрипту выглядеть более-менее прилично на узком экране телефона. Изначально скрипт набирался на телефоне в «узком» варианте, и уже потом я переформатировал его для статьи:
Скрипт в приличном форматировании
function getUrl(url1,url2) < url1=url1.split('?')[0]; return url2.length? (/^http(s?):\/\//i.test(url2)?url2: (url2[0]=='/'?url1.split('/').slice(0,3).join('/')+url2:url1.split('/').slice(0,-1).join('/')+'/'+url2) ):url1; >function getVars(form,tag) < vars=''; fields=form.getElementsByTagName(tag); for(i=0;ifunction submit(xhr,request,form) < request.url=getUrl(request.url,form.action); request.method=form.method; vars1=getVars(form,'input'); vars2=getVars(form,'textarea'); request.vars=vars1||vars2?(vars1?vars1:'')+(vars1&&vars2?'&':'')+(vars2?vars2:''):null; getPage(request,processPage,xhr); >function processPage(xhr,request)< redir=xhr.getResponseHeader('Location'); if(redir)< if(redir==request.url) finalize('Ошибка: циклическое перенаправление'); else< log('Перенаправление\n\n'); getPage(,processPage,xhr); > > else < forms=local('forms').split(','); for(i=0;ielse finalize('Аутентификация успешна'); > > function checkConn(xhr,request)< redir=xhr.getResponseHeader('Location'); if(redir)< log('Перенаправление\n\n'); getPage(,processPage,xhr); > else < log('Аутентификация не требуется'); finalize(); >> function log(txt) < logs=logs+(txt?txt:''); >function requestToText(request) < return 'URL: '+request.url+'\nMethod: '+request.method+', Vars: '+request.vars+'\n\n'; >function finalize(txt) < log(txt); if(Number(local('debug'))) alert(logs); else if(txt) flashLong(txt); exit(); >function getPage(request,func,xhr) < if(!request.method) request.method='GET'; if(!request.vars) request.vars=null; if(!xhr)< xhr=new XMLHttpRequest(); xhr.responseType="document"; xhr.timeout=20*1000; >xhr.open(request.method,request.url,true); xhr.onload=function() < if(xhr.status==200 || xhr.status==401)< log (requestToText(request)+'HTTP status: '+xhr.status+' '+xhr.statusText+'\n'); func(xhr,request); >else < log(requestToText(request)); finalize('Ошибка HTTP: '+xhr.status+' '+xhr.statusText); >> xhr.onerror=function() < log(requestToText(request)); finalize('Ошибка: отсутствует соединение'); >xhr.ontimeout=function() < log(requestToText(request)); finalize('Ошибка: таймаут соединения'); >xhr.send(request.vars); > logs=''; getPage(,checkConn);
Скрипт в форматировании под узкий экран
function getUrl(url1,url2) < url1=url1.split('?')[0]; return url2.length? (/^http(s?):\/\//i.test(url2)? url2: (url2[0]=='/'? url1.split('/').slice(0,3).join('/')+url2: url1.split('/').slice(0,-1).join('/')+ '/'+url2) ):url1; >function getVars(form,tag) < vars=''; fields=form.getElementsByTagName( tag); for(i=0;ifunction submit(xhr,request,form) < request.url=getUrl(request.url, form.action); request.method=form.method; vars1=getVars(form,'input'); vars2=getVars(form,'textarea'); request.vars=vars1||vars2? (vars1?vars1:'')+ (vars1&&vars2?'&':'')+ (vars2?vars2:'') :null; getPage(request,processPage,xhr); >function processPage(xhr,request)< redir=xhr.getResponseHeader( 'Location'); if(redir)< if(redir==request.url) finalize('Ошибка: циклическое '+ 'перенаправление'); else< log('Перенаправление\n\n'); getPage(,processPage, xhr); > > else < forms=local('forms').split(','); for(i=0;ielse finalize( 'Аутентификация успешна'); > > function checkConn(xhr,request)< redir=xhr.getResponseHeader( 'Location'); if(redir)< log('Перенаправление\n\n'); getPage(,processPage, xhr); > else < log('Аутентификация не '+ 'требуется'); finalize(); >> function log(txt) function requestToText(request) < return 'URL: '+request.url+ '\nMethod: '+request.method+ ', Vars: '+request.vars+'\n\n'; >function finalize(txt) < log(txt); if(Number(local('debug'))) alert(logs); else if(txt) flashLong(txt); exit(); >function getPage(request,func,xhr) < if(!request.method) request.method='GET'; if(!request.vars)request.vars=null; if(!xhr)< xhr=new XMLHttpRequest(); xhr.responseType="document"; xhr.timeout=20*1000; >xhr.open(request.method, request.url,true); xhr.onload=function() < if(xhr.status==200 || xhr.status==401)< log (requestToText(request)+ 'HTTP status: '+xhr.status+' '+ xhr.statusText+'\n'); func(xhr,request); >else < log(requestToText(request)); finalize('Ошибка HTTP: '+ xhr.status+' '+xhr.statusText); >> xhr.onerror=function() < log(requestToText(request)); finalize('Ошибка: отсутствует '+ 'соединение'); >xhr.ontimeout=function() < log(requestToText(request)); finalize('Ошибка: таймаут '+ 'соединения'); >xhr.send(request.vars); > logs=''; getPage(,checkConn);
- Пытаемся загрузить страницу, указанную в переменной %url
- Если в ответе нет HTTP-заголовка Location, значит нас не перенаправляют, а значит в данный момент аутентификация не нужна, выход
- Загружаем страницу, на которую нас направили.
- Если есть заголовок Location, возвращаемся к п.3
- Если на странице есть форма из списка в переменной %forms, изображаем ее submit и возвращаемся к п.3
- В остальных случаях — мы успешно прошли аутентификацию
После завершения ввода скрипта, у нас получилась вот такая задача:

С помощью первой иконки в нижнем ряду можно попробовать ее запустить. Теперь самое время спускаться в метро, чтобы настроить ее!
В метро, подключившись к точке доступа, пробуем запустить задачу. Если нет явных проблем с доступностью серверов, то мы увидим сообщение, похожее на то, что изображено на следующем рисунке слева. Внизу мы видим идентификатор формы, которая есть на последней загруженной странице — auth-form. Эта форма — явно наш клиент, вносим ее название в переменную %forms и запускаем задачу еще раз, получаем примерно то, что изображено на следующем рисунке в центре. Новый идентификатор формы — hidden_form. Добавляем ее в переменную %forms, теперь ее значение будет ‘auth-form,hidden_form‘. Запускаем задачу еще раз и видим примерно то, что изображено на следующей рисунке справа — либо будет форма без идентификатора, либо пометка «отсутствуют» (зависит от ветки метро). Если теперь запустить браузер, будет понятно, что аутентификацию мы прошли. Присваиваем переменной %debug значение «0», и закрываем задачу — тут мы закончили.

Теперь дело за малым — настроить автоматический запуск задачи при подключении к нужной точке доступа. Переходим на закладку Profiles и создаем новый профиль, который будет активироваться после подключения к точке доступа московского метро. После того, как закончим формировать описание точки доступа, Tasker спросит нас с какой задачей связывать это профиль, выбираем, естественно, Metro Auth.

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

- Включить Wi-Fi;
- Дождаться сообщения «Аутентификация завершена» на экране;
- Загадочно улыбнуться и заняться своими делами.
UPD: По совету Self_Perfection я экспортировал проект и выложил одним файлом. Этот файл нужно скачать и положить в папку /sdcard/Tasker/projects, потом запустить Tasker, долгим нажатием на иконку домика в нижнем левом углу вызвать меню и выбрать Import. В этой версии я вынес проверку раз в две минуты в отдельный профиль — так должно расторопнее работать.
