Jump to content
Форум по продукции MOXA

oiv_1968

Пользователи
  • Posts

    163
  • Joined

  • Last visited

Информация

  • Пол
    Мужчина

Recent Profile Visitors

18997 profile views

oiv_1968's Achievements

Повелитель коммуникационных сил

Повелитель коммуникационных сил (4/5)

0

Reputation

  1. Вы наверное правы. Сейчас я только блокировал список URL, методом перенаправления на адрес веб странички в локальной сети... Радует одно - не занимает много ОЗУ. И ТВ онлайн и многое другое с браузера, где много вкладок открыто... в том числе и блокированных. Количество соединений достаточное. Из одной подсети (LAN2) в другую подсеть с интернетом (LAN1) с перенаправлением при блокировке на вебсервер в первой подсети(LAN2). И это всё одновременно кроме прочего остального может малыш UC-7112-Lx-Plus
  2. Вот описание и возможные настройки http://wiki.rosalab.ru/ru/index.php/Блокировка_интернет_рекламы_с_помощью_Privoxy http://open-life.org/blog/howto/188.html устройство UC-7112-Lx-Plus "висит на гвоздике" и фильтрует ряд URL адресов... на случай когда ребёнок приезжая ко мне использует интернет через мой комп. Хорошо помогает
  3. Доброго времени суток! Решение найдено... кривое но работает: 1) На некой машине с Linux имеется компилятор для устройства и некий "умный" скрипт, который запускается при включении. На ней же и доступный для устройства NFS. 2) На устройстве примонтирована директория NFS ттой самой машины. Устройство производит некие(соответствующие) действия и сохраняет командный файл. 3) "Умный" скрипт на машине Linux найдя этот командный файл что-то компилирует. 4) Устройство запускает результат той компиляции, даже не загружая себе... NFS ведь общий как для устройства, так и для машины с Linux. Всё это сейчас активно использую. Спасибо NFS!!!!
  4. доброго времени суток! Вдруг стало сыпаться меж ног я ноклноился охреневший сначала думал что песок а это порох не сгоревший С ПРАЗДНИКОМ ДРУЗЬЯ( не Подруги потому как для Вас есть свой день... но позже, но поверьте я очень Вас люблю )
  5. Вот это: обёртка в виде HTML страницы этих двух скриптов (PHP и BASH). Работает с базой (там список прокси). UC-7112-Lx-plus проверяет их доступность непрерывно, выбирая из удалённой базы MySQL(на каком-то сервере в локальной сети). Следует отметить, что эта обёртка далека от завершения: https://yadi.sk/d/BcZp-dXyyr3Epw Клиент mysql на устройстве тут не используется. Для работы потребуется установка curl на устройство это тут(надо выбрать последнюю версию: curl_7.63.zip ...и может ещё что-то будет полезное): https://moxa.ru/forum/index.php?/topic/25195-сказка-про-nc-или-как-его-не-хватало/ Для работы в файле index.php изменить на свои значения: // $host = '192.168.7.150'; // Хост $user = 'nsite'; // Имя пользователя $pass = 'nsite'; // пароль пользователя $db_name = 'nsite_db'; // Имя базы данных Тут параметры сервера MySQL... IP адрес, пользователь, пароль и имя базы данных. Скрипт PHP (если его запускать автономно из браузера) позволяет кое-что формировать/изменять в самой базе (смотрите исходник файла). Содержимое архива поместить в директорию работы сервера Apache на устройстве MOXA(IA240LX/IA241LX/UC7112Lx-Plus). Для запуска/остановки скрипта на странице "скрипт проверки прокси" кнопки "старт" и "стоп" соответственно. Таблица "User Agent" в базе должна быть создана вручную. Можно воспользоваться утилитой mysql на самом устройстве (если установили конечно). Окно "ПРОКСИ ЛИСТ" управляемое... интерактивно (по клику мышки) можно добавить/удалить IP:PORT прокси, а кнопка "Получить" выводит список IP:PORT прокси и результаты проверки из удаленной базы MySQL. Остальные органы управления пока в доработке.
  6. Доброго времени суток! Кто-нибудь собирал mosquitto для IA240-LX/UC-7112-LX-Plus ??? Конкретно интересуют: mosquitto_sub и mosquitto_pub Испытал на PC(Debian) - отлично. Вот думаю надо ли собирать(проба) или собрал кто уже. Спасибо!
  7. Я же говорил: Простите!!! Я сам виноват с количеством захватов и освобождений мютексов пролетел. Ещё раз простите!
  8. Вообще-то мне предоставили диск от устройства IA240Lx... там много чего есть для того что бы собрать. Есть там и MySQL.
  9. Но сегодня у меня получидось собрать MySQL client на устройство (вот ссылка на архив): https://yadi.sk/d/W3_IzV38rslFAA Надо в сессии ROOT запустить setup.sh. у меня директории /lib и /usr на SD - карте. Не пытайтесь подключиться локально (это по умолчанию) - на устройстве нет MySQL сервера. вот: www-data@Moxa:~$ mysql -u nsite -pnsite -h 192.168.7.150 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 5.5.5-10.1.45-MariaDB-0+deb9u1 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | nsite_db | +--------------------+ 2 rows in set (0.12 sec) mysql> use nsite_db; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +--------------------+ | Tables_in_nsite_db | +--------------------+ | ProxyList | +--------------------+ 1 row in set (0.00 sec) mysql> select * from ProxyList; +----+-----------------------+------+-------+--------+---------+--------+----------+---------+------------+--------+ | id | UrlPort | http | https | socks4 | socks4a | socks5 | TimeWait | Country | RegionName | Status | +----+-----------------------+------+-------+--------+---------+--------+----------+---------+------------+--------+ | 1 | 174.70.241.8:24398 | 0 | 0 | 1 | 1 | 1 | NULL | NULL | NULL | NULL | | 3 | 66.135.227.178:4145 | 0 | 0 | 1 | 1 | 1 | NULL | NULL | NULL | NULL | | 6 | 216.144.230.233:15993 | 0 | 0 | 1 | 1 | 1 | NULL | NULL | NULL | NULL | | 8 | 162.243.108.129:8080 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 10 | 207.97.174.134:1080 | 0 | 0 | 1 | 0 | 0 | NULL | NULL | NULL | NULL | | 12 | 72.11.148.222:56533 | 0 | 0 | 1 | 1 | 1 | NULL | NULL | NULL | NULL | | 14 | 174.76.48.230:4145 | 0 | 0 | 1 | 1 | 1 | NULL | NULL | NULL | NULL | | 15 | 109.105.205.229:4145 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 17 | 132.255.92.35:53281 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 19 | 152.204.128.46:33047 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 21 | 182.160.117.130:53281 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 23 | 138.68.41.90:3128 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 25 | 88.198.50.103:8080 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 27 | 103.113.3.242:4145 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 29 | 45.119.85.54:8080 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 31 | 196.55.140.61:80 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 33 | 81.201.60.130:80 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 35 | 63.249.67.70:53281 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 37 | 98.143.144.62:45582 | 0 | 0 | 0 | 1 | 0 | NULL | NULL | NULL | NULL | | 39 | 52.251.47.125:3128 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 41 | 95.174.67.50:18080 | 1 | 0 | 0 | 0 | 1 | NULL | NULL | NULL | NULL | | 43 | 196.54.47.139:80 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 45 | 196.54.50.164:80 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 47 | 196.55.140.4:80 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 49 | 167.71.119.18:9050 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 51 | 103.215.16.238:4145 | 0 | 0 | 1 | 0 | 0 | NULL | NULL | NULL | NULL | | 53 | 46.218.155.194:3128 | 1 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 55 | 161.202.226.194:80 | 0 | 0 | 0 | 0 | 0 | NULL | NULL | NULL | NULL | | 57 | 3.11.214.31:80 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 59 | 176.9.75.42:8080 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 61 | 188.166.83.17:8080 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 63 | 114.5.36.243:4145 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 65 | 138.197.157.32:8080 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 67 | 46.254.217.67:61781 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 69 | 13.244.114.163:80 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 71 | 138.197.157.32:1080 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 73 | 191.96.42.80:1080 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 75 | 109.232.106.236:52435 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 76 | 96.54.47.197:80 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 78 | 92.117.146.110:80 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | +----+-----------------------+------+-------+--------+---------+--------+----------+---------+------------+--------+ 40 rows in set (0.01 sec) mysql> Теперь BASH скрипты на самом устройстве умеют сами производить операции чтения/записи/изменения на удалённых MySQL серверах с базами данных. Одним словом полноценный MySQL клиент прямо на UC-7112-LX-Plus и IA240LX
  10. Потом был скрипт BASH: #!/bin/bash # Тест прокси по URL # Входные параметры №1 - номер по списку в базе, №2 - URL прокси сервера # tw="60" # максимальное время ожидания myurl="127.0.0.1" ((_http = 0)) ((_https = 0)) ((_socks4 = 0)) ((_socks4a = 0)) ((_socks5 = 0)) _num=$1 _pr=$2 _par="" function fproxy() { start=$(date +%s) str=$(curl -s --max-time $tw -x $_pr -U YOURUSER:YOURPASS ip-api.com/json) end=$(date +%s) if(((${#str} > 8))); then diff=$(( end - start )) ((_http = 1)) fi start=$(date +%s) str=$(curl -s --max-time $tw -x https://$_pr -U YOURUSER:YOURPASS ip-api.com/json) end=$(date +%s) if(((${#str} > 8))); then diff=$(( end - start )) ((_https = 1)) fi start=$(date +%s) str=$(curl -s --max-time $tw --socks4 $_pr ip-api.com/json) end=$(date +%s) if(((${#str} > 8))); then diff=$(( end - start )) ((_socks4 = 1)) fi start=$(date +%s) str=$(curl -s --max-time $tw --socks4a $_pr -U YOURUSER:YOURPASS ip-api.com/json) end=$(date +%s) if(((${#str} > 8))); then diff=$(( end - start )) ((_socks4a = 1)) fi start=$(date +%s) str=$(curl -s --max-time $tw --socks5 $_pr -U YOURUSER:YOURPASS ip-api.com/json) end=$(date +%s) if(((${#str} > 8))); then diff=$(( end - start )) ((_socks5 = 1)) fi echo "http:"$_http" https:"$_https" socks4:"$_socks4" socks4a:"$_socks4a" socks5:"$_socks5 _par="ramdisk/index.php?cmd=resproxy&num="$_num"&UrlPort="$_pr"&http="$_http"&https="$_https"&socks4="$_socks4"&socks4a="$_socks4a"&socks5="$_socks5 echo $_par toserver="--max-time 10 http://"$myurl"/"$_par curl $toserver } fproxy $1 exit 0 При запуске этого скрипта с параметрами "номер условный" и "IP/URL:Port" производится проверка указанного прокси на доступность по HTTP, HTTPS, SOCKS4, SOCKS4a, SOCK5 и завершает свою работу отправкой через Curl запроса с парамертами к Apache с PHP скриптом. Скрипт производит обработку и сохранение в базе, после чего увеличивает счётчик и выбирает новый IP/Url:Port из базы и вновь запускает этот BASH скрипт. И так циклически скрипты запускают друг друга. Эти оба скрипта BASH и PHP на устройстве UC-7112Lx-plus. Вроде работает....
  11. Первая попытка... а на что PHP? Но он у меня работает только в составе Apache при обработке зпросов, хоть и умеет быть клиентом MySQL. А что (зачем) дома? То была попытка проверки прокси на доступность по списку. Ну должна же она что-то делать! На системном блоке с Debian был поднят MySQL сервер, создан пользователь и база. Со стороны UC-7112Lx-plus скрипт PHP: <?php header('Content-Type: text/html; charset=utf-8'); error_reporting(0); // $help = " <table> <tr> <td colspan=\"3\" ali align=\"center\" style=\"color: rgb(255,255,255);\">Подсказка к вызываемому скрипту</td> </tr> <tr> <td colspan=\"3\" ali align=\"center\" style=\"color: rgb(255,255,100);\">Для работы с прокси:</td> </tr> <tr> <td style=\"color: rgb(255,100,255);\">cmd=DropProxyListTable</td> <td widht=\"5px\"></td> <td style=\"color: rgb(255,100,255);\">-Удалить таблицу прокси</td> </tr> <tr> <td style=\"color: rgb(100,255,255);\">cmd=CreateProxyListTable</td> <td widht=\"5px\"></td> <td style=\"color: rgb(100,255,255);\">-Создать таблицу прокси</td> </tr> <tr> <td style=\"color: rgb(255,100,255);\">cmd=WrProxyUrl&Url=<значение></td> <td widht=\"5px\"></td> <td style=\"color: rgb(255,100,255);\">-Добавить новый URL прокси в таблицу</td> </tr> <tr> <td style=\"color: rgb(100,255,255);\">cmd=RmProxyUrl&Url=<значение></td> <td widht=\"5px\"></td> <td style=\"color: rgb(100,255,255);\">-Удалить URL прокси из таблицы</td> </tr> <tr> <td style=\"color: rgb(255,100,255);\">cmd=RdAllProxyUrl</td> <td widht=\"5px\"></td> <td style=\"color: rgb(255,100,255);\">-Вывод на экран список прокси</td> </tr> <tr> <td style=\"color: rgb(100,255,255);\">cmd=RdAllProxyUrlJ</td> <td widht=\"5px\"></td> <td style=\"color: rgb(100,255,255);\">-Вывод список прокси в JSON</td> </tr> <tr> <td colspan=\"3\" ali align=\"center\" style=\"color: rgb(255,255,100);\">Для работы PING:</td> </tr> </table>"; // $cmd = $_GET['cmd']; $url = $_GET['Url']; // $http = $_GET["http"]; $https = $_GET["https"]; $socks4 = $_GET["socks4"]; $socks4a = $_GET["socks4a"]; $socks5 = $_GET["socks5"]; $UrlPort = $_GET["UrlPort"]; $num = $_GET["num"]; // $host = '192.168.7.150'; // Хост $user = 'user'; // Имя пользователя $pass = 'user'; // пароль пользователя $db_name = 'nsite_db'; // Имя базы данных if($cmd == null) { echo $help; } else if($cmd == "netstat") { $res = shell_exec("netstat -nlta | grep tcp | sed \"s/\n/<br>/g\""); echo $res; } else { $link = mysql_connect($host, $user, $pass); // Соединяемся с базой if (!$link) { echo 'Error coonnect to database!'; exit; } else if($cmd == "DropProxyListTable") { $sdb = "DROP TABLE ProxyList"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } } else if($cmd == "CreateProxyListTable") { $sdb = "CREATE TABLE ProxyList(id INT AUTO_INCREMENT PRIMARY KEY, UrlPort varchar(32), http INT, https INT, socks4 INT, socks4a INT, socks5 INT, TimeWait FLOAT, Country varchar(48), RegionName varchar(48), Status varchar(16), UNIQUE (UrlPort))"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } } else if($cmd == "WrProxyUrl") { $sdb = "INSERT INTO ProxyList(UrlPort) VALUES ('".$url."')"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } $rows = mysql_num_rows($sql); $strUrlPort = ""; $cnt = 0; while($cnt < $rows)// получаем все строки в цикле по одной { $row = mysql_fetch_array($sql); if(($cnt + 1) < $rows) $strUrlPort .= "\"".$row['UrlPort']."\",";// выводим данные URL else $strUrlPort .= "\"".$row['UrlPort']."\"]";// выводим данные URL $cnt++; } $strJSON = "{\n\"UrlPort\":[".$strUrlPort."\n}"; echo $strJSON; } else if($cmd == "RmProxyUrl") { $sdb = "DELETE FROM ProxyList WHERE UrlPort='".$url."'"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } $rows = mysql_num_rows($sql); $strUrlPort = ""; $cnt = 0; while($cnt < $rows)// получаем все строки в цикле по одной { $row = mysql_fetch_array($sql); if(($cnt + 1) < $rows) $strUrlPort .= "\"".$row['UrlPort']."\",";// выводим данные URL else $strUrlPort .= "\"".$row['UrlPort']."\"]";// выводим данные URL $cnt++; } $strJSON = "{\n\"UrlPort\":[".$strUrlPort."\n}"; echo $strJSON; } else if($cmd == "RdAllProxyUrl") { $sdb = "SELECT * FROM ProxyList"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } // while($row = mysql_fetch_array($sql))// получаем все строки в цикле по одной { $UrlPort = $row['UrlPort']; echo '<p>UrlPort : '.$UrlPort.'</p>';// выводим данные } } else if($cmd == "RdAllProxyUrlJ") { $sdb = "SELECT * FROM ProxyList"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } $rows = mysql_num_rows($sql); $strUrlPort = ""; $cnt = 0; while($cnt < $rows)// получаем все строки в цикле по одной { $row = mysql_fetch_array($sql); if(($cnt + 1) < $rows) $strUrlPort .= "\"".$row['UrlPort']."\",";// выводим данные URL else $strUrlPort .= "\"".$row['UrlPort']."\"]";// выводим данные URL $cnt++; } $strJSON = "{\n\"UrlPort\":[".$strUrlPort."\n}"; echo $strJSON; exit; } else if($cmd == "testproxy") { $sdb = "SELECT * FROM ProxyList"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } $rows = mysql_num_rows($sql); if($rows > 0) { $cnt = 0; $num = 0; while($cnt < $rows) { $row = mysql_fetch_array($sql); $UrlPort = $row['UrlPort']; if($num == $cnt) break; $cnt++; } } else exit; $cmd = "./testproxy.sh ".$num." ".$UrlPort." &"; $strres = shell_exec($cmd); echo "UrlPort=".$UrlPopt."cmd = ".$cmd; exit; } else if($cmd == "resproxy") { $sdb = "UPDATE ProxyList SET "; $sdb .= "http = ".$http.","; $sdb .= "https = ".$https.","; $sdb .= "socks4 = ".$socks4.","; $sdb .= "socks4a = ".$socks4a.","; $sdb .= "socks5 = ".$socks5." "; $sdb .= "WHERE UrlPort = \"".$UrlPort."\""; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } $sdb = "SELECT * FROM ProxyList"; $query = sprintf($sdb); $sql = mysql_db_query($db_name,$query); if(!$sql) { echo "Err : ". mysql_error(); exit; } $rows = mysql_num_rows($sql); if($num < $rows) $num++; else $num = 0; while($cnt < $rows) { $row = mysql_fetch_array($sql); $UrlPort = $row['UrlPort']; if($num == $cnt) break; $cnt++; } $cmd = "./testproxy.sh ".$num." ".$UrlPort." &"; $strres = shell_exec($cmd); echo "UrlPort=".$UrlPopt."cmd = ".$cmd; exit; } else { echo "<p>Uncnown coomahd : ".$cmd; exit; } } ?> После чего с веб страницы были удачные попытки работы с базой.
  12. Доброго времени суток! Тут, как и везде для меня ключевое слово MOXA(IA240Lx/UC-7112Lx-plus) потому и рассматриваю это. Есть ли возможность осуществлять доступ к базе данных MySQL непосредственно из устройства(указано выше) по локальной сети. Проводил опыты с Apache + php, которые тут в темах этого раздела. Делал скрипт php и получал доступ к базе MySQL через него используя браузер на PC. Но задача стоит в том, что-бы приложение которое крутиться на устройстве само получило доступ к базе в локальной сети. Есть ли варианты реализации этого? С глубоким уважением! Заранее спасибо!
  13. РЕШЕНО! Точнее сейчас другой контроллер и на нём OPC UA. Уже реализовано. Рассматривал в соседних темах. Извините!
  14. Доброго времени суток! Вот реализовал доступ к OPC UA к серверу для сбора параметров из устройства IA240. Теперь возникло желание(задание) что бы это же устройство получало доступ к MySQL серверу с целью их сохранения. Вот перебрал много чего из исходников, но имеющийся кросс-компилятор не умеет того что умеет обычный на Debian. Если не сложно ткните носом на подходящие исходники для сборки libmysqlclient(mysql-client). Заранее благодарен.
  15. Прошу прощения... но сейчас использую NFS и очень доволен. Так что вышеупомянутое теперь без надобности. На устройстве монтируется удалённый каталог NFS. А если надо от устройства что-то сохранять на SMB, то curl (на самом устройстве) всяко способствует.
×
×
  • Create New...