Скачивание и использование инструментов с GitHub для начинающих
Наверное, каждый пробовал скачивать утилиты с GitHub по видео-гайдам из ютуба «Как хакнуть пентагон за секунду« или »бесплатный телеграм скрапер участников». Эти громкие названия действительно работают и ничего не понимающие люди идут скачивать утилиту с GitHub, потому что с её помощью можно взломать подругу и разведать её интимки.
Но нас это не интересует. В гите находится огромное количество инструментов для OSINT, аналогов которым не найти. Сегодня мы глубоко в GitHub лезть не будем, а лишь узнаем, как же использовать этот неиссякаемый инструментарий.
*Внимание, переконцентрация слова GitHub
GitHub — крупнейший веб-сервис для размещения IT-проектов и их совместной разработки. На нем хостятся ваши проекты, утилиты, фотки и что угодно.
На GitHub свыше 100000+ утилит(небольших программ) и каждая по-своему уникальна, отличаются они способом установки и языком программирования, на котором написана сама утилита и, если в зависимости от языка, эта установка меняется кардинально и поэтому приходится разбираться с документацией по установке скрипта(набор строк кода), смотреть гайды по установке или в последнюю очередь — обращаться к людям, знающим язык программирования, на котором написан код.
Так как Python — самый популярный язык и на нем написано много утилит, то сегодня мы рассмотрим установку утилиты на python — https://github. com/Red-company/RDDoS_Tool
На страничке мы видим: разбор и объяснение про репозиторий(любой проект, размещенный на GitHub); это мы пропускаем и идем к пункту Installing — здесь рассказано, на каких ОС утилита работает (Windows/Linux/MacOs/Termux) .
Первое поле — это обновление пакетов(комплектующих системы) с помощью конкретного пакетного менеджера в ОС линукс
Второе поле — установка GIT
Третье поле — установка утилиты с помощью GIT, также можно и с помощью веб-интерфейса GitHub скачать
Четвертое поле — это переход в директорию(папка в файловой системе)
Пятое поле — это запуск .sh скрипта с помощью Bash
Шестое поле — это запуск основного скрипта с помощью python(язык на котором и написана сама утилита)
Некоторые пункты будут пропущены, потому что не соответствуют структуре ОС
Установка с помощью Windows
Второе, установка GIT, читаем мануал
Третье, скачивание утилиты с GitHub, нажимаем комбинацию клавиш > Win+R пишем > powershell делаем > запустить; переходим на рабочий стол cd «c:\\Users\ваш юзернейм\Desktop\» пишем заветную команду:
Также это можно сделать с помощью веб-интерфейса, на скрине сверху нажимаем Download ZIP и перемещаем из папки Загрузок на рабочий стол
Четвертое, переходим в директорию именно с помощью терминала, но сначала убедитесь, в какой директории вы находитесь и не находитесь ли вы в корневой директории. Для этого используем команду :
Пятое, запускаем установочный скрипт bash setup. sh, но на виндовс он работать не будет, на странице написано, что нужно сделать так, значит делаем вручную как сказано
А также устанавливаем python, потому что это будет нужно для исполнения основного файла ТЫК
Шестое, запускаем сам python скрипт
Установка с помощью Linux
Если у вас пакетный менеджер apt(проверьте методом тыка), то смело делаем все как в установке показано:
Если у вас другой пакетный менеджер, то следуем инструкции дальше!
- 1. Это обновление пакетов, вам нужно посмотреть как обновлять пакеты на вашем линукс-дистрибутиве(разновидность ОС Linux) и обновить
- 2. Установка GIT и опять же посмотрите, как установить GIT на вашем дистрибутиве линукс
- 3.Установка утилиты, тут по аналогии с виндовс действуем:
Переходим в директорию рабочего стола cd $HOME/Desktop/ и устанавливаем:
4. Переход в директорию
5. Исполнение Bash-скрипта, если у вас не пакетный менеджер APT, то устанавливаем пакеты вручную. А знаю я это, потому что нужно посмотреть в код setup. sh и посмотреть, как исполняется этот скрипт и что делает, примерно можно понять, что он делает и для какого ПМ(наиболее популярная утилита управления пакетами для Linux систем) он работает
С помощью вашего ПМ установите python:
6. Запуск скрипта
Как узнать, какой у меня дистрибутив линукс? ТЫК
Установка с помощью Android
Чтобы исполнять код, нам нужно скачать Termux и прочитать, что это такое на вики
Делаем все по аналогии с оригинальной установкой, а также с линуксом, попутно устанавливая git, python, pip, пакеты pip
Установка с помощью MacOS
MacOS в первую очередь основан на Unix, а это значит, что почти все команды у него совпадают с Linux-установкой и поэтому делаем все также, только вместо apt-get используем пакетный менеджер MacOS > brew
Не забываем про установку git, python, pip, пакеты pip, которые по умолчанию должны быть на MacOS, но лучше обезопаситься:
Потренируйтесь
В довесок оставлю здесь небольшую подборку инструментов с GitHub, в установке которых вы можете опробовать свои силы:
Больше можно найти на нашем канале :
Сегодня мы разобрали основные способы установки утилит из GitHub, теперь вы можете смело использовать репозитории, безостановочно публикующиеся в OSINT-каналах.
Запуск кода с github в IDEA
Как правильно запустить прогу с git’a, не создавая новый проект в IDE? Я скачал zip, в IDEA открыл папку, собрал, но запустить не получается (run не активный), и значки классов имеют красные кружки 🙂 (Обычно — синие кружки с буквой ‘С’)
update:



