sfw
nsfw
сделай сам

сделай сам

Подписчиков:
90
Постов:
966

Пак знаний, учение свет. #3 Wireguard, поднимаем свой VPN.

Сап джой, будет много текста и картинок, но тебе это понравиться (надеюсь).
Давно хотел написать эту инструкцию, но всё времени не было. Решил заставитьсебя.
Немного предыстории, пройдёмся по цифрам и приступим к практике.

Предистория:

  Когда я выбирал какой протокол выбрать для поднятия забугорногоVPNсервиса,я ориентировался на то, что-бы туннель обладал высокой пропускной способностьюи не бы чувствителен к небольшой потери сигнала\пакетов (привет мобильноеинтернет соединение).
Тут была инструкция по настройке OpenVPN. Ни в коем случае не хочу приуменьшить вклад анона,так как «я за» любое просвещение людей в компьютерной грамотности. Вот только авторумолчал что OpenVPN  достаточно медлителен,и тот же IPSecAES почтив половину производительнее.
Так же любитель пожрать ресурсы хоста.
Throughput
WireGuard IPsoc (ChaPoty)
IPsec (AES-GCM)
OpanVPN
128
256
384
512
640
768
896	1.024
megabits per second (higher is better),реактор образовательный,самообразование,it-безопастность,мануал,vpn,сделай сам,системный администратор,it,длинный пост
Да и скажу честно, в принципе это сложно было назватьинструкцией.
Так же автор забыл о защите самого хоста, а это не мало важно.
Перейдём к практике:
Допустим вы уже приобрели себе VPS (вкомментах я подкину парочку, которые я сам юзаю, если хотите) И самостоятельно установили ОС. Я обычно использую либо Debian либо Ubuntu, вданном случае второе.
Давайте обновим пакеты, и поставим нужный софт:
Unpacking Iibqrni-glib5:arnd64 (1.30.4-l~ubuntu20.04.1) ...
Selecting previously unselected package libqrni-proxy.
Preparing to unpack .../21-libqrni-proxy_l.30.4-l~ubuntu20.04.l_amd64.deb ... Unpacking libqrni-proxy (1.30.4-l~ubuntu20.04.1) ...
Preparing to unpack .. ./22-fwupd_1.7.5-3~20.04
sudo apt update && sudo apt upgrade -y && sudoaptautoremove -y && sudo apt install git screen fail2ban mc
Конструкция «sudo apt install git screen fail2ban mc» отвечает за установкунужного нам ПО:
1) git– это апекуха для импортирования проектов из git-репозиториев. Просто навсякий случай.
2) screen– это для того, что бы в случае обрыва sshсоединениявы могли продолжить работать с того же места, где произошёл обрыв.
3) fail2ban–это для защиты второй лини нашего vpnсервиса.
4) MC – (MidnightCommander)это удобный файловый менеджер в «консольной среде», что бы не возится скомандами навигации.
Обновляем и ставим всё это дело, после этого можноперезагрузить хост, и подключиться по SSH.
После подключения набираем команду screen, чтобы в случае обрыва связи, мы смогли вернуться обратнок работе без потерь. 

Далее скачиваем деплой-скрипт с github.
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
Делаем его исполняемым (даём права на выполнение для всех пользователей)
sudo chmod+x wireguard-install.sh
Запускаеми сразу после старта нас любезно спросят важные для сервера параметры. Давай ихразберём.
Первая строка выводит нам твой внешний (белый) ip-шник к которому мы будемцепляться. Его не меняем, как бы не хотелось. Далее.
Public interface– имя сетевой платы (если по простому) через который будетработать сервер.
Wireguard interface– имя виртуальной сетевой платы. (имя вашего соединения, егонужно запомнить)
Следующие две стоки, внутренние ip-адреса.Здесь вы можете указать удобный для вас диапазон адресов, которое будутприсваиваться вашим устройствам при подключении к серверу.
Далее указываем внешний порт соединения к вашему серверу.
Стандартный порт: 57141.Я бы рекомендовал его сменить и\или запомнить, он пригодится очень скоро.
Последнее два вопроса, это dns сервера. Вы можете указать свои (если знаете какие) у меняже это адреса adguard. Что-бы блокировать рекламу.
Нажимаем Enterи ждём завершенияустановки\настройки. Скрипт начнёт скачивать нужные файлы для сервера.
По завершению тебя попросят ввести имя. Это имя твоегопервого соединения. Далее тебе предложат набрать ip-адрес.Лучше оставь его как есть. И в принципе всё. Тебе сгенерируется qr-коддля настройки соединения на твоём мобильном устройстве и путь к файлуконфигурации для других платформ. Сделай скрин, он нам потом пригодится. Что бысоздать ещё одного клиента просто запусти скрипт ещё раз и пройди все шагиснова заполняя данные. Под каждое устройство лучше иметь отдельную конфигурацию.

