• Как вызвать все атрибуты объекта через цикл?

    @Herest Автор вопроса
    Благодарю вас! Предложенный вами код для отсеивания магических методов мне очень пригодился)
  • Как вызвать все атрибуты объекта через цикл?

    @Herest Автор вопроса
    Благодарю вас! То, что нужно)
  • Как надежно хранить фото и видео?

    @Herest
    Если хотите надежно хранить то вам нужен RAID

    Запомните раз и навсегда, товарищи: рейды нужны для обеспечения ДОСТУПНОСТИ, а не для хранения. Если у вас работает сервер в режиме 24/7 и он никогда не должен выключаться, то здесь использование RAID массивов оправдано. В любых других случаях, в частности для резервного копирования, нужно применять другие решения (использовать несколько разных носителей, хранить данные в разных местах и в разных физических форматах).
  • Как надежно хранить фото и видео?

    @Herest
    Для начала прочтите эту статью на хабре, чтобы у вас не было каши в голове и вы определились, что конкретно вам нужно.
  • Как можно отследить объем трафика у пользователей на сервере WireGuard?

    @Herest
    Дмитрий Баскаков, да, он считает весь трафик с момента поднятия туннеля. Либо вам в начале каждого месяца придётся перезапускать службу WireGuard, чтобы обнулить счётчики, либо самому где-то записывать показания, а затем просто вычитать разницу за прошедший месяц.
  • Блок vpn на vps, что делать?

    @Herest
    touristik, жесть! Но раз блокируют всё подряд, то значит никакого анализа трафика нет и банят всё вручную. Остаётся только экспериментировать. Ищите любого хостинг провайдера, главный сайт которого свободно открывается в вашей стране. Если предоставляют тестовый режим, то можно бесплатно проверить работоспособность VPN. Если же после покупки сервера ваш IP будет заблокирован, то через техподдержку можно попробовать попросить замену IP из другой подсети провайдера. Если это не поможет, тогда да, нужно будет искать другой хостинг.
  • Как сделать доступным интернет проект 24/7?

    @Herest
    mayton2019, безусловно, это так, но автору вопроса будет достаточно и простого DNS, потому что это хостинг провайдер выключает его сервер. А Blue-Green deployments нужен, только если ты сам вдруг накосячил на своём сервере и надо быстро сделать откат к рабочему состоянию.
  • Как мне настроить Debian 11, чтобы работали глобальные IPv6 адреса через туннель WireGuard?

    @Herest Автор вопроса
    AlexVWill, а я просто использовал их публичные DNS серверы, настроив DNS-over-TLS для VPN с помощью службы systemd-resolved.
  • Как сделать доступным интернет проект 24/7?

    @Herest
    Важное уточнение!
    Делая DNS запрос, клиент получает не один, а сразу весь список доступных IP адресов.

    root@vps:~# resolvectl query vk.com
            93.186.225.208
            87.240.190.78
            87.240.190.72
            87.240.190.67
            87.240.137.158
            87.240.139.194

    И если вдруг по первому в списке IP адресу сервер не отвечает, то браузер автоматически попробует подключиться по второму адресу. Это самая простая отказоустойчивость, которую вообще только можно реализовать. Но для этого нужно иметь от 2-х и более рабочих копий вашего сайта под разными IP адресами. А чтобы все клиенты не ломились только в одну калитку, используется DNS балансировщик Round-robin, когда список адресов циклически перебирается и у разных пользователей на первом месте будут разные IP.
  • Как мне настроить Debian 11, чтобы работали глобальные IPv6 адреса через туннель WireGuard?

    @Herest Автор вопроса
    AlexVWill, на то есть две причины (собственно для этого IPv6 и создавался). Первая причина - это чтобы у каждого устройства был свой собственный глобальный адрес в сети интернет. Вторая причина напрямую вытекает из первой - чтобы интернет работал быстрее. Можно конечно и дальше использовать серые IPv4, сидя за тремя-четырьмя провайдерскими NAT, но всё это костыли из 90-х, которые усложняют, ограничивают и замедляют работу сети. Чтобы не быть голословным, вот ping отчёт с моего сервера для сравнения:

    root@vps:~# ping -4 google.com
    PING  (142.250.186.206) 56(84) bytes of data.
    64 bytes from waw07s05-in-f14.1e100.net (142.250.186.206): icmp_seq=1 ttl=120 time=44.4 ms
    64 bytes from waw07s05-in-f14.1e100.net (142.250.186.206): icmp_seq=2 ttl=120 time=44.4 ms
    64 bytes from waw07s05-in-f14.1e100.net (142.250.186.206): icmp_seq=3 ttl=120 time=44.3 ms
    64 bytes from waw07s05-in-f14.1e100.net (142.250.186.206): icmp_seq=4 ttl=120 time=44.5 ms
    64 bytes from waw07s05-in-f14.1e100.net (142.250.186.206): icmp_seq=5 ttl=120 time=44.9 ms
    ^C
    ---  ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4006ms
    rtt min/avg/max/mdev = 44.346/44.483/44.863/0.193 ms
    
    root@vps:~# ping -6 google.com
    PING google.com(waw07s05-in-x0e.1e100.net (2a00:1450:401b:80d::200e)) 56 data bytes
    64 bytes from waw07s05-in-x0e.1e100.net (2a00:1450:401b:80d::200e): icmp_seq=1 ttl=120 time=5.77 ms
    64 bytes from waw07s05-in-x0e.1e100.net (2a00:1450:401b:80d::200e): icmp_seq=2 ttl=120 time=5.86 ms
    64 bytes from waw07s05-in-x0e.1e100.net (2a00:1450:401b:80d::200e): icmp_seq=3 ttl=120 time=5.72 ms
    64 bytes from waw07s05-in-x0e.1e100.net (2a00:1450:401b:80d::200e): icmp_seq=4 ttl=120 time=5.74 ms
    64 bytes from waw07s05-in-x0e.1e100.net (2a00:1450:401b:80d::200e): icmp_seq=5 ttl=120 time=5.75 ms
    ^C
    --- google.com ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4007ms
    rtt min/avg/max/mdev = 5.723/5.769/5.861/0.048 ms