C помощью File -> Open можно открыть только проекты , подготовленные ранее в самой IDEA
Для того , чтобы запусить любой Java-проект , вам нужно проделать нехитрую последовательность действий по импорту проекта , чтобы IDEA могла создать свои рабочие файлы:
- Распаковать архив с проектом в рабочую директорию IDEA
- В IDEA : File -> New -> Project from existing sources — выбрать корневую папку проекта
Появится мастер импорта проекта в котором :
- На первом экране выбираем : Create project from existing sources
- Далее жмем Next , так как все значения по умолчанию , как правило , подходят , пока не дойдем до экрана Please select project SDK , где нужно выбрать желаемую версию компилятора Java (например 1.8 )
- Далее опять жмем Next и в конце Finish
Теперь настраиваем конфигурацию запуска : Run -> Edit Configuration :
- Нажимаем на + вверху слева , выбираем Application
- В поле Name: в самом верху пишем название конфигурации , оно может быть произвольным
- В поле Main class: выбираем стартовый класс , содержащий метод main() , IDEA предложит список подходящих.
- Нажимаем OK
Импортирование проекта закончено .


PS: Что касается именно этого проекта , то у меня для вас плохие новости , он в общих словах — НЕРАБОЧИЙ . Нет реализации некоторых классов и методов
Как принять участие в работе Open Source проектов на GitHub. Краткое руководство для начинающих

На GitHub размещены миллионы Open Source проектов, но для начинающих разработчиков бывает достаточно сложно поначалу разобраться в принципах их работы, а также в интерфейсе сайта. Это краткое руководство поможет участвовать в проектах с открытым кодом, которые размещаются на GitHub.
Адаптированный перевод статьи The beginner’s guide to contributing to a GitHub project . Здесь приведены только общие рекомендации по работе с Open Source из визуального интерфейса GitHub. Обязательно ознакомьтесь с README выбранного вами проекта для уточнения деталей.
Шаг 0: Выберите проект
На эту тему очень много статей. Мы будем считать, что вы уже выбрали проект и решились на свой первый шаг. Для примера используется работа над реальным PR в проект Хекслет Sicp .
Шаг 1: Создайте рабочую копию на своем компьютере
Прежде всего, вам нужен локальный форк проекта, поэтому нажмите кнопку «Fork» в GitHub.

Это создаст копию репозитория в вашем аккаунте на GitHub. При переходе в вашу копию проекта вы увидите, откуда он был форкнут:

Теперь вам нужна локальная копия, найдите «SSH clone URL» — справа, вверху.

Используйте эту ссылку для клонирования проекта на ваш компьютер с помощью терминала. Если вы не знаете, как им пользоваться — на Хекслете есть большой курс по базовым командам в командной строке.
Результат будет выглядеть примерно так:

Перейдите в директорию нового проекта:
Теперь необходимо установить связь локальной копии с оригинальным проектом, чтобы вы могли получать изменения основного проекта и вносить их в свою локальную копию. Сначала перейдите по ссылке в оригинальный репозиторий — она помечена как «forked from» в верхней части страницы GitHub. Это вернет вас на главную страницу проекта на GitHub, где вы сможете найти «SSH clone URL» и использовать его для создания новой связи, которую мы назовем upstream.
Теперь ваша локальная копия проекта связана с двумя репозиториями на GitHub:
- origin, который указывает на ваш форк проекта на GitHub. Вы можете читать его, и писать в этот репозиторий.
- upstream, который указывает на GitHub-репозиторий основного проекта. Этот репозиторий можно только читать.
Шаг 2: Заставьте его работать на вашей машине
Теперь, когда у вас есть исходный код, запустите его на своем компьютере. Надеюсь, в файле README или INSTALL этих проектов будет документация, как это сделать.
Если у вас все работает, но документация неясна, то улучшение этого раздела должно стать вашим первым PR в проекте. Это одновременно и самый простой и полезный способ войти в проект!
Шаг 3: Сделайте что-нибудь полезное
Это самый приятный этап — внести свой вклад в проект. Начните лучше c исправления ошибки, которая вас раздражает. Либо найдите подходящую в трекере проблем проекта — « Issues ». Если вы не уверенны, с чего начать, многие проекты используют ярлык «good first issue» (или его разновидность), чтобы указать, что эту проблему может решить даже новичок в проекте.
Теперь, когда вы выбрали проблему, воспроизведите ее на своей локальной версии проекта. Как только вы воспроизвели проблему, изучите код, чтобы понять, где она возникла. Как только вы нашли проблему в коде, можно переходить к ее устранению.
Ветвление
Важное правило — размещать каждую часть разработки в отдельной ветке. Изучите, какая модель ветвления используется в проекте. Если в документации бранч-стратегия не описана, посмотрите, как называются уже существующие ветки. Вы можете назвать свою ветку как угодно, но важно, чтобы она была осмысленной. Названия веток типа «feature», «bugfix», «hotfix», «update» с указанием на то, что меняется — это лучший вариант.
В нашем примере мы исправляем README.md, поэтому мы создадим ветку readme-update:
В первую очередь мы убеждаемся, что находимся на _ main_-ветке. Затем команда git pull синхронизирует нашу локальную копию с основной веткой проекта, а команда git push синхронизирует ее с нашим форкнутым проектом на GitHub. Наконец, мы создаем новую ветку readme-update.
Теперь вы можете заняться устранением проблемы.
Если в проекте есть тесты, запустите их, чтобы убедиться, что вы ничего не сломали. Вы также можете добавить новый тест, чтобы показать, что ваше изменение устраняет первоначальную проблему.
Убедитесь, что вы исправляете только то, над чем работаете. Не поддавайтесь искушению исправить другие вещи, которые вы видите по пути, включая проблемы форматирования, так как ваш PR, скорее всего, будет отклонен.
Убедитесь, что вы коммитите логичными блоками. Каждый коммит должен быть обоснованным. Прочитайте статью Как правильно составлять описания коммитов и почему это важно.
Шаг 4: Создайте Pull Request
Чтобы создать PR, вам нужно отправить ветку в ваш форк на GitHub, а затем нажать несколько кнопок на GitHub.
Чтобы отправить новую ветку:
В результате будет создана ветка в вашем проекте на GitHub. Флаг -u связывает эту ветку с удаленной, так что в будущем вы сможете просто набрать git push origin в терминале.
Вернитесь в браузер и перейдите к вашему форку проекта (в нашем примере это будет выглядеть вот так , и вы увидите, что ваша новая ветка появилась в верхней части с удобной кнопкой «Compare & pull request»:

Нажмите эту кнопку!
Если вы видите выделенную надпись, как показано ниже:

Нажмите на ссылку, которая приведет вас к файлу CONTRIBUTING проекта, и прочитайте его! Он содержит ценную информацию, как работать с кодовой базой проекта, и поможет вам добиться одобрения вашего вклада.
На этой странице убедитесь, что «base repository» и «base» указывает на правильный репозиторий и ветку. Затем дайте хорошее, краткое название вашему запросу и объясните, почему вы его создали в поле описания. Добавьте соответствующие номера проблем, если они у вас есть.
Ниже в примере выполнена работа с веткой Master, но вам для работы с Хекслетом нужно работать с веткой main.

Если вы прокрутите страницу немного вниз, вы увидите diff с вашими изменениями. Дважды проверьте, что он содержит то, что вы ожидаете.
Как только вы будете уверены, нажмите кнопку «Create pull request» и все — готово.
Шаг 5: Проверка разработчиками проекта
Чтобы ваши изменения были приняты в проект, разработчики должны проанализировать вашу работу. После этого они либо запросят изменения, либо объединят ее с основной веткой (либо отклонят их).

Как участвовать в Open Source проектах Хекслета: На Хекслете есть множество Open Source проектов разной сложности — нам всегда нужна помощь разработчиков для развития этих сервисов.
Итоги
Главные этапы работы в Open Source:
- Форкни проект и склонируй его на свой компьютер.
- Установи связь с основным репозиторием проекта (upstream remote) и синхронизируй с ним локальную копию.
- Создавай локальный бранч для каждого логического блока работы.
- Внеси изменения, создавай хорошие описания коммитов и читай файл CONTRIBUTING, если он есть.
- Синхронизируй изменения со свом форком (origin remote).
- Создай Pull Request на GitHub.
- Отвечай на все замечания, полученные в ходе код-ревью.
Дополнение от переводчика
Оригинальная статья была написана в 2015 году. С тех пор вышла GitHub cli, и в git появились новые команды. Теперь эти шаги можно сделать ещё проще.
Как запустить код с github?
Как запустить проект с numpy из GitHub
Добрый день. Я залил проект на репозиторий и хочу открыть его с другого компьютера. Клонирую.
Как запустить исходник с GitHub с нужными мне параметрами в коде python
Хочу запустить данный исходник с GitHub https://github.com/crinny/teleboost Допустим я весь код с.
Подскажите как запустить код с GitHub
Хочу запустить вот этот проект с гитхаба: https://github.com/sicxu/Deep3DFaceRecon_pytorch Для.
Запустить готовый код с github
Возникла у меня прикладная задача — управлять хабом универсального пульта (по сути ИК-передатчиком).