• Как сделать домен с SSL вместо IP для WG-Easy (реп. DigneZzZ/dwg)?

    @dronmaxman
    VoIP Administrator
    Не забудь поменять MYEMAIL@gmail.com на свой.
    version: "3"
    services:
      traefik:
        image: "traefik:v2.10"
        container_name: "traefik"
        command:
          #- "--log.level=DEBUG"
          - "--api.insecure=true"
          - "--providers.docker=true"
          - "--providers.docker.exposedbydefault=false"
          - "--entrypoints.web.address=:80"
          - "--entrypoints.websecure.address=:443"
          - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
          - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
          #- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
          - "--certificatesresolvers.myresolver.acme.email=MYEMAIL@gmail.com"
          - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
        ports:
          - "80:80"
          - "443:443"
    #      - "8080:8080"
        volumes:
          - "./letsencrypt:/letsencrypt"
          - "/var/run/docker.sock:/var/run/docker.sock:ro"
        networks:
          private_network:
            ipv4_address: 10.2.0.120
    
      unbound:
        image: "mvance/unbound:1.17.0"
        container_name: unbound
        restart: unless-stopped
        hostname: "unbound"
        volumes:
          - "./unbound:/opt/unbound/etc/unbound/"
        networks:
          private_network:
            ipv4_address: 10.2.0.200
    
      wg-easy:
        depends_on: [unbound, adguardhome]
        environment:
          - WG_HOST=MYHOST_IP
          - PASSWORD=openode
          - WG_PORT=51820
          - WG_DEFAULT_ADDRESS=10.10.10.x
          - WG_DEFAULT_DNS=10.2.0.100
          - WG_ALLOWED_IPS=10.2.0.0/24, 0.0.0.0/0, ::/0
          - WG_PERSISTENT_KEEPALIVE=25
          - WG_MTU=1280
        #image: ditek/wg-easy
        image: weejewel/wg-easy
        container_name: wg-easy
        volumes:
          - .:/etc/wireguard
        ports:
          - "51820:51820/udp"
    #      - "51821:51821/tcp"
        restart: unless-stopped
        cap_add:
          - NET_ADMIN
          - SYS_MODULE
        sysctls:
          - net.ipv4.ip_forward=1
          - net.ipv4.conf.all.src_valid_mark=1
        dns:
          - 10.2.0.100
          - 10.2.0.200
        networks:
          private_network:
            ipv4_address: 10.2.0.3
        labels:
          - "traefik.enable=true"
          - "traefik.http.routers.vpn.rule=Host(`vpn.site.com`)"
          - "traefik.http.routers.vpn.entrypoints=websecure"
          - 'traefik.http.routers.vpn.tls=true'
          - "traefik.http.routers.vpn.tls.certresolver=myresolver"
          - "traefik.http.services.vpn.loadbalancer.server.port=51821"
    
      adguardhome:
        depends_on: [unbound]
        image: adguard/adguardhome
        container_name: adguardhome
        restart: unless-stopped
        environment:
          - TZ=America/Los_Angeles
        volumes:
          - ./work:/opt/adguardhome/work
          - ./conf:/opt/adguardhome/conf
        networks:
          private_network:
            ipv4_address: 10.2.0.100
    
    networks:
      private_network:
        ipam:
          driver: default
          config:
            - subnet: 10.2.0.0/24
    Ответ написан
  • Удалил launchpad (каталог приложений на мак )из док, как вернуть?

    @dronmaxman
    VoIP Administrator
    Ответ написан
    Комментировать
  • Как получить доступ до localhost на MacOs с виртуальной машины на Parallels Windows 11?

    @dronmaxman
    VoIP Administrator
    надо проверить что localhost:8888/pablo-new запущен на 0.0.0.0 а не на 127.0.0.1 т.к. и то и то отывается на localhost.

    Зайти на вируалку и попробовать открыть 172.16.0.1:8888/pablo-new, если не получиться то попробовать отключить firewall на macOS.
    Ответ написан
    Комментировать
  • Что потенциально Windows может знать о том что происиходит в Linux, установленные на один жесткий диск?

    @dronmaxman
    VoIP Administrator
    нет, поумолчанию windows даже не умеет работать с файловой системой linux, а следовательно для него это выглядит как дисковый раздел в неизвестном формате. Какой там может быть сбор данных если она даже прочитать это не может)
    Ответ написан
    6 комментариев
  • Как в телеботе получить от пользователя фотографию и сохранить в переменную?

    @dronmaxman
    VoIP Administrator
    import telebot
    import pandas as pd
    
    TOKEN = '972378863:AAEq29oLt61234sdfsdf3pQ1tXRpzmM'
    bot = telebot.TeleBot(TOKEN)
    
    
    @bot.message_handler(content_types=['photo'])
    def handle_photo(message):
        file_id = message.photo[-1].file_id
        
        for chat_id in chats_ids:
            bot.send_photo(chat_id, file_id)
    
    @bot.message_handler(content_types=['document'])
    def handle_document(message):
        file_id = message.document.file_id
        
        for chat_id in chats_ids:
             bot.send_document(chat_id, file_id)
    
    
    file_data = pd.read_excel('./tgid.xlsx')
    
    # Читаем id из колонки chat_id
    chats_ids = file_data['chat_id'].tolist()
    
    bot.polling()
    Ответ написан
  • Как изменить маштаб видео?

    @dronmaxman Автор вопроса
    VoIP Administrator
    Расширение которое решилу мою задачу.

    https://chromewebstore.google.com/detail/zoom-to-f...

    Так же браузер EDGE на macOS можно маштабировать видео через Command+UP
    Ответ написан
    Комментировать
  • Докер и прочие контейнеризаторы - для доставки контента или также для разработки?

    @dronmaxman
    VoIP Administrator
    >Или все же это инструмент в первую очередь для доставки контента?
    Докер упрощает процесс доставки контента, но это не едиственный его плюс. Он позволяет быстро создать,воссоздать,повторить аналогичное окружение и зависимости которые необходимы твоему приложению в любом (почти) месте где есть поддержка docker.

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

    > Как с этим дела в реальной жизни, на реальном среднестатистическом проекте?
    Повсеместно испольуется. Следующий шаг развития докер это k8s, а это mainstream. Если ты умееш работать с докером, то освоить k8s уже намного проще.

    Если сильно упростить то контейнер докер это виртуальная машина на linux внутри которой крутиться одно приложение. В идеологии докера каждое приложение должно быть в отдельном контейнере - mysql,redis,php.

    Докер позволяет обойти проблему зависимостей.

    Помню когда первый раз столкнулся с docker, это была система анализа логов от ruckus. По своей структуре это был centos на котором было запущено 8-9 контейнеров docker. Таким подходом ruckus как минимум решил для себя проблему установки обновлений, тебе не надо ставить обновления на саму ОС, тебе достаточно обновить контейнер. Если контейнер не запустился, то просто откати его. Все библиотеки и зависимости внутри контейнеров. Это настолько упростило процесс разработки и доставки обновлений, что сложно и представить.
    Ответ написан
    Комментировать
  • Можно ли купить операционную систему macOS?

    @dronmaxman
    VoIP Administrator
    может купит операционную систему macOS легально как нибудь?

    Она продается вместе с оборудованием, легально можно установить только на технику apple.

    а к их операционной системе я привык.

    Поставь linux и настрой окружение что бы было похоже на macOS или хакинтош.
    Ответ написан
    Комментировать
  • Из-за роутера (mikrotik) не открываются сайты, как исправить?

    @dronmaxman
    VoIP Administrator
    В теории твой роутер могли взломать, но это легко проверить если подключить пк к интернет на прямую минуя роутер. Скорее всего провайдер модифицирует начало tls сессии что бы исключить tls 1.3. Возможно провайдер так блокирует ресурсы которые попали в не милость.
    Ответ написан
    Комментировать
  • Ошибка при использовании grep на сервере?

    @dronmaxman
    VoIP Administrator
    grep -I -n -H 
    
    
    -I -- process a binary file as if it did not contain matching data; 
    -n -- prefix each line of output with the 1-based line number within its input file
    -H -- print the file name for each match
    
    grep -RInH "Pomeo" /*
    Ответ написан
    Комментировать
  • Если IP сервера в спамбане влияет ли это на домен?

    @dronmaxman
    VoIP Administrator
    что IP сервера не загрязняет домен,

    В спам лист может попасть как адрес там и домен, особенно если они на одном IP адресе. Но в твоем случае это влияет только на отправку почты. Некоторые блокировщики не различают причину попадания IP адреса в BAN список, если адрес в списке значит на всякий случай мы ему все закроем).

    Ты конечно в спам списке, но это не повод откидывать твои письма, такие крупные агрегаторы как mail.ru или gmail.com обычно пропускаю такие письма но помечаю как спам.

    По хорошему пройди тест и настрой почту согласно рекомендаций.
    https://www.mail-tester.com/
    Ответ написан
    Комментировать
  • Как различить двух операторов на одном телефоне?

    @dronmaxman
    VoIP Administrator
    Необходимо их различать.

    Что бы различать в cdr, можно задействовать доп поле userfield

    1500 - допустим внутренний номер оператора
    *220 - номер по которому операторы меняют свое имя каждое утро, можно добавить проверку что бы они не забывали это делать.
    
    [app-register-operator]
    exten => _*220,1,Answer
     same => n,Noop(-------app-register-operator----)
     same => n,Set(MYPIN=NOPIN)
     same => n,Read(${MYPIN},enterPin,,,4,15)
     same => n,Goto(go-${MYPIN})
     same => n(go-2232,Noop(------register-ping-${MYPIN}------)
     same => n,Set(DB(AOPERATOR/1500)="Operator1")
     same => n,HangUP()
     same => n(go-3321),Noop(------register-ping-${MYPIN}------)
     same => n,Set(DB(AOPERATOR/1500)="Operator2")
     same => n,HangUP()
     same => n(go-NOPIN),Noop(------register-ping-${MYPIN}------)
     same => n,Set(DB(AOPERATOR/1500)="NotSet")
     same => n,HangUP()
    
    
    [dial]
    exten => _X.,1,Noop(----Internal-Call----)
     same => n,GotoIf($[${DB(AOPERATOR/${CALLERID(num)})}= NotSet]?:go-notset)
     same => n,Set(CDR(userfield)=${DB(AOPERATOR/${CALLERID(num)})}) ;; добавляем в CDR имя в специальное поле в DB cdr, или любое другое поле
     same => n,Dial(SIP/${EXTEN})
     same => n,HangUp()
     same => n(go-notset),PlayBack(phoneNotRegister_PleaseRegisterBeforeCall)
      same => n,HangUp()
    
    Добавить задание в крон которое будет скидывать значение после работы
    asterisk -rx "database put AOPERATOR 1500 NotSet"


    Через SIP можно заставить телефон перезагрузиться, соответственно написать app который будет по короткому номеру генерить новый конфиг для телефона и отправлять ему команду reboot.
    /etc/asterisk/sip_notify.conf
    Ответ написан
    Комментировать
  • Nginx Proxy Manager + yunohost как настроить переадресацию?

    @dronmaxman
    VoIP Administrator
    Первое что стоит проверить это редирект с 80 на 443 порт.

    Возможно в ты настроил в NPM проксирование на 80 порт, а в приложении стоид редирект на 443 порт. Получает что запрос приходит на NPM на 443, он проксирует на 80 приложения, там ему отвечают иди на 443, клиент снова идет на 443, NPM проксирует на 80, а ему снова говорят или 443.
    Ответ написан
    Комментировать
  • Как скрыть в Winbox Neighbors для всех, кроме management интерфейса?

    @dronmaxman
    VoIP Administrator
    ip neighbor
    Нажимаем Discovery Setting и настраиваем на свой вкус.
    Ответ написан
    5 комментариев
  • Облачный AD, почта и удаленный филиал, какая архитектура дешевле?

    @dronmaxman
    VoIP Administrator
    свой exchange или подписка

    Ты просто не осознаеш какой это геморой обслуживать собственный сервер (корректно настроить все записи MX+DKIM+SPF, постоянно проверять что провайдер не банит адрес твоего сервера, что твой адрес не попал в спам лист, куча жалом на спам, у одного не приходят письма, у второго не отправляются, у третьего все в спам попадает, аааа...). Пока компания согласна на подписку и облако, то не стоит использовать свои почтовые сервера. Exchange больше не будет, майки полностью уходят в облако.

    azure ad как услуга

    Конечно azure и не надо никаких VPN.
    Ответ написан
    2 комментария
  • Какая есть программа для демонстрации экрана с windows на imac?

    @dronmaxman
    VoIP Administrator
    Ответ написан
    Комментировать
  • Как на c# организовать обмен сообщениями между сервером и клиентом, если нет белого айпи?

    @dronmaxman
    VoIP Administrator
    сервер в интернете нужен лишь чтобы себе компанию найти, а дальше хостем выступает один игрок.

    Не всегда, если клиенты не могут соединиться напрямую, то соединение идет через промежуточные сервера. Думаю что поможет понимание в работе upnp, STUN, TURN.
    Как пробивать НАТ?
    Ответ написан
    Комментировать
  • Ошибка в bash скрипте: bash unexpected EOF while looking for matching `'' - что именно не так?

    @dronmaxman
    VoIP Administrator
    | sed -e \"s/[,']//g\")"
    Так делать нельзя, двойные кавычки внутри двойных кавычек.
    Попробуй так
    | sed -e \' s/[,\']//g\')"
    Ответ написан
  • Как выбрать расстояние до веб сервера?

    @dronmaxman
    VoIP Administrator
    Провайдеру не выгодно гонять трафик через Токио) Гарантировать один маршрут можно только в пределах одной локальной сети. В других случаях такая идея ломает резервирование каналов и балансировку. 95% случая маршрут всегда будет самым коротким.

    Те знать время прохождения до того ка взял сервер практически невозможно.

    У провайдера услуги можно встретить утилиту или список IP для проверки связи к различным его датацентрам и таким образом определить оптимальный датацент для размещения VPS.

    Так что, забивай в google провайдера который понравился и добавляй speedtest
    как пример
    https://fastvps.ru/support/kb/8456431
    https://ishosting.com/ru/looking-glass
    Ответ написан
    1 комментарий