Длянастройки клиента на Winows\Mac\Linux тебепонадобится файл конфигурации. Он будет находится в директории указанной нижу qr-кода.Вот тут нам и понадобится MC. Запускаем его просто набрав “MC” (илиsudo mc, если хотите запустить с правами суперпользователя, нотогда придётся прогуляться по папкам)
В появившемся окне находим файл .conf именемкоторый мы давали конфигурации, нажимаем F4. Всписке текстовых редакторов лучше выбрать nano. Простоставим цифру, на против которой имя редактора и клацаем enter. Переднами конфигурационные данные, которые мы уже видели при создании пользователя.Скачиваем клиент для вашей ОС (в моём случае это Windows)
Клацаем на треугольник рядом с кнопкой добавить туннель àДобавитьпустой туннель. В открывшаяся окно копируем из ssh сессииданные из файла, сохраняем. Ctrl+x выйтииз редактора и F10 выйти из MC. И впринципе с создание туннеля всё. Весь ваш трафик теперь перенаправляется на вашVPN. На этом можно было бы и закончить, но как я говорил,нужно обезопасить ваш сервер. Но сначала добавим возможность автоматическогозапуска туннеля, так как при перезагрузке сервер не запустится. 
sudo systemctl enable wg-quick@имя_вашего соединения (wg0)
Готово.

Безопасность:
Небуду описывать сколько в интернете ботов и всякого другого дерьма, просто скажу,что их много и надо уметь постоять за себя и свою инфраструктуру. Этом мы ибудем заниматься.
 Для начала сменим порт ssh-соединения.Открываем файл конфигурации ssh-сервера. (да, без оболочки. Так быстрее.) Запускаемобязательно с правами суперпользователя (sudo)
sudo nano /etc/ssh/sshd_config
Ищем в файле sshd_config строку «port 22» Она обычно сверху. Убираем #, и меняем цифру на вашпорт, допустим 4422. Не забудьте его! Выходим предварительно сохранивизменения.
Перезапускаем службу ssh, что бы она получила новые параметры из файла.
sudo systemctl restart ssh.service

 Перезапускаем ssh-сессию,не забывая сменить порт в подключении и при подключении снова набираем screen. Далеенастраиваем firewall. По умолчанию он выключен в ubuntu. Что бы проверить этонабираем sudo ufo status.И ответом нам будет  Status: inactive. Прежде чем включать firewall настроим нужные правила, иначе удалённый хост станетнедоступен для нас по ssh. Вот список команд, просто вставляйте их в консоль:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 4422 <--
 наш ssh
sudo ufw allow 57141 <-- 
наш Wireguard туннель

В двух словах что мы сделали: разрешили весь исходящий трафик, запретиливесь входящий кроме нашего ssh и нашего Wireguard сервера.
Включаем наш firewall командой:
sudo ufw enable
Вы получите предупреждение:
Command may disruptexisting ssh connections.Proceed with operation(y|n)?
Это означает, что запуск этого сервиса может разорвать текущее ssh соединение.
Но, так как мы его уже добавили ssh вправила, этого не произойдет. Поэтому просто нажмите (y).
Можно перезагрузится :)

 
Так же мы качали такую замечательную вещь как Fail2Ban, еёможно не настраивать так как она прекрасно работает из коробки. Я оставлю всессылки на все полезные ресурсы в конце, если захотите покопаться.

