Задать вопрос
  • Сервер лицензирования 1С на VM или физической машине?

    Tkreks
    @Tkreks
    Системный инженер
    смотрия какой тип лицензирования используете
    Если программные лицензии и у вас кластер - могут слетать лицензии при миграции машин между хостами.
    Ну даже если и не кластер, захотите перенести ВМ с одно хоста на другой, с большой вероятностью нужно будет лицензию переактивировать.
    Если аппаратные - то нужно проверить что ваша виртуализация умеет прокидывать usb в машины. Опять таки, если кластер - умеет ли usb редиректить на другие хосты. Впринципе это не столь кретично, можно использовать какой нибудь virual here для проброса USB через сеть. Ключи СЛК таким способом пробрасываются нормально, в целом даже и рутокены с jacarta пробрасываются так нормально. В остальном особо гемора нет.
    Ответ написан
    3 комментария
  • Где на самом деле лежит и как называется файл hosts в windows?

    Tkreks
    @Tkreks
    Системный инженер
    Откройте notepad с правами пдминистратора. ПКМ по ярлыку нотепада - запустить от имени администратора и все увидится. То что вы админ, не значит что нотепад запускается с правами админа
    Ответ написан
  • Ограничение доступа к rest API битрикса?

    Tkreks
    @Tkreks
    Системный инженер
    Нельзя, но можно сделать костыли -
    Ограничение к api по IP, оставить доступ только разрешенным, не забудьте оставить oauth.bitrix и IP приложений которые установлены, если много всего установлено - тогда очень муторный вариант.
    Отслеживать созданные вебхуки и резать их, если создатель не из списка разрешенных.
    Но с рестом этом усе равно не поможет, битрикс сейчас активно проталкивает идею что каждый пользователь должен иметь возможность устанавливать приложения, чтобы разработчики приложений получали больше ₽₽₽
    Ответ написан
  • Как найти ip для входа в сервер?

    Tkreks
    @Tkreks
    Системный инженер
    При такой постановке вопроса никак не найти. Да и в общем случае если предположить что вы хотите найти реальный ip сервера, который пытается допустим сбрутфорсить ваш сервер по ssh. То скорее всего не получится определить, т.к. это будет огромное количество ботов на зараженных машинах или устройствах.
    Ну или если вас интересует нечто более тонкое, то расскажу вам свой пример. Мне нужно чтобы некоторые из мои устройств выходили с мобильных ip адресов (Ip адресов принадлежащим пулу моб.операторов) мои устройства это виртуальные машины, у меня куплены мобильные прокси, которые работают на необычных портах, т.е. понять что это прокси практически невозможно для конечного получателя данных. Т.к. это ВМ, я им запретил простой доступ в интернет, и разрешил только доступ на ip адреса проксей. Следовательно мой реальный ip никак не светиться наружу (серые ip меня не волнуют). Вот скажите, как при таком подходе найти мой ip, когда я запретил выход с моего реально ip в сеть
    Ответ написан
    Комментировать
  • Можно ли по получить div id вышестоящего блока в рамках одной collumn и вставить его в значение?

    Tkreks
    @Tkreks Автор вопроса
    Системный инженер
    Собственно немного углубился в тему. Воспользовался идеей от Сергей delphinpro и подсмотрел кусочки кода от Олег .
    Т.к. я использую bootstrap, там всё на row,col,div и тд. Я немного изменив свой шаблон, начал генерировать динамически код для каждой колонки. Т.к. у меня есть API для этой страницы, и предварительно мне всё равно в этом API нужно настраиваться свои колонки, то у меня получилась примерно следующая логика загрузки страницы:
    Загружается страница -> запускается JS -> обращение к API -> получение массива колонок с текущими параметрами -> далее срабатывает динамическая генерация. Код имеет такой вид
    <script>
            const apiUrl = 'http://127.0.0.1:1818/alice';
            const actionUrl = 'http://127.0.0.1:1818/action';
            
            // Функция для обновления данных агента
            function updateAlice() {
                $.get(apiUrl, function(data) {
                    if (data && data.length > 0) {
                        $('#alice_columns').empty(); // Очищаем старые данные
                        data.forEach(alice=> {
                            // Создаем новую колонку для колонки
                            
    const aliceColumn = `...куча html кода...'

    Кнопки избавил от form, привел к обычному виду, избавился от form.
    <button id="stop_${alice.room}" class="btn" data-bs-toggle="tooltip" type="button" title="Остановить воспроизведение">

    При помощи this, при нажатии на кнопку получаю данные именно нужной кнопки в нужной колонке. . Пришлось немного заморочиться с back, т.к. пришлось развернуть sql и там хранить данные. по всем колонкам, которые отдаются при загрузке страницы, но в целом когда настроил, добавил свою логику для добавления новых устройств, работать стало в разы проще и удобнее. По сути код вместо
    800+ строк стал около 120, и в случае изменения шаблона col колонки, мне достаточно внести изменения в одном месте. Так что свою задачу я решил, всем спасибо за участие и правильные советы, которые позволили мне прийти к нужному понимаю.
    P.S. WS к этому делу прикрутил, пришлось немного заморочиться с проверкой, какие данные нужно обновлять, использую 2 таблицы, a - actual, b - history. сравниваю их между собой, отличия отправляю по ws, в b записываю все данные из a. Данные с колонок поступают в хаотичном порядке, с интервалом от 0.5 - 2 секунд. Эти данные записываются в "a", далее срабатывает скрипт сравнения, если есть отличия между a и b, они отправляются в браузер пользователя. Т.е. таким образом, в браузер отправляются только измененные данные, те данные, которые браузер уже получил - не будут отправлены, тем самым минимизирую сетевую нагрузку и отправляю только то, что нужно обновить.
    msg.b = RED.util.cloneMessage(global.get("b"));
    msg.a = RED.util.cloneMessage(global.get("a"));
    
    msg.c = {};
    
    for (let key in msg.a) {
        if (msg.b.hasOwnProperty(key)) {
            // Проверяем, если ключ существует в обоих объектах и значения различаются
            if (msg.a[key] !== msg.b[key]) {
                msg.c[key] = msg.a[key];  // Добавляем в msg.c ключи с различиями
                msg.b[key] = msg.a[key];  // Обновляем значения в msg.b
            }
        } else {
            // Если ключ есть только в msg.a, то добавляем его в msg.c и msg.b
            msg.c[key] = msg.a[key];
            msg.b[key] = msg.a[key];
        }
    }
    
    // Сохраняем обновленный объект msg.b в глобальную переменную
    global.set("b", msg.b);
    
    // Устанавливаем msg.c в payload для возврата различий
    msg.payload = msg.c;
    
    return msg;

    P.P.S. Не знаю как, не знаю почему, у меня эта ПУ опубликована на моем домене в https://site.ru/home/site/alice, но каким то образом кто-то нашел мой сайт и начал делать различные действия с колонками, пришлось добавить проверку cookies. Если в кукисах нет пароля, то ничего не срабатывает и выводится окно для ввода пароля. Т.е. в режиме read only посмотреть сайт можно, а вот что-то сделать - будь добр введи пароль) Если хацкер от сюда, то знай что пароль 1234)
    Ответ написан
  • Как на я.картах формируют процентный показатель на основе отзывов?

    Tkreks
    @Tkreks
    Системный инженер
    Честно говоря не писал отзывы на картах, но порой видел оценки. Яндекс сейчас продвигает свою ИИ, особенно ее видно на маркете, хотя как по мне даже жптпро, тупее чем chatgtp 4o. Думаю мое предположение не далеко от истины будет - скорее всего они прогоняют отзывы через свою ИИ, получают контекст каждого отзыва и на основании него выдают такие результаты. Т.е. если в отзыве есть упоминание о персонале, это пойдет в общий зачет и даст контекст, который потом так или иначе оценивается и выводится в статистику. Т.к. суммарная оценка 5 баллов, это значит что >95% пользователей поставили 5 баллов. А в контексте персонал - 92%, ремонт 92% и тд, следовательно они как то вычленяют через ИИ контекст отзывов, и выставляют по нему свою оценку. Более детально, могут рассказать сотрудники яндекса, но они это не сделают ибо nda
    Ответ написан
    1 комментарий
  • Умный дом: программируемый умный дверной замок с удалённым управлением через GSM/3G/4G/5G?

    Tkreks
    @Tkreks
    Системный инженер
    Всё в одном не встречал. Если и есть, то будет нонейм китай. Но можно разделить. Например: 1) Aqara D100 поддерживает сценарии. Следовательно можно сделать нужные вам действия по условиям.2) Далее вариативно, либо роутер с usb или слотом пол сим. Попроще кинетик, позамороченнее микротик. 3) либо хаб с зигби, либо неттоп с свистком зигби и HA 4) ИБП
    Сотовая сеть жрет энергию, поэтому если не хотите заряжать замок каждые 3 месяца - это будет более оптимальный вариант.
    Но если уж совсем строгие требования, то лучше будет как и писал Алексей Бобров - ESP
    Ответ написан
    Комментировать
  • Огромные задержки при использовании RDP, moonlight, как доказать вину провайдера?

    Tkreks
    @Tkreks
    Системный инженер
    Зачем tracert делать до серверов гугла, когда более интересно было бы сделать до хоста RDP. Сделайте команду tracert до компьютера, к которому пытаетесь подключиться.
    Второй момент - я радмин впн не использовал, могу тут заблуждаться, но вроде как это некий аналог hamachi , значит чтобы ваша локальная сеть работала вы подключаете компы к удаленному серверу радмин впн. Поэтому в теории тут может быть такая проблема - провайдер который в гостях, может идти до сверверов радмин не через оптимальный маршрут, от сюда могу быть высокие задержки. Как раз tracert поможет показать эту картину. Желательно сделать 2 трасерта. Один при подключении к провайдеру, второй через мобильный интернет. Чтобы было с чем сравнивать. Ну и такие же пинги выложите.
    Третий момент, чтобы быстро решить проблему, можно например опубликовать рдп порт в интернет и подключаться через инет, или вместо rdp использовать anydesk, тогда ничего публиковать вообще не надо, достаточно будет настроить неконтролируемый доступ по паролю.
    Четвертый момент. Можете попробовать настроить zerotier, но вероятно для вас это будет сложно.
    Ответ написан
    9 комментариев
  • Можно как то реализовать отправка сообщений через мессенджеры?

    Tkreks
    @Tkreks
    Системный инженер
    Хотите что-то вроде онлайн чата на сайте, только отвечать клиентам через мессенджер?
    Не проще ли сделать ссылки вроде wa.me/79876543210 или t.me/@account которая ведёт на ваш номер, и чтобы клиент по ней кликал, у него открывался его аккаунт в мессенджер и он писал вам со СВОЕГО номера? Так можно и базу для рассылок накопить)
    А теперь представьте решение с технической стороны, вам нужно будет на сайт подключить аккаунт Вотсапе - а вотсап не любит автоматизации и банит, ну ладно опустим. Как будет выглядеть переписка? Постоянно с одного номера будут приходить сообщения на другой номер. Т.е. фиксированно будет переписка одного номера с другим. Какая там мешанина в чате будет?) а если 10 клиентов напишут одновременно, их ещё надо как то идентифицировать, чтобы отвечать каждому из них и нужно выводить историю диалогов только с конкретным клиентом, а не всю.
    В общем - технически такое реализовать возможно, но это будет сложно и с множеством всяких НО.
    Проще уже сделать классический онлайн чат и интеграцию, которые будет отправлять сообщения клиентов в нужный вам мессенджер.
    Силами тильды - нельзя. Только внешние решения. Рекомендую битрикс, но там указанная функция одна из и то ее нужно будет доплатить, чтобы работало как описано.
    Ответ написан
    Комментировать
  • Хочу чтоб определенные сайты работали через vpn, как настроить роутер?

    Tkreks
    @Tkreks
    Системный инженер
    На микротике можно такое организовать
    Ответ написан
    7 комментариев
  • Можно ли получить пользовательские поля сделки без токкена?

    Tkreks
    @Tkreks
    Системный инженер
    Можно, смотреть в сторону silenium. Но это будет куда сложнее, чем получить токен.
    Ответ написан
    Комментировать
  • Как управлять сетевыми потоками в домашних условиях?

    Tkreks
    @Tkreks
    Системный инженер
    Смотря чем обрезать.
    Можно прокси развернуть и определить в нем белый или черный список.
    Можно например на маршрутизаторе микротик, при помощи layer 7 , выделять днс запросы, и блокировать доступ к запрещенным. Но в таком случае указание днс сервера, отличного от ip адреса микротика - позволит обойти такой запрет.
    Можно в hosts файле прописать запрещенные домены и отсылать их в 127.0.0.1
    Я использую решение на микротике, т.к. мне нужно блокировать ютуб на определенных домашних устройствах (чтоб дети не смотрели)
    Ответ написан
    Комментировать
  • Как восстановить микротик из состояния "кирпич"?

    Tkreks
    @Tkreks
    Системный инженер
    Если взламывают устройство, то обычно делают reset, обновляют, настраивают. Скорее всего на какой до
    6.21 прошивке сидели , где при определенных условиях можно было получить доступ в админку. И то, это нужно вообще не разбираться в микротиках чтоб так накосячить, не ограничивать доступ в винбокс/телнет/ssh , да и вообще ламерство какое то, таким людям нельзя давать микроты.
    В вашем случае попробуйте найти инструкцию как сделать reset для вашей конкретной модели, а если уж как то и запороли то ищите мануал как прошивать через tftp
    Ответ написан
    Комментировать
  • Как сделать из компьютера прокси сервер для личного использования?

    Tkreks
    @Tkreks
    Системный инженер
    Самостоятельно Вам это будет сделать сложно. Но если уж очень хочется разобраться -
    Вам нужно именно прокси? Почему vpn не подходит?
    Какой у вас IP адрес, белый или серый? Динамический или статический?
    Кабель от провайдера приходит в роутер или сразу в компьютер?
    Ответ написан
    Комментировать
  • Как получать уведомление на телефон при вкл/откл электричества дома?

    Tkreks
    @Tkreks
    Системный инженер
    Всё что выше описано, не пришлет Вам уведомление в момент отключения электричества.
    Т.к. если внезапно вырубится свет - пропадёт в том числе и интернет, через который это уведомление должно уйти, да и само устройство тоже вырубится. Если живете в многоквартирном доме, то скорее всего и вырубится оборудование провайдера которое вам даёт интернет.
    Единственный вариант, это более умный дом, чем предлагает яндекс.
    Т.к. даже если опрашивать например колонку из умного дома - включена она или нет, то тут нет гарантий что у вас просто не пропал интернет, или кто-то из домашних её не отключил от электричества.
    На моём примере это сделано так - home assistant запущен на неттопе. Этот неттоп подключен к APC (ИБП) в который подключена плата с snmp. По SNMP получаются ивенты, по этим ивентам у меня различные сценарии отработаны. Например, когда пропадает электричество в доме, мне отправляется СМС уведомление что вырубило электричество. (смс отправляется через usb модем). Либо что повышенное\пониженное напряжение в сети зафиксировано - также отправляется оповещение. На разные оповещения разные сценарии. Неттоп в целом не очень прожорливый, и от APC 1500 может долго проработать. Не знаю на сколько, но мне успешно приходили уведомления что электричество UP после пары часов его отключения.
    Поэтому если хотите гарантированно иметь понимание, есть электричество или нет. То Вам нужен независимый источник питания + независимый канал связи, по которому вам это сообщение будет отправлено.
    UPD. перечитал вопрос, понял что вопрос заключается в том, что когда колонку включают\отключают от розетки.
    Тут всё по разному может быть, я бы сделал на микротике. Написал бы скрипт, который опрашивает с определенной периодичностью IP станции, если станция выключилась - отправил бы уведомление что она вырубилась. Если станция включилась - отправил бы что она заработала
    Ответ написан
    3 комментария
  • Как реализовать передачу данных из б24 на сайт?

    Tkreks
    @Tkreks
    Системный инженер
    Смотрите, у вас должно быть обязательное поле, у меня на проектах это поле номер телефона. Но может быть и email. Еще четко определитесь, куда Вы пишите данные, в сделку CRM или в клиента CRM. Тут много разных вариаций, опишу наиболее распространенный.
    1. Я говорю про пример классической CRM - с отдельной воронкой лидов и отдельной воронкой сделок. В воронке сделок, должно быть обязательное поле - клиент. Это может быть как контакт, так и компания. Как вы уже написали, можно получать данные по rest, а можно и вебхуком, что немного проще. Если используете схему, описанную выше, то сначала ищете id клиента по уникальному ключу (email/phone/etc) потом ищете активные сделки с этим клиентом. И далее методом crm.deal.get получаете поля сделки. Если нужно прочитать поля контакта, тогда crm.contact.get. таким образом вы получите список полей из сущности в crm в формате json и далее уже можете выводить их как удобно.
    2. Если у вас упрощенная crm, допустим нет воронки лидов, а используется сразу воронка лиды+сделки, и вы не заводите контакт в базу crm, тогда ищете по тому же ключу (почта/телефон/итд) в воронке сделок методом crm.deal.list и там в параметре filter указываете ключ.
    Думаю идея понятна. Чтобы не делать множество запросов - прочитайте про batch.
    В зависимости от загруженности сайта, рекомендую ставить кэширование на полученные данные. Например в битрикс облако, если не ошибаюсь, есть лимит 3 запроса в сек, в коробке с лимитами не встречался. Потом в бан могут отправить. Поэтому по возможности включите кэширование этих запросов, чтобы каждый раз не дергать crm , например когда пользователь обновляет страницу, а то так и задудосить может.
    Ответ написан
  • У комутатора hp a5120 je074a нету такого пункта как service-type web?

    Tkreks
    @Tkreks
    Системный инженер
    Обновить/откатить/проапргейдить прошивку
    Ответ написан
    Комментировать
  • Какое оборудование выбрать для видеонаблюдения по Wi-Fi в 2024 в условиях санкций и как его подключить?

    Tkreks
    @Tkreks
    Системный инженер
    Если видеонаблюдение важно и критично, то никаких wifi камер.
    Во вторых не надо лить в облако китайцам свои видео.
    В третьих: nvr - hiwatch/hikvision и камеры этого же производителя.
    Если нет своего белого айпи - арендуйте машину и за 250р/месяц организуйте себе белый ip, так и данные только у вас будут, и управлять этим всем только вы будете.
    Ответ написан
    6 комментариев
  • Правильно ли расположил Port Knocking для RDP в Firewall?

    Tkreks
    @Tkreks
    Системный инженер
    1.Меня сильно смущает наличие фастрак правил
    2.так не видно, на 2,3,4 правилах установлен timeout ? Я обычно ставлю 2-3 секунды
    3.drop all у вас идет выше разрешающего правила, либо в дроп олл выставит src.adress list != Knock_end, либо разрешающие правило повыше поставить.
    Ответ написан
  • Как исправить ошибку в работе уведомлений Bitrix24 CRM?

    Tkreks
    @Tkreks
    Системный инженер
    Я так понимаю у Вас коробка, раз можете менять сервер уведомлений.
    У нас было такое что звук уведомлений не проходил, на одном устройстве всё ок, на другом устройстве звука нет и счетчик обновлялся после обновления страницы. Вы используете bitrix vm ?
    Вообще, если есть лицензия, рекомендую в параллели обратиться в тех.поддержку, они вас закинут до второй линии и там уже скорее всего устранят. Нам именно тех.поддержка устранила проблему, но сейчас тот проект закрылся, и не могу посмотреть историю чата что они именно сделали. Проверку без ошибок проходите?
    Скрин
    666b0cd81d8d4148330429.png

    P.S. знаю что ошибка, это так и нужно
    Ответ написан