LINUX.ORG.RU

Сообщения tcpfinhello

 

Обмен куска своего HDD на кусок чужого HDD

 

Кто пробовал пользоваться каким-то из известных проектов и каким в этой сфере?

Вкратце идея в том, чтобы отдав «в сеть» 500 гигабайт диска на своём NAS похранить свои 500 гигабайт на рандомных хостах в этой сети.

  1. Ты заявляешься в децентрализованную «сеть бекапов», оглашая своё желание захостить 500 гигов чужих данных.
  2. У тебя есть криптографическая подписть твоего хоста, чтобы твои команды в сеть не перехватили злодеи и т.п.
  3. Сначала сеть тебе устраивает некую проверку в течении, скажем, недели, хостя у тебя рандомные наборы байт и далее хешированием рандомных поддиапазонов хитро проверяя что ты реально честно их хранил, а не выкинул и «сделал вид» и был хорошо доступен всё это время.
  4. ТОЛЬКО ТЕПЕРЬ далее по сети расползается слух о том, что ты вменяем (как-нибудь алгоритмически доказывая всем господам, что ты прошёл проверку) и теперь ты участник: ты можешь залить в это облако 500 своих гигов в обмен на то, что сеть сможет поюзать твои 500 гигов. Гиги юзаются блоками по 8 мегабайт например.
  5. Хранящееся у тебя периодически «пингуется» разными способами, чтобы убедиться что данные лежащие у тебя всё ещё целы и ты не умер. Ну напримре тебе присылают запрос «дай sha256() от диапазона байт [N, M) объекта 0x7182371» и подобное всякое такое. Как только ты начал нести чушь или умер - тебя признают дебилом и все данные, коорые ты где-либо захостил объявляются «можно особождать, хозяин умер».

Смысл участия в этой сети в том, чтобы геораспределённо похранить какие-то свои бекапы. Бекапы твои ты бьёшь на блоки по 8 мб и аллоцируешь их в данной сети типа как в S3. Либо не аллоцируешь, а перезаписываешь существующие. Блоки льются, ясен хрен, как-то там пошифрованные твоим клиентом для доступа в данную сеть. Ну и поверх данного множества блоков ты видишь какую-то файловую систему например - неважно что ты там видишь, главное что твой клиент имеет доступ писать в блоки с номерами от 0 до (500 гигов / 8 мегов) с некой частотой перезаписи одного блоке не чаще раз в час, например. Что логическое поверх этих физических блоков ты там решил представить уже не суть.

Обычно смысл такой штуки в том, что ты эти доступные тебе 500 гигов рубишь ровно пополам и в каждую половину заливаешь копию своего бекапчика. Или рубишь на 10 частей и льёшь 10 копий бекапчика. Зависит от того, количество скольки рандомных 8 мб блоков ты готов пережить.

tcpfinhello
()

Делание системников из алюминия своими руками

 

Я тут внезапно понял, что это не такой уж и бред. Хотя и бред конечо. Но не совсем. А может и совсем. Пока не понял.

  • Пример: системник вида mid-tower на примере Fractal Design R4 или аналогичного.
  • Верх: плоский
  • Низ: плоский с ножками
  • Бока: плоские панели, откручиваемые винтами.
  • Перед: панель с вентиляторами на всос.
  • Зад: вентиляторы на выдув, прорези для PCI-e видеокарт, внизу крепёж под БП с выдувом из него. Зандяя панель самое сложное: совместить прорези для видеокарт-сетевух с матерью.

Зачем: оно вечное, оно лёгкое, металл мягкий легко поддаётся обработке. Если алюминий держать в воде долго, он темнеет и какая-то там химия идёт, но всё равно не разваливается, а в сухом виде вообще вечный. В перспективе на него даже можно прикручивать какие-то тепловые конструкции, использая боковые панели как теплоотвод. Ввиду приятности данного материала, доработки возможны всякие разнообразные.

  1. Лист алюминевый 500 * 400 * 2 мм ~1200 руб. Надо две штуки на боковины.
  2. Низ, верх - тоже какие-то алюминевые листы длиной 500 мм, ширина 210 мм
  3. Зад - самое сложное - масса всяких отверстий под выводы портов. Нужно умудриться совместить их с закреплённой матерью так, чтобы ничего не перекосило.
  4. Где-то в центре объёма находятся рёбра жёсткости, они же несущая рама, они же держат мать. Доступ к матери с обоих боков при снятии двух панелей для орудования кабелями и смены кулеров. Эта конструкция максимально не проработана и загадочна, это наверное набор каких-то профилей. Лист «с дыркой напротив процессора» (чтобы откручивать винты кулера сзади, не откручивая мать) сюда прикручивать смысла мало, больше нравится идея с какими-то рейками, на которые винтами закрепится мать.
  5. Перед: некая примитивная решётка с вентиляторами 120мм, работающими на всос (не очень эффективный режим работы вентиляторов, но направление потока оно такое). Возможно с фильтром.
  6. В передней части за передними вентиляторами - какая-тос тойка для набора дисков.

Тыщи на 4 чистого листового металла я насчитал. Ещё 700 тыщ рублей эквивалентной стоимости человеко-часа взрослого вменяемого программиста на конструирование, да.

Вот подумал, что подобное направление ручного творчества может быть незаслуженно забытым.

  1. Это вполне реально костылить по вечерам используя вполне штатные слесарные тулзы без нанометровой точности. Если руки не трясутся.
  2. Это вполне утилитарно и круто, если это сделать для себя. Такой системник вполне себе будет конкурировать по конструктиву с любым топовым системником, который можно найти.
  3. Это даже можно продавать на авито как хобби. Кастомные корпуса и всё такое. Видел я эти кастомные корпуса - берут какой-то обычный стальной и доску спереди прикручивают. Чисто алюминевых прямыми руками сделанных видел мало. Видел всякую дичь формата «открытый корпус», где всё торчит и выглядит причудливо, но в виде нормального ровного закрытого ящика встречал мло.
  4. По цене это будет НЕ конкурентоспособно заводским алюминевым корпусам JONSBO, где тоже всё делается из алюминевого листа ~1.5мм, но все дырки профессионально нарезаны без колхоза. У вас будет колхоз с вероятностью 95%, особенно всякие круглые отверстия без правильного подхода. Но как достаточно вечная дорабатываемая конструкция (не путать с «вечно дорабатываемая»), которая вполне себе сойдёт на роль домашнего компа и даже нехилого серверно-домашнего железа (дисков в укаанный объём влезает тьма), вполне норм.
tcpfinhello
()

Совет по сборке домашнего NAS для слива фоток с телефонов, до 10 тыр.

 

Хочется, чтобы в углу прихожей стояло что-то тихое с парой 500GB старых HDD и дебианом и туда можно было иногда лить всё содержимое телефонной фотогалереи и чистить пхоне, потом лениво полистать на этом девайсе через браузер фотки, поресайзить, поудалять ненужное. Пара HDD будет без всякого RAID: две независимые ext4, раз в сутки rsync будет банально синкать один диск со вторым. Ну, простейшая максимально тупая и гибкая репликация, заметно понижающая вероятность потерять сразу всё из-за сбоя одного диска, но без лишних RAID-приколов. С софтварной частью как раз проблем нет, что-то накостыляю, вопрос больше в железе, комп лет 15 уже не собирал.

Syntology и прочие готовые решения не надо советовать, хочется конпелять ядро, костылить и крутить гайку.

Что я надумал общаясь с нейронками. Нормальных варианта примерно 4.

  • мать с впаянным Celeron серии J1900
  • DDR3L
  • мало жрёт, кулер пассивный
  • вариант кажется норм, но добавив совсем немного денег можно получить лютейший прирост производительности и возможностей (см далее). Зачем нам производительность? Генерировать миниатюры в галереях и шустро отдавать браузерные представления нашей галереи, возможно иногда транслировать на лету видосы в тот же браузер, перекодированные на лету, но это не точно. В целом, конечно, не вычислительная моща критерий, но почему бы ей не быть, если это стоит столько же.
  • жрёт менее 10 ватт даже под нагрузкой, хотя какая там нагрузка, оно «ничего не умеет»)
  • сокет LGA115*, мать уровня ASRock H110M-DGS за 2000 руб с Авито
  • проц типа G4400 в нагрузку с матерью бесплатно иногда, а иногда 2000 руб
  • DDR4 2133 - 2000 руб за 8 гигов
  • жрёт до 50 ватт под нагрузкой, без нагрузки вся система менее 10 ватт.
  • сокет LGA1200; нейронки считают это минимально современным
  • мать типа Gigabyte H510M H V2 – 3 тыщи на авито
  • проц поколения 10, например Pentium Gold G6400 – 2 тыщи на авито.
  • DDR4 2666 - 2 тыщи за 8 гигов
  • жрёт как (1)
  • сокет LGA1700
  • матери типа MSI Pro H610M – уже ближе к 4 тыр
  • DDR4 - всё ещё не DDR5, хотя бывают уже LGA1700 + DDR5; == пункт (2)
  • проц - главный прикол! Все процы на LGA1700 на авито стоят уже больше 10 тыр. Не туда смотрю? LGA1700 надо признать не вписывающимся в бюджет оверкилом?
  • без нагрузки жрёт как (1) и (2). Есть «миф о прожорливости LGA1700», но он только про какие-то i9 камни.

Из всего проекта есть только целиком алюминевый офигенный корпус «JONSBO», купленный на авито за 500 рублей.

Ещё БП можно посоветовать.

P.S. Прикол расскажу заодно: нашёл на авито какую-то HP мать серверную, но на вид как ATX под какой-то из упомянутых процов за 2 тыщи. Распаяны какие-то на вид уважаемые дроссели конских размеров, всё такое железное, качественное, брендовое. Думаю, круто, надо брать, выглядит респектабельно и надёжно! Серверно! Потом с нейронкой поговорил, она сказала что в матери дырки на нестандартных местах и самый прикол - ATX формат блоков питания оно не понимает, там своя система питания и свои БП. Вот это прикол так прикол!

Ответим на известные вопросы:

Почему не воткнёшь USB3.0 диск в keenetic

Медленно и не потянет фотогалерею с манипуляциями, просто полумеры

Чем тебя смущает идея взять целиком бушный системник на том же Авито в озвученный бюджет? Схемы с rsync по крону не понял. Зачем? Есть же разные варианты софтварного рейда

Ничем. Как найду LGA1200 за 8 тыр, так и возьму.

Возьми МиниПК

Там некуда втыкать два или три sata hdd 2.5"

Да не похоже что речь идет о насколько-то ценных данных, если их предполагается хранить на старых полутерах без дублирования

Надёжные данные лежат во взрослых шумных дата-центрах в S3-подобных облаках, где один блок данных геолокационно размазан и постоянно перечитывается с проверками.

tcpfinhello
()

Meshtastic и LORA - это ведь проприетарщина. Чего все так пруцца с этого, если надо развивать открытые свободные альтернативы?

 ,

Вся эта возня и раздувание популярности Meshtastic - как дешёвые бусы у папуасов: высокая доступность чипа (цена), приличные характеристики чипа (бусы блестят) и больше ничего.

Радиотехнически, LORA - это лютая проприетарщина: вся реализация в закрытом чипе Semtech, который как чёрный ящик что-то модулирует-демодулирует, но чертежи чипа тебе не дадут. Даже известно во что модулирует и что демодулирует, прекрасно расписаны эти структуры посылок из чирпов, но как - никто вам не скажет: успехов это демодулировать из эфира без чипа Semtech: если взять RTL-SDR приёмник и попытаться реализовать какие-то алгоритмы руками на сишечке, то в дурку увезут достаточно быстро. В случае успеха, бедный проц будет пыхтеть делая 120 штуки FFT-4096 в секунду и гору всяких операций вокруг с децимациями и фильтрациями и сдвигами и поисками (мы хотим уверенно принимать эти посылки из-под уровня шумов, ничем не проигрывая эталонной реализации, а не принять яркие чирпы и демодулировать глазами). Судя по гуглу, что-то ниже Raspberry PI 5 с жуткими оптимизациями сразу умирает. Демодулировать это из эфира энергетически бюджетно от батарейки - только проприетарный ASIC Semtech. Размер статей и количество грёбли и изысканий от китайских гениев, пытавшихся это демодулировать - впечатляет.

Во всей истории с LORA ценна популяризация идеи «небольшой мощностью под уровнем шума передадим маленький пакетик на 5 километров». Но прикосновение к этой идее покупкой готового закрытого чипа - небольшой вклад в дело. С тем же успехом можно ощущать свою прогрессивность просто включив древний Wi-Fi 802.11b - там тоже всё нетривиально и ещё более увлекательно, чем в LoRA, хотя эмоционально уже никого не штырит.

Между тем, при наличии интереса к современной цифровой радиотехнике и этим прикольным вопросам энергетики и доставания чего-либо из-под шумов, современный пытливый ум имеет все возможности придумывать и реализовывать свои физические передатчики-приёмники чуть более чем любой сложности: на Aliexpress полно всяких LibreSDR за 12 тыр с FPGA zynq7020 + AD9363 на борту - народ на них даже wi-fi точки доступа поднимает и нелегальные базовые станции (хотя на этой мощности сигнал за пределы оконного стекла и не вылетит из вашей комнаты).

  • Нобелевский лауреат и радиолюбитель Джо Тейлор со знакомым-братюней Стивом Фрэнком придумали где-то в 2017 году модуляцию FT8, чтобы гонять 77-битные посылки по КВ: оно под шумами живёт даже круче чем LoRa: -25 Дб против -17 Дб. Что мешает перенести на условные 433 мгц и чуть подшаманить?

  • Можно взять коды голда длиной 511 бит и сделать DSSS. Вытаскивание из-под шумов получится таким же как у LoRa. Если загнать 1 килобит трафика, то это пожрёт полосу 600 килогерц примерно. На мощности 0.5 ватт это единицы километров в городе. А можно поиграть параметрами, увеличить длину кодов до 1023 (как в GPS, бугага) или ещё больше, понизить трафик и пробить подальше. 1 килобит для лоры жирно, можно опуститься на её уровень и возможно даже уделать. Высрать подобную посылку в эфир для LibreSDR - где-то жалкие проценты от её возможностей, отработав технологию можно купить FPGA-AD-платку подешевле и реализовывать устройства уже массово там.

  • Есть ещё MFSK (JS8Call) - но там нужен TXCO, преимущества подходов выше в полном забитии на стабильность частоты.

  • Можно оставить чирпы (CSS) как в Lora, но сильно упростить преамбулу и её детекцию: встречные одновременные чирпы, длиннее преамбула, меньше возни в детекцией.

  • Можно сделать как в старинной спутниковой связи: модуляция без методов расширения спектра, но удар по шуму всякими кодами избыточности LDPC - модуляция - банальный BPSK, принимашь хрень и мясо, а потом восстанавливаешь из горы избыточных бит. Подход плоховатый, но как-то работает. Под уровнем шума не живёт никак, зато при нахождении примерно на уровне шума скорость выше Lora в разы.

tcpfinhello
()

Отстал от жизни: какие открытые протоколы для создания мессенджеров нынче рулят и педалят вместо XMPP?

 ,

Условно говоря, какой открытый протокол общепризнанно считается современным наместником XMPP и какое семейство клиентов для данного протокола занимает топовые чарты мировых хит-парадов? Matrix? Всё ещё XMPP? Что-то ещё? Безотносительно архитектуры сети передачи сообщений - федеративная, авторитарная, децентрализованная и т.п. В приоритете базово интересует «один корпоративный сервер и 500 клиентов с прописанным адресом сервера» и никакой федерации. Мессенджер для меня и моей бабушки без покидания этого контура. Или для меня и сотрудников моего завода, которых 300.

Фичи, которые интересуют в клиенте/протоколе:

  1. Твой контактлист (базовая база), засылаемый с сервера.
  2. В контактлисте сущности вида «чат», «канал».
  3. Возможность аттачить файлы размеров и типов, о которых сообщил сервер как о допустимых. Возможность аттачить голосовухи и предположительно «кружочки». Допустим, сервер на чате ставит настройки «сюда можно картинки до 180 кб каждую» или ещё «частота отправки месаг в данный чат - раз в 30 сек».
  4. Шифрование там всякое жесточайшее конечно. E2E не обязательно, ну исключение MITM хотя-бы просто.
  5. Сам протокол предпочтительно более бинарный и суперкомпактный, чтобы в глухом подвале на GPRS законнектилось, а не развесистая XML-фигня на 2 мегабайта на простейший пинг.
  6. Всякое там админство. Удаление сообщений в администрируемых тобой чатах, навешивание лимитов и прав. Типа запрет аттачей в каком-то чатике.

Посибо.

tcpfinhello
()

А накидайте названий ARM-linux устройств, которые выгодно покупать за копейки на авито и переделывать в производительные одноплатники?

 , ,

Ну вот например, был раньше девайс для торговли водярой «Atol hub-19». Внутри cubieboard2 или cubietruck, а цена на авито 500-1000 руб, при этом есть корпус. Туда встаёт armbian. Но по современным меркам девайс слаб, хотя видеонаблюдение за котом через webcam на нём делать можн, там даже 1G DDR3 RAM. Данный atol hub 19, к примеру, справляется обрабатывать 250кгц радиоспектра через rtl-sdr в режиме поиска активностей, т.е. радиосканера. Может быть можно выжать 1 мгц, но это врядли уже. Эта тварь у меня раз в неделю или около того тупо зависает. Я не пытался это дебажить, а настроил аппаратный вотчдог в проце и это хотя-бы за 15 секунд её ребутает.

А вот нынче развелось полно всяких TV-android приставок, которым завален авито по 1-2 тыр рублей и процы я так понимаю там гораздо интереснее, чем Allwinner A20, например H616. И выглядят они по форме как тот Atol HUB-19: аккуратная черная коробочка с Ethernet/wi-fi. Например популярная TV-приставка X96q: проц Allwinner H313, памяти 1-2 гб. Но стабильность и способность этой фигни загружаться с sd автоматически после подачи питания не ясна.

Вот интересен списочек. Списочек тех представителей данного семейства хлама, на что уважаемый анон успешно катнул армбиан и оно стабильно, умеет грузиться с sd, есть инструкция и по меркам одноплатников проц не днище.

tcpfinhello
()

Blender. Ломовая софтина. Всем нужно её осваивать!

 

Суммарно вечеров 10 в ней намотал эпизодами.

  1. Началось с видеомонтажа где-то в 2016 году. Оказалось, что тогда на десктопе не было ни одной нормальной софтины чтобы поперетаскивать куски видосов и помонтировать, повырезать. Kdenlive падало в кору, всё остальное выглядело убого и криво. Все вокруг для этого юзали маки. В блендере всё просто идеально, за исключением вырвиглазного интерфейса и вырвимозговых хоткеев и прочей трешанины на стыке человек-машина. Как будто с велосипеда на белаз пересел, нихрена понять невозможно. Блендер как профессиональная софтина жрал примерно всё, сохранял проекты любого размера и рендерил это не давясь в готовый видос через внешний ffmpeg - было хотя-бы предсказуемо.

  2. Потом оказалось, что это годная софтина сварганить модельку для 3D-принтера ender-3, там есть даже плагин в коробке который заделывает дырки в моделях, чтобы дальше слайсеры это прожевали. Моделька была успешно напечатана PETG-пластиком и поюзана.

  3. Потом оказалось, что в нём можно пытаться рисовать планы куска квартиры для ремонта, пытаться расставлять мебель, оно понимает метры и офигенно всё это рендерить с фотокачеством в фотки и видосы. Можно походить по этой виртуальной хате как в FPS-шутере, записать положение камеры во время этого хождения и потом по записанному положению камеры запустить рендеринг в видос: https://www.youtube.com/watch?v=rVBNgLuaKEQ - всё размыто и дёргается, потому что ставил мало семплов, забыл выключить «бокэ» на линзе камеры и некоторые поверхности были в режиме фигни какой-то, запускать перерендер я уже не могу, на ThinkPad T14 gen 3 один такой кадр несколько секунд… Но если есть желание, можно отточить всё до идеального ray tracing результата с переливами отражений и теней в стеклянных там кубах и прочей фигни.

Я раскрыл 1% возможностей и уже неистово прусь!

Единственное препятствие - нифига не интуитивно, при попытке элементарно поковыряться в носу нужен гугл. Всё сделано достаточно низкоуровнево, типа сишечка в мире 3D-моделирования. Зато после некоторой привычки появляется дофига возможностей делать всякое.

В целом, я думаю что это огневая софтина, которую должен знать каждый крепкий хозяйственник, десигнер интерьеров и разработчик подставок для кружки. Сейчас в IT всех посокращают на мороз, сможете бабло рубить на роектировании домов!

tcpfinhello
()

TCP-протокол и странные FIN,ACK,RST... Вопросы.

 

Нормально закрывать TCP-коннект между А и Б по инициативе А так:

  1. А шлёт FIN («я всё сказал»)
  2. Б шлёт FIN + ACK («вас понял, я тоже всё»)
  3. А шлёт ACK («вас понял»).

Три вопроса вопроса:

  1. Непонятно, зачем посылать FIN на шаге (1), когда можно послать RST и забыть обо всём. Видимо это не экологично: потеря RST приведёт к сохранению коннекта на Б, в сценарии выше (1) можно повторить, если долго не будет (2)?

  2. А есть какая-то другая причина, почему после (1) коннекшн ещё остаётся? Может ли Б после получения FIN что-то PUSH в этот коннекшн? Но это бессмысленно, софтина на А уже вызвала close() на сокете.

  3. Проводил эксперимент:

  1. A - C++ сервер вида «socket();setsetsockopt();bind();listen(port 12345);accept();». Также, в этом сервере написано «По приходу чего-нибудь в коннект, вычитать всё через read() и сразу сделать close(socket)»;
  2. Б: «nc 127.0.0.1 12345»
  3. Б что-то PUSH в коннекшн (печатаю в nc рандомную строку, жму enter), A это вычитывает из сокета и делает сразу close(socket);
  4. В tcpdump видно, как от А к Б прилетает FIN + ACK. Зачем тут ACK? ACK на PUSH прилетело пакетом ранее….
  5. В ответ на FIN от Б прилетает один ACK, как будто nc не собирается закрывать. Всмысле? Какой смысл тут не хотеть закрывать?
  6. Ввожу в nc ещё одну строку, отправляю (от Б летит PUSH + ACK). Зачем тут опять ack?
  7. От A приходит RST. Это уже выглядит как «слыш ты кто»?
tcpfinhello
()