Заключение:
Отсылаяськ началу этой статьи я бы хотел сказать, что OpenVPN неплохой протокол, как это могло показаться. У Wireguard есть 2существенных минуса:

1) При подключении к хосту, клиенты могут видеть друг-друга. То есть вы можетепропинговать ваше соседнее устройство. Это можно исправить настройками firewall’aи не так критично, но из коробки OpenVPNсразуотрезает подобное.
2) У Wireguard  легко детектится его трафик, а именно момент обмена хендшейков(handshake) то есть в сам туннель попасть сложно, но вот определитьи прикрыть его можно легко. Нужно делать обфускацию трафика что-бы было сложнееего заметить. Сам я ещё не опробовал, но хочу заюзать socks5 дляпередачи первичной передачи хендшейка. У OpenVPNестьже готовая приблуда так же «из коробки»
Так же стоит упомянуть что я не настроил авторизацию на сервере через ключ-файл потому что мне лень, но я осталю на это линк ниже.
В принципе на этом всё, спасибо что прочитали, все ссылки на полезные ресурсы прилагаю.
Пост написан исключительно для любимого Джояи для тебя анон лично.
Занимайтесь самообразованием, остаюсь с вами на связи в комментах, если что то забыл - дополню там, пока.
,реактор образовательный,самообразование,it-безопастность,мануал,vpn,сделай сам,системный администратор,it,длинный пост
Понравилось?
Да, хочу ещё! :)
320(52,98%)
Нет, пшёл вон :(
36(5,96%)
Я картошка
248(41,06%)

Как вырастить кристалл в домашних условиях

Сегодня мы с вами будем выращивать у себя дома кристалл из медного купороса.

 Для этого нам понадобятся: Медный купорос, хлопковая нить, дистиллированная вода, фильтр (Салфетка, фильтровальная бумага), ёмкость (Желательно прозрачная).Медный купорос можно приобрести в любом хозяйственном магазине.

Сам процесс
Для начала, нам необходимо взять стакан и налить в него примерно 100мл дистиллированной воды. Нагреваем стакан на водяной бане до 80 градусов (Выше уже бессмысленно, ведь медный купорос лучше растворяться не начнёт.)

 В нагретую воду начинаем постепенно всыпать наш купорос. Насыпали несколько ложек, размешиваем и ждём, пока полностью не расстворится. Повторяем данную процедуру до того момента, как раствор не станет насыщенным (Т.е. соль в нём должна перестать растворяться и остаться в осадке)

 Теперь полученный раствор нужно профильтровать. Сделать это нужно для того, чтобы в растворе не осталось посторонних частиц, например, пыли или примесей. Посторонние частицы могут служить дополнительными центрами кристаллизации, т.е. вокруг них начнут образовываться другие кристаллики, а нам этого не нужно. На данной стадии эксперимента это не очень критично, но позднее чистота раствора будет очень важна.У нас получается отфильтрованный концентрированный раствор медного купороса.

 После этого нам необходимо взять данный раствор и добавить в него совсем немного кристаллов медного купороса. На них начнут расти затравки для нашего будущего кристалла.Берём банку с раствором и помещаем в место, в котором держится относительно постоянный температурный режим, без перепадов. Сверху накрываем чем-нибудь, что б пока затравка делается внутрь не попала пыль.

 Раствор начнет охлаждаться и пересыщаться, т.е. соли начнет становиться в растворе больше, чем она может раствориться при данной температуре. Купорос начнет кристаллизоваться, а центрами кристаллизации станут те крупинки соли, которые мы добавили в насыщенный раствор. Ждать нужно будет дня 2-3. После этого приступим к следующей стадии эксперимента.

Спустя данное время кристаллы на дне ёмкости уже достаточно подросли. Вновь фильтруя наш раствор, на салфетке остаются кристаллы-затравка. Выбираем среди них самый красивый и аккуратный, он будет нашей основой для уже основного кристалла. Привязываем его на нить.
,химия,наука,кристаллы,сделай сам


Наш раствор всё ещё можно использовать, но всё же я рекомендую приготовить новый по тому же принципу.

Далее берём наш кристалл, привязываем его к карандашу и опускаем в наш раствор по середине ёмкости, что б он не касался стенок сосуда.

И вот теперь у нас есть два пути. Первый — более сложный. Он требует больше внимания и усилий. Дело в том, что наиболее красивые и правильные по форме кристаллы получаются, когда процесс кристаллизации идет медленно. Следовательно, нам нужно обеспечить плавное охлаждение раствора соли. Для этого нужно нашу емкость с затравкой помещать в термососуды, постоянно контролировать температуру раствора. Говоря простым языком, возни довольно много. Но и награда за такие усилия стоящая — кристалл получится максимально чистый и правильной формы.

Мы пойдём по лёгкому пути, опустив кристалл в ещё горячий раствор. Накрываем чем-нибудь. И ждём.

Кристалл сам начнёт расти. Но главное-это совершенно никак не беспокоить ёмкость с кристаллом. Чем спокойнее обстановка, тем правильней и аккуратней будет форма самого кристалла. 
,химия,наука,кристаллы,сделай сам


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

Достать кристалл можно в любой момент-когда вам угодит его размер. Главное, что б помещался в ёмкость)
Покрываем его лаком. Иначе кристалл со временем начнёт постепенно разрушаться.
1111/1111,химия,наука,кристаллы,сделай сам

Полученный кристалл не отличается по форме от кристалла-затравки, так что очень важно выбрать хороший кристалл с самого начала, от этого будет зависеть результат.
<b> P.s. Медный купорос-ядовит! Постарайтесь хотя бы надеть перчатки. </b>
,ремень,поделки,сделай сам

Отличный комментарий!

когда прикол удался
Фотография 2 из 12198	Закрыть
Добавлена сегодня | Мне нравится 56
Шиона Фриз
это пиздец, товарищи! Я такую сделала, только с фоткой девки. Сказала 6лиэкой(!) подруге, типо это была любовмюда моего парня, она поклялась что никому не скажет, дружин с детства как бы.
Сегодня менты ржали со всего
Загружаю...

Аркадный автомат своими руками (ретрогейминг с динамической подсветкой)

Всем привет! Любите ли вы играть в игры? А точнее в классику игровой индустрии? Классические, ретро-игры на NES, Sega? Или, быть может, скучаете и хотели бы иметь свой кусочек 80х - настоящий аркадный автомат? Вот я хотел и сделал такой универсальный автомат своими руками.  
Честно говоря, идея совсем не нова. Семь лет назад я уже рассказывал на Habr'е как сделать свой ретро-игровой центр на основе Raspberry Pi. Тогда я ограничился лишь настройкой малинки, в перспективе подумывая добавить к малинке полноценные кнопки и корпус. Но на том дело и кончилось. 
Проектирование 
 Для начала нужно определиться с идеей. К началу проекта я знал только два тезиса:Сердцем автомата будет Raspberry PiУ автомата будут полноценные аркадные кнопки, но всё-таки неплохо иметь возможность подключения геймпадов и клавиатуры с мышью.Для автомата так же нужен какой-нибудь дисплей. В идеале для ретрогейминга нужно использовать экран 4:3, но такого у меня не осталось, специально покупать - это вступать с конфронтацию с внутренней жабой. А вот неплохой альтернативной является использовать матрицу от ноутбука. У меня лет восемь как лежит ноутбук Fujitsu Siemens Amilo 3438G со сгоревшей видеокартой и уже не помню куда выпотрошенной памятью и жёстким диском. Так как дисплей только 17 дюймов, ради интереса в проекте можно было бы использовать и динамическую подсветку, визуально расширяющую размер экрана.
,аркадный автомат,игровой автомат,аркада,DIY,аркадный кабинет,сделай сам,retropie,Raspberry PI,длиннопост,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,ретро-игры,Ретрогейминг,песочница
 Вооружившись этим знанием идём рисовать макет. Для отрисовки я использовал SketchUp. Нарисовать мне, очень далекому от 3D графики человеку, макет автомата в SketchUP - дело одного вечера. 
Конечно, точность этого инструмента не самая идеальная, но в целом прикинуть с точностью до 1-2 сантиметров как будет выглядеть будущий автомат - можно. Натягиваем текстуры, любуемся. 
 В качестве материала я буду использовать мебельные щиты (дерево, сосна) - из-за лёгкости её обработки. Но, в целом никто не мешает использовать МДФ, ДСП или фанеру. Автомат я планирую делать из двух частей - из верхней (собственно автомата, "bartop") и нижней - стола. Высоту стола я выбрал равной 90 см., что даст высоту до кнопок в 105 см. Здесь стоит сказать, что высота стола зависит от роста того, кто будет играть в автомат, и от расположения, наклона экрана и панели с кнопками. То есть, как правило, высота панели с кнопками колеблется от 85 до 115 см от пола. Экран лучше ставить напротив лица играющего, но в случае с bartop это взаимоисключающие вещи, и поэтому делаем наклон экрана в 20-30 градусов, а наклон панели в половину этого значения. Экран в обязательном порядке закрываем оргстеклом - во-первых между матрицей и панелью у меня будет щель в 5 сантиметров по периметру для подсветки, а во-вторых это просто эстетично. 
 Заказываем щиты, уголки, саморезы, рояльную петлю (250мм) для люка обслуживания, замочек для дверцы, сетку, оргстекло и краску в строительном магазине (у меня вышло по расчётам 8 метров панелей с учётом обрезков, пачка саморезов 3.5х16мм 200шт, и уголков 30х30мм штук 20). Все панели я буду красить в чёрный цвет, а торцы панелей, канты - в цвет "фуксия". В идеале на канты следовало бы надеть ПВХ-бордюр. Но я, увы, не нашёл нужного мне цвета. Так что обойдусь краской. Внутреннюю часть панелей я тоже в обязательном порядке крашу чёрным цветом, так как из-за щели для подсветки внутренность просматривается, и для эстетики важно всё держать в одном стиле. 
,аркадный автомат,игровой автомат,аркада,DIY,аркадный кабинет,сделай сам,retropie,Raspberry PI,длиннопост,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,ретро-игры,Ретрогейминг,песочница
 Так же обязательно подготавливаем шаблоны для точной вырезки боковых панелей и панели для кнопок. Я использовал готовые шаблоны Starcade (с небольшими изменениями, правда - чуть уменьшил размер вывески, плюс добавил отверстия для hotkey и для выключателя). Кстати, почитайте оригинал, там годный DIY на английском. 
 Столярка 
 Теперь режем щиты. 
 Сверлим отверстия под кнопки и динамики (перовым сверлом или кольцевой пилой). Для кнопок нужны отверстия диаметром в 24мм, для стика - 14мм, для динамиков - в зависимости от их размеров (у меня - 30мм). 
 Обязательно ошкуриваем канты. Боковые канты и торец панели с кнопками закругляем. 
 Красим заготовки чёрной краской (в зависимости от краски в один или несколько слоёв, обязательно дожидаясь полного высыхания, чтобы не получить вздутия и трещин). 
 Далее красим канты краской-лаком "фуксия".По окончанию столярных и лакокрасочных работ можно (не обязательно) высохшие панели и канты (которые не будут оклеены плёнкой) покрыть яхтным лаком для долговечности и износостойкости. 
Электрика и электроника 
 По-началу у меня была устойчивая идея сделать автомат "из хлама" - из того, что было - начиная от старой матрицы, до старой Raspberry Pi v1.0 которая собственно и работала "ретро-игровым центром" ещё семь лет назад. Но затем пришло понимание, что проект получается не сильно бюджетным (даже в части корпуса), и раз делать автомат, то нужно его делать качественно. И раз свою внутреннюю жабу мне придётся потеснить, то заодно стоит и обзавестись новой Raspberry Pi, потому как, исходя из опыта использования первой ревизии она не сильно подходит для работы в аркадном автомате. Во-первых, на ней либо не работают, либо сильно тормозят игры на MAME (собственно с игровых автоматов), так и многие игры с N64 и PS1 неиграбельны. Во-вторых, настройка Hyperion для динамической подсветки превращается в боль, так как в старой RetroPie нужных библиотек нет, а при попытке оные установить оказывается, что многие репозитарии со старыми версиями мертвы. А новая RetroPie, даже со сборками под старые ревизии сами по себе тормозят. Поэтому берём и заказываем Raspberry Pi 4 на 4Gb, обязательно в дополнение взяв радиаторы (можно с вентиляторами) для оной. Берём microsdhc карту (например на 64Gb), адаптер питания USB type-C на стабильные 3-4А. А так же провод microHDMI - HDMI для подключения к матрице. 
,аркадный автомат,игровой автомат,аркада,DIY,аркадный кабинет,сделай сам,retropie,Raspberry PI,длиннопост,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,ретро-игры,Ретрогейминг,песочница
 Теперь аккуратно разбираем ноутбук. 
 Извлекаем оттуда матрицу, узнаём её точное название. 
 Заказываем LVDS-драйвер для матрицы ноутбука. Обязательно сверяемся с описанием, что LVDS-драйвер поддерживает нашу матрицу, обязательно уточняем у продавца, что это так. На Aliexpress полно разных вариаций плат, часто отличающихся набором входов\выходов. Для автомата собственно нам нужен вход HDMI, выход на LVDS интерфейс матрицы, выход на подсветку матрицы и крайне желательно выход на динамики (т.е. выход со внутреннего усилителя на два динамика). В моём случае плата содержит 4-пиновый разъём с выходом под два одноваттных динамика по 8 Ом каждый. В комплект должен идти так же блок питания на 4 ампера 12 вольт, но если нет, заказываем и его. 
 Заказываем кнопки. Выбор сейчас огромный, можно найти под любой дизайн и вкус. У меня например такие:
 Берём два метра адресной LED-ленты SK9822 (или APA012) и адаптер питания к ней. В зависимости от плотности светодиодов выбираем блок питания от 2 до 6 ампер. Для удобства ещё возьмём уголки для соединения ленты на поворотах. 
,аркадный автомат,игровой автомат,аркада,DIY,аркадный кабинет,сделай сам,retropie,Raspberry PI,длиннопост,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,ретро-игры,Ретрогейминг,песочница
 Так же берём 12-вольтовую ленту метр-два под вывеску. Я брал самую дешевую и трансформатор на 15Вт к ней (SMD3528 60 диодов\4.8вт на метр, 2м).Ну и по мелочи закупаем остального.
 В итоге наш автомат будет всегда включен в розетку, далее по ключу на фронтальной панели его можно будет "завести". От главного выключателя питание идёт на обычную 220в розетку, в которую подключены все остальные адаптеры. 12-вольтовый адаптер (15-ваттный) запитан от розетки дополнительным проводом (к клеммам).К этому адаптеру подключаем светодиодную ленту и вентилятор. 
 Когда придёт плата LVDS-драйвера, подключаем её к питанию и матрице (соединяем LVDS и питание подсветки), а так же подключаем HDMI к источнику изображения (той же малинке). Если всё подключено правильно, то матрица должна сразу завестись и появится изображение. Возможно, немного нужно будет откалибровать цвета и яркость. Всё делаем через пульт. Так же берём и подключаем к разъему помеченному как CN20 на плате штекер JST, не забыв припаять к нему два аудиопровода, а к ним, соблюдая полярность, два динамика. В моей плате разводка такая:
 [ +LEFT, GROUND, GROUND, +RIGHT ] 
 Для того, чтобы подключить динамическую подсветку, режем ленту SK9822 на четыре части и соединяем уголками. К разъемам питания на ленте подключаем с правильной полярностью разъем быстрого соединения (затем соединим с 5В блоком питания), а контакты на самой ленте подсоединяем к GPIO 19 и 23 пинам на малинке, не забыв обязательно еще соединить землю, чтобы избежать мерцания ленты. 
 Ленту закрепляем на двухсторонний скотч на обратной стороне матрицы. Скорее всего штатный липкий слой будет отваливаться, поэтому используем какую-нибудь сверхпрочную ленту (у меня на ней две кочерги висят и не отрываются), но приклеиваем ленту к матрице аккуратно, стараясь надавливанием не повредить хрупкую и нежную матрицу. 
Настраиваем софт
За прошедшие года RetroPie стала конфеткой и почти настроек не требует - достаточно прошить образ системы и подключить любые контроллеры - и автомат готов. Но всё-такие кое-что нужно рассказать, учитывая наши дополнения. 
 
 Обязательно включаем SSH (для закачки ROM'ов через сеть) и SPI (для управления подсветкой): 
 Идём в Interfacing Options: 
] Raspberry Pi Software Configuration Tool (raspi-config)f
1	Change User Password
2	Network Options
3	Boot Options
4	Localisation Options
5 Interfacing Options
6	Overclock
7	Advanced Options
8	Update
9	About raspi-config
Change password for the current u Configure network settings
 Включаем SSH и SPI, сохраняем и перезагружаем малинку. 
Raspberry Pi Software Configuration Tool (raspi-config)
PI Camera P2 SSH P3 VNC
P4 SPI
P5 I2C P6 Serial P7 1-V/ire P8 Remote GPIO
Enable/Disable connection to the Enable/Disable remote command lin Enable/Disable graphical remote a
Enable/Disable automatic loading
Enable/Disable automatic
Динамическая подсветка 
Теперь устанавливаем Hyperion для управления подсветкой. На выбор можно поставить "старый" Hyperion или Hyperion NG. 
,аркадный автомат,игровой автомат,аркада,DIY,аркадный кабинет,сделай сам,retropie,Raspberry PI,длиннопост,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,ретро-игры,Ретрогейминг,песочница
Настройки RetroPie 
 Настраиваем музыку, скринсейвер, сплэшскрин и скрэпер.
 Теперь на консоль копируем ROM'ы игр. Делаем это через сp/scp/winscp (для игр с самой малинки/linux-unix/windows систем). Соответственно перекидываем все игры для каждой консоли в свои папки, игры NES в nes, Sega Genesis - в megadrive, а аркадные игры (MAME) в arcade. 
 В случае игр для аркадных автоматов помимо самих ROM'ов так же в папку закидываем BIOS'ы к этим играм. Например BIOS'ы можно скачать с Emu-Land. Вообще с аркадными играми больше проблем, так как работоспособность игры чаще будет зависеть от правильного BIOS для игры и от вообще способности MAME правильно поддерживать ту или иную игру. Для некоторых игр, возможно, придётся установить дополнительные эмуляторы\версии MAME. Чтобы сделать это идём в RetroPie Setup -> Manage Packages -> Manage optional packages (или Manage experimental packages).
RetroPie-Setup Script
Uersion: 4.1.8
Last Conn it: 18 hours ago (672f6df)
	I	Basic install
	и	Update all installed packages
	'1	
	c	Configuration / tools
	s	Update RetroPie-Setup script
	X	Uninstall RetroPie
	R	Perforn reboot
< 8K >
< Exit >
< Help >,аркадный автомат,игровой автомат
 
NOW LOADING
PRESS ft BUTTON TO CONFIGURE LftUNCH OPTIONS,аркадный автомат,игровой автомат,аркада,DIY,аркадный кабинет,сделай сам,retropie,Raspberry PI,длиннопост,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,ретро-игры,Ретрогейминг,песочница
 Собираем воедино 
 Одной из визуальных доминант нашего автомата будет его визуальное оформление, а если точнее, то наклейки на корпус. Для того, чтобы всё получилось красиво, идём в графический редактор, берём изображения и подготавливаем их для макетов в масштабе 1 к 1 с размером печати. Устанавливаем профиль CMYK. В идеальном мире лучше иметь разрешение для печати 250-300 пикселей на дюйм, но, в моём случае, у исходников было разрешение только в 95 пикселей на дюйм, и, опережая события, скажу, что тоже вышло отлично и даже вблизи особого "мыла" нет. 
 Идём в типографию и заказываем все наклейки на самоклеящейся плёнке. Я выбрал глянцевую плёнку на бумажной основе. Обязательно с ламинацией. Причём это жизненно важно для тех поверхностей, с которыми будут контактировать руки игроков, то есть как минимум для панели с кнопками. Если есть такая возможность, то для панели с кнопками и стиками делаем напольную ламинацию. Альтернативно панель иногда закрывают оргстеклом, но для меня, для домашнего использования это излишне. Так же для вывески можно использовать так называемую транслюцентную плёнку, которая будет пропускать свет. Но, увы, почти все типографии отказались мне печатать маленький кусочек (20х50см), либо за этот маленький кусочек запросили цену, сравнимую со всей остальной печатью вместе взятой. Как показала практика, света двухметровой светодиодной ленты хватает с излишком даже при использовании обычной плёнки, наклеенной на оргстекло. Так что смысла в транслюцентной плётке нет никакого. 
 Когда плёнка придёт, наклеиваем плёнку не спеша на все поверхности, постепенно выгоняя оставшийся воздух мягкой тряпочкой. Излишки плёнки (по контуру) обрезаем максимально отрым ножом, или, что лучше, лезвием бритвы. 
 На оклеенную панель с кнопками собственно устанавливаем кнопки. Раскручиваем гайки и закручиваем обратно в панель. Вставляем кнопки, а к кнопкам подсоединяем четыре провода: два на кнопку и два на подсветку. Плюс и минус. Прикрепляем на саморезы стики, и затем стики и все кнопки вставляем 4-пиновыми разъемами в энкодеры - с K1 по K12. Порядок не важен, всё равно всё затем конфигурируется в EmulationStation при загрузке. Единственной разницей между игроками будет одна дополнительная кнопка у первого игрока - hotkey. Для второго игрока такой кнопки нет (да и в-общем она и не нужна). 
 Вообще если взглянуть на энкодеры, то помимо подключения ещё четырёх кнопок (для 10-кнопочного варианта (+ две кнопки Select и Start)) есть возможность подключить ещё четыре тумблера - turbo, auto, mode, clear, а так же есть четыре двух-пиновых разъема под 2-х контактный джойстик (вверх-вниз-влево-вправо), плюс вынесенный разъем питания. Но проводов в комплекте, ни самих тумблеров нет. Ну а выход на малинку - это разъем и провод miniUSB - USB. Так что подключаем провода с двух энкодеров в разъем USB Raspberry Pi. 
 И, наконец, собираем корпус. Здесь всё просто. Берём шуроповёрт, уголки, и саморезы и все смежные поверхности собираем между собой. 
 Матрица прикреплена к передней панели на тонких блестящих алюминиевых профилях. 
 В задней панели у меня сделан люк на рельсовой петле с замком, где заодно установлен вентилятор. 120мм вентилятор я использовал от старого компьютера (не покупал новый), и он гремит , как ржавое ведро с гвоздями при старте, но после минуты работы его становится почти не слышно. Зато охлаждает прекрасно. Ну и в ретро-тематку отлично вписывается Вообще люк нужен как для удобства сборки, так и для обслуживания в случае необходимости всех электронных компонентов внутри. Все компоненты и провода закреплены на хомутах. Да, некоторые из них просматриваются через щель, но эо даже придаёт тёплый ламповый оттенок "киберпанковости".
 Вырезаем стекло на переднюю панель (очень аккуратно - оргстекло хрупкое). Ставим стекло на фронтальную панель. Стекло можно поставить на саморезы или клей, но чтобы не портить внешний вид у меня стекло просто прижимается нижней планкой вывески. 
 В самую последнюю очередь устанавливаем стекло на витрину, предварительно спрятав под него динамики, вклеенные в нижнюю планку вывески. Динамики закрываем сеткой. Ну, вот собственно автомат и готов. Запускаем, настраиваем кнопки (если не настроили раньше) и играем. 
Исходя из цен на момент покупки стоимость автомата без учёта работ, инструментов (пилки, свёрла), электричества, а так же матрицы ноутбука составила: ~24000 рублей, что сопоставимо со стоимость современной приставки или готового автомата с AliExpress на PandoraBox. Но... сделать что-то своими руками и уникальное - это бесценно ;)
Здесь мы собираем самые интересные картинки, арты, комиксы, мемасики по теме сделай сам (+966 постов - сделай сам)