Задать вопрос
  • Какова цель шторма сайта ботнетом с http-реферерами которых передаётся урл какой-то рекламной помойки?

    xenon
    @xenon
    Too drunk to fsck
    вижу две цели.
    1. иногда статистика сайта публикуется (например, через webalizer). Ссылка может быть неприметная, юзеры на нее не заходят, но, бывает, что поисковик до нее добирается. Соответственно, с какждого такого атакованного сайта будут нужные ссылки на помойку.
    2. админ (вы) сам может перейти (да, не каждый, но "пять старушек - рубль", они, возможно, все .ru или .com сайты так заспамливают). Будет очень качественный переход (разные подсети, разные браузеры, ОС) и какая-то реферральная ссылка может сработает.
    Ответ написан
    Комментировать
  • Какой облачный хостинг взять для пет проекта?

    xenon
    @xenon
    Too drunk to fsck
    Если очень хочется поиграться с амазоном: https://aws.amazon.com/free/ - вообще бесплатно, но это только на 12 месяцев. Для поиграться, чтоб немного получить опыта и строчку в резюме - может быть нормально. Но хоститься там будет дороже, чем на дешевом VPS вроде hetzner.

    И в гугле есть бесплатная VPS если сможете привязать карту к ним. (привязка нужна и у меня почему-то снимают все-таки пару центов изредка). Получается и дешево и вполне себе "облачные технологии".

    Но у вас парадоксальная ситуация, что вам облачность-то реально не нужна, нужна чисто "облачность ради облачности". Как по мне, облака - это либо для "больших мальчиков" (ну типа какого-нибудь м-видео или леруа), либо для модных стартапов, которые хотят сейчас запуститься и может быть через месяц быстро размножиться на тысячи серверов про большом успехе. Для большинства даже крупных (но не гиганстких) компаний достаточно обычных серверов (впски или дедики) - это гораздо дешевле. Но это если сумма за хостинг вам важна и ощутима. Если переплатить не страшно - тогда да, можно сразу в облака - некоторые вещи там могут оказаться удобнее (но никогда не дешевле).
    Ответ написан
    Комментировать
  • Как узнать какой клиент отключен?

    xenon
    @xenon
    Too drunk to fsck
    Каждое TCP соединение идентифицируется через кортеж - IP + порт сервера, IP + порт клиента.
    После подключения нужно узнать эти параметры и в каком-то списке держать эти 4 + id клиента.

    При ловле эксепшна - нужно не просто активировать свой код, а еще и взять сам exception (except ConnectionResetError as e:`) и через e, узнать, что это за соединение (возможно там нужно будет добраться до socket, а через него уже узнать конкретные адреса-порты). Затем сопоставляем это по своей табличке и узнаем, кто отвалился.
    Ответ написан
    Комментировать
  • Есть ли свободная программа для преобразования аудио в текст?

    xenon
    @xenon
    Too drunk to fsck
    есть gtts (google text-to-speech), бесплатный, но может есть какие-то разумные лимиты
    и есть whisper, от OpenAI, там вообще все на своем компе можно делать, так что, без ограничений.
    Ответ написан
    Комментировать
  • Правда ли, что если изучить Фронтенд а потом начать изучать Бэкенд, ты почти забудешь Фронтенд?

    xenon
    @xenon
    Too drunk to fsck
    Я считаю себя скорее бэкэндщиком, и да - много раз пришлось фронт заново повторять, вспоминать очевидное, потому что тяжело решать какую-то простую "фронтовую" задачу раз в 2-3 года. За это время все забываешь, да.
    Точно так же забывается golang, если долго программируешь на python, и вообще любые неиспользуемые знания пропадают - так уж мозг устроен.

    Но две важных вещи:
    1. Вспоминать забытое - просто и быстро, это не учиться с нуля. Скорее всего какой-нибудь cheatsheet поможет из сети или самодельный. Они не пропадают совсем.
    2. Это все равно надо. Хороший специалист в любой сфере должен иметь некоторое представление и о смежных вещах. Бекэндщику никуда без хотя бы базовых знаний по фронтенду. Фронтендщику бэк, наверное, нужен немного меньше, но если хочется быть ценным специалистом - то все равно нужно.
    Ответ написан
    Комментировать
  • Аналоги почты для домена (дешевле и/или бесплатно) вместо Gmail и Yandex?

    xenon
    @xenon
    Too drunk to fsck
    Вот обзор аж девяти сервисов https://woorkup.com/email-forwarding-service/ включая cloudflare. (которому я очень симпатизирую и который надежен). Почта остается на том же сервисе (например, бесплатная username@ya.ru или @gmail.com, да какая хотите!) но на этот ящик будет валиться почта на ваш @domain.com.

    Одна тонкость. Когда пробуете их и получаете письмо - попробуйте ответить и посмотрите, на какой адрес идет ответ. На яндексе у меня бывает глюк, что по кнопке ответа, ответ пишется не отправителю, а мне же на "доменный" адрес.
    Ответ написан
    Комментировать
  • Как отгранизовать self hosted open source альтернатву Azure MyApps?

    xenon
    @xenon
    Too drunk to fsck
    Немного поздновато, наверное, но может кому-то еще потребуется (я же как-то попал на этот древний вопрос):

    Homed (Дашбоард с интеграцией в authelia):
    https://github.com/mwalters/homed

    Homepage:
    https://github.com/benphelps/homepage
    https://youtu.be/dk3Cp5ck8mY
    https://blog.unixhost.pro/ru/2023/03/homepage-glav...
    Ответ написан
    Комментировать
  • Есть ли бесплатная альтернатива Яндексу для доменной почты?

    xenon
    @xenon
    Too drunk to fsck
    mail.ru вроде уже тоже нет.

    есть чуть более сложный (но вполне работоспособный) вариант с improvmx.com лишь cloudflare.com (email routes)

    подробнее:
    https://qna.habr.com/q/1182558
    Ответ написан
  • Что выбрать для почты для домена?

    xenon
    @xenon
    Too drunk to fsck
    Мой совет - для хранения, чтения, фильтрации почты и всего прочего (если хотите бесплатно) - используете любой почтовый сервис, который вам нравится (gmail, yandex, все что хотите). Проблема только в том, чтобы использовать свой домен. А это решается иначе.

    1. ImprovMX.com
    Регаетесь там, и настраиваете пробросы адресов (в том числе можно и catch-all) на любые другие почтовые адреса, например, на яндексе. Так что, у вас получается @yourdomain.com но бесплатно

    2. Cloudflare email routing
    Если DNS для домена хостится на Cloudflare - то же самое можно сделать средствами Cloudflare, бесплатно и вроде безлимитно. Читать: так же, на яндексе-мейле-гмейле, где хотите.

    В общем, мы используем доп сервис (cloudflare/improvmx) для "своедоменификации", а в остальном живем как и раньше, на удобном-бесплатном сервисе.

    Отправлять - вроде бы большинство сервисов (gmail точно) позволяет отправлять с чужого домена, только SPF надо подправить. Так что в исходящих письмах тоже будет ваш собственный домен, но отправляться через сервера яндекса-гмейла-...

    Из минусов - лишняя точка отказа (но в SMTP с этим хорошо, протокол надежный), минута тратится на доставку, есть какие-то ограничения.

    Лимиты у ImprovMX - 500 входящих в день. Размер аттача не знаю.
    Cloudflare: 25Mb на сообщение (аттач). Не знаю, это именно на чистый разме файла, или на размер сообщения. По количеству лимитов вроде бы нет.

    Почему мне нравится такой вариант:
    - У нас есть выбор для почтового роутера (cloudflare/improvmx/....). Если что-то не нравится - выберем другой (не меняя ящика)
    - У есть есть практически неограниченный выбор бесплатных почтовых сервисов с их щедрыми лимитами.
    - Все бесплатно и не зависит от сложностей с оплатой.

    Еще по теме (больше аналогичных вариантов): https://woorkup.com/email-forwarding-service/
    Ответ написан
    Комментировать
  • Выдает ошибку None 1=, как решить?

    xenon
    @xenon
    Too drunk to fsck
    вот тест test_triple_free_space_algorithm у вас проваливается, потому что возврат от self.calculator.free_space_algorithm(...) у вас None, а ожидается
    {'left_corner': {'x': 2, 'y': 1}, 'right_corner': {'x': 5, 'y': 8}}

    А None он у вас потому, что в этой функции вообще собственного кода нет (включая return), только вложенные функции. Вот по умолчанию None как return value и используется.
    Ответ написан
    Комментировать
  • Какие уязвимости могут тут быть?

    xenon
    @xenon
    Too drunk to fsck
    cross site request forgery (наиболее вероятно и достаточно опасно)
    clickjacking (хотя он тут не кажется опасным)
    возможность забить ваш диск большим количеством файлов (если на виртуалке 20 гигов, то передать 20 гиг скриптом можно быстро)
    возможность залить какой-то ненастоящий CSV
    если (самое ужасное) имя и-или путь к файлу как-то зависит от пользователя (от данных в форме) - возможность перезаписать другие доступные файлы
    Ответ написан
    Комментировать
  • Может ли физ лицо создавать интернет-проекты?

    xenon
    @xenon
    Too drunk to fsck
    Законы разные, очень советую посмотреть на ютубе интересное видео "Раздел 230 - свободный интернет | Михаил Пожарский". Как раз про вашу ситуацию, объясняющий, почему площадки вроде вашей или Facebook возникли в США, а не в ЕС, например (сюрприз - в Европе законы тоже не очень хороши).

    Может быть вам подойдет просто хоститься где-то за границей, и подписать, что сайт американский? Ну и домен не в .ru (если вам никакая помощь российского государства и его правовой системы не нужна)
    Ответ написан
    Комментировать
  • Как верно вытащить список всех папок и файлов включенных в папки?

    xenon
    @xenon
    Too drunk to fsck
    У вас как выглядит directory? Это список строк, как я понимаю. А writerows ожидает "список списков строк". (каждый элемент верхнего списка, список из строк, каждая строка в отдельную клетку).
    Вот поэтому он строку и итерирует побуквенно, обрабатывая ее как список.

    попробуйте в directory.append() давать не строку, а список из одного элемента (этой строки) и должно быть счастье.
    Ответ написан
    3 комментария
  • Как с помощью Flask сделать динамический вывод данных из txt файла?

    xenon
    @xenon
    Too drunk to fsck
    Да, разными способами.
    1. можете поллить раз в секунду javascript'ом и обновлять содержание textarea
    2. можете просто на страничке только раз подгружать тот файл, но в страничке сделать <meta http-equiv="refresh" content="30">
    3. если прямо красиво хотите - можете использовать websocket (socket.io). Может вам понравится, я писал для этого удобный модуль - https://github.com/yaroslaff/ws-emit , там пример dir2web.py как раз на Flask, прямо с вашей задачей (только он еще и появление новых файлов в каталоге отслеживает). Изменение контента на странице происходит моментально после изменения файла. (в ютуб видео с примером это с 50-ой секунды).
    Ответ написан
    Комментировать
  • Добрый вечер, что нужно использовать, чтобы сделать генерацию числа на сайте, чтобы для каждого IP было свое число?

    xenon
    @xenon
    Too drunk to fsck
    IPv4 и есть число (32-битное). Можете, например, выдавать именно его как есть. Или пройтись xor с определенной маской. Или прохешировать (md5, sha1, ...) и в качестве числа взять сколько-то байт хеша. еще CRC можно использовать.

    Либо вообще другой подход - использовать http cookie.
    вариант 1) просто записать число в куку (и при заходе пользователь сам его вышлет вам)
    вариант 2) в куку записать session id, а на сервере хранить задуманное число, и session id для которого его придумали.
    Ответ написан
  • Почему отличаются результаты lighthouse в devTools от pagespeed insight?

    xenon
    @xenon
    Too drunk to fsck
    Ответ выше хорошо поясняет, почему отличается оценка Performance. Но у вас и Accessibility и Best Practices отличаются... Будто бы проверяется разный контент сайта...

    Вообще, как web.dev переделали и утащили мерилку в PageSpeed - она очень ненадежная стала, и иногда в принципе не срабатывает. (раньше было лучше)

    Я сам использую https://github.com/andreasonny83/lighthouse-ci - чтобы хотя бы быть независимым от аддонов и загрузки в других табах. Еще вариант (еретический, но все же) - поищите другие онлайн-тестилки по той же Lighthouse методологии на других сайтах. Возможно сторонний сайт будет надежнее-стабильнее чем гугловский.

    А насчет чертовщины с Accessibility и Best Practices - поглядите, за что именно снижается оценка в одном случае, и почему этого снижения нет в другом - может быть так получится понять проблему.
    Ответ написан
    Комментировать
  • С чего начать изучение web разработки?

    xenon
    @xenon
    Too drunk to fsck
    Немного HTML, CSS (не до мастерства, а до уровня, когда примерно понятно, что-где смотреть, если непонятно). Очень желательно git. Почти обязательно javascript (хотя бы на уровне fetch данных из API и отрисовать их).

    А дальше на выбор, смотря что хотите. Если backend - то Flask (это пайтон). Хорошее сочетание между простотой и высокой популярностью.

    Если фронтенд - то какой-нибудь из фронтенд фреймворков. Мне очень нравится svelte, но у других - другие вкусы. Какой-нибудь react, vue - точно пригодится востребован.

    Вот то что написано выше - это первый шаг :-) Все выучить до уровня "как-то немного смутно понимаю", а дальше сами ставите себе любую несложную задачу, придумываете проектик, и делаете. По ходу делания - поймете, чего вам не хватает и подтянете.
    Ответ написан
    Комментировать
  • Как обращаться к элементам json через точку?

    xenon
    @xenon
    Too drunk to fsck
    Вроде нет. Тем более, что JSON - это вообще строка, по индексу вы обращаетесь уже когда преобразовали его в словарь (dict).

    Но два варианта:
    1. Вы можете после преобразования "расплющить" словарь, сделать его плоским, преобразовав вложенные ключи в вид foo.bar.
    2. Вы можете сделать свой класс (от dict), и переписать метод __getitem__(self, index)
    Ответ написан
  • Почему высвечивается OSError: [Errno 98] Address already in use после выхода из программы и повторного запуска?

    xenon
    @xenon
    Too drunk to fsck
    Добавьте одну строчку после socket.socket:
    self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    Ответ написан
  • В каком банке можно открыть виртуальную prepaid card анонимно?

    xenon
    @xenon
    Too drunk to fsck
    Вам надо не банки искать и не "выпуск" карты (услуга), а просто искать где купить prepaid карты. На plati.ru есть много вариантов, но очень высокие цены и карты действуют короткое время. Я делал так - искал "buy prepaid card", и выбирал, где есть оплата криптой. При заполнении формочек лучше указывайте другую страну.

    Получить зарубежную карту гражданину РФ - сложно. А вот гражданину Румынии, Туркменистана, США купить АНОНИМНУЮ предоплаченную карту (не показывая свои документы) - легко. Почувствуйте разницу :-)

    еще учтите, карту может быть сложно привязывать для рекуррентных платежей (некоторые сервисы требуют указать код из транзакции, так что хорошая карта должна идти с личным кабинетом). Ну и многие сервисы в принципе не принимают prepaid карты, а только настоящие.
    Ответ написан
    Комментировать