Ruby curb установка windows

Begin Rescue

Monday, July 5, 2010

Installing Curb with Ruby 1.9.1 in Windows

Disclaimer: This is about how I installed curb in Windows XP. This is probably not the only way and certainly not the best way. I’m not a Windows developer (I just play one on TV) and haven’t done any work with C in an embarrassingly long time. I’ll be happy to help with any problems, but please don’t expect me to be able to fix this at 5pm on Friday when your production machine decides to blow up.

Now that we got that out of the way.

How I finally got curb to install in Windows.

    Install the latest Ruby installer and DevKit.
    The finer points of doing that are outside the scope of this post, so if you have trouble with those things I’d reccommend this tutorial, the DevKit Howto and the excellent RubyInstaller mailing list.

Just for the record, I’m using the latest as of the time I’m writing this: ruby-1.9.1-p429 and devkit-3.4.5r3-20091110.7z.

Get libcurl.
I, again, am using the latest as of the time I’m writing this: 7.21.0. If you need a different version for whatever reason, the libcurl downloads page has a few different versions available, so make sure to get the one for mingw32 and that you get libcurl and not plain-old curl.

With that downloaded, I extracted the .zip file to the root of my C:\ drive. The location you put this is important for the next steps.

Put the curl binaries in your path.
My preferred way is to add the libcurl \bin folder to the Windows path, so that typing ‘path’ at a Windows command prompt gives a result like this:

Other things you can do here are copy the libcurl .dll files into your ruby’s \bin folder (or anywhere else in the PATH) but I think that’s kinda lame.

Install curb.
The magic incantation I found for this was the following:

gem install curb — —with-curl-lib=C:\curl-7.21.0-devel-mingw32\bin —with-curl-include=C:\curl-7.21.0-devel-mingw32\include

Every other combination of flags and paths resulted in compilation errors, so you’ve been warned. Also, you’ll need to change the curl paths if you decided to install to a different place or with a different version.

Test it.
Here’s a very simple script that will load curb and GET a url:
require ‘curb’

c = Curl::Easy.new
c.url = «http://example.com»
c.http_get
puts c.body_str.size

# Output:
# 574

Did this work for you? Let me know in the comments!

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как установить и использовать Ruby в Windows

Для чего устанавливать Ruby

Ruby — это скриптовый язык, то есть для запуска программ не требуется предварительная компиляция. В этом смысле Ruby является аналогом PHP, Python, PERL и других.

Читайте также:  Ubuntu linux для asus eee pc

Ruby достаточно популярный язык и на нём написано много интересных программ; если говорить применительно к InfoSec, то в качестве примеров можно привести знаменитые WPScan, WhatWeb, Wayback Machine Downloader и другие.

Установив Ruby на Windows вы сможете запускать программы, написанные на этом языке, а также изучать это язык программирования и писать свои собственные скрипты.

Кстати, Ruby, наравне как и PHP, Python и PERL, может быть модулем веб-сервера и скрипты, написанные на этом языке, можно использовать в качестве программной основы веб-сайта или сервиса.

Как установить Ruby на Windows

Там вы увидите много вариантов установщика, которые различаются не только версиями, но и составом скаченных файлов. Исполнимые файлы являются самодостаточными установщиками для Windows, которые включают язык Ruby, окружение выполнения, важную документацию и прочее. Если вы не знаете, какую версию установить, чтобы начать знакомство с Ruby, то рекомендуется установщик Ruby+Devkit * (x64). Он предоставляет самое большое число совместимых gem (пакеты Ruby) и устанавливает MSYS2-Devkit вместе с Ruby, благодаря чему gem с C-расширениями могут быть скомпилированы сразу после завершения установки.

Запустите скаченный файл. В этом окне мы можем выбрать настройки:

Папку установки можно оставить без изменения.

Add Ruby executables to your PATH – означает добавить каталог с исполнимыми файлами Ruby в системную переменную. Это рекомендуется сделать, чтобы не указывать при каждом запуске скрипта Ruby полный путь до интерпретатора скриптов.

Associate .rb and .rbw files with Ruby installation — означает связать файлы с расширениями .rb и .rbw с установленным Ruby. Благодаря этому файлы Ruby можно будет запускать двойным кликом или набрав имя скрипта в командной строке.

Use UTF-8 as default external encoding – означает использовать кодировку UTF-8 в качестве внешней кодировки по умолчанию.

Я выбрал все три галочки и в качестве папку установки ввёл C:\Ruby26:

Как видно на следующей странице, сам пакет Ruby занимает немного места, но много места занимается предлагаемая к установке набор инструментов разработчика MSYS2. Я настоятельно рекомендую установить MSYS2, поскольку кроме упомянутой выше возможности компилировать пакеты для Ruby, MSYS2 обеспечивает консольное окружение с функциями Linux (примерно как это делает Cygwin, но с дополнительными возможностями).

Оставьте галочку на последнем окне для настройки инструментов разработчика MSYS2 и нажмите Finish.

Далее нам предлагается:

Просто нажимаем ENTER для выполнения всех трёх действий:

Всё завершено, для выхода нажмите ENTER:

Кстати, если вы внимательно смотрели за происходящем на экране, то могли заметить pacman. В этом консольном окружении действительно есть менеджер пакетов pacman. К другим функциями MSYS2 вернёмся чуть позже.

Подробнее о Pacman смотрите в статьях:

Как обновить Ruby на Windows

Для обновления до последнего патча (то есть минорной версии, к примеру с 2.5.1 до 2.5.4), достаточно запустить новую версию установщика. Установленные gem (пакеты из репозитория Ruby), не перезаписываются и будут работать с новой версией без переустановки. Для обновления установки достаточно использовать RubyInstaller без Devkit. Обновить Devkit можно отдельно запустив в командной строке Windows следующую команду:

Читайте также:  Windows disconnect all network shares

При выходе новой мажорной версии её нельзя обновить установкой в ту же директорию, что и предыдущая. К примеру, если предыдущая версия установки RubyInstaller-2.5.x, а новая версия RubyInstaller-2.6.x, то её нужно установить либо в новую директорию, либо удалить старую версию и вместо неё установить новую, поскольку gem (программы) с C расширениями не совместимы между ruby-2.5 и 2.6.

Как установить и использовать gem в Windows

RubyGems — это менеджер пакетов для Ruby. С помощью него можно установить различные программы и их зависимости, установку можно делать как из исходного кода на локальной системе, так и с удалённых источников приложений.

Показанная выше установка Ruby также устанавливает и gem, чтобы в этом убедиться выполните команду:

Вы должны увидеть справку по использованию gem.

Чтобы вывести все доступные команды gem, выполните:

Чтобы установить пакет запустите команду вида:

Больше примеров по установке пакетов будет далее.

Чтобы показать справку о команде установки:

К примеру, для установки программы ‘rake’ из локальной директории или удалённого сервера:

Установка пакета ‘rake’ только с удалённого сервера:

Установка ‘rake’, но только версии 0.3.1, даже если имеются неудовлетворённые зависимости, установку сделать в пользовательскую директорию:

Вывести список gem (пакетов), чьё имя начинается на ‘D’:

Вывести список локальный и удалённых gem, чьё имя содержит ‘log’:

gem search log —both

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

Вывести список только удалённых (не локальных) gem, чьё имя содержит ‘log’:

Просмотреть информацию о RubyGems:

Обновить все программы gem в системе:

Обновить локальную версию RubyGems:

Как установить bundler

bundler — это менеджер зависимостей Ruby. Данный менеджер пригодится при установке других программ, написанных на Ruby.

Для установки bundler в Windows выполните:

Для обновления bundle выполните команду:

Если вы устанавливаете программу из исходного кода и там присутствует файл Gemfile, то перейдите в папку с этой программой и выполните в ней команду:

Эта команда установит все перечисленные в файле Gemfile зависимости.

Чтобы увидеть, где установленные с помощью bundle пакеты gem, используйте команду:

Как установить программу Ruby в Windows. Как запустить программу Ruby в Windows

Далее рассмотрим несколько примеров установки и использования программ на Ruby в Windows.

Восстановление сайтов из Интернет Архива в Windows

Начнём с программы Wayback Machine Downloader, которая полностью восстанавливает сайты из веб архива.

Для установки Wayback Machine Downloader достаточно выполнить:

Запустим для проверки работоспособности программы восстановление сайта из Архива Интернета:

Программа успешно завершила работу:

Как установить WhatWeb в Windows

WhatWeb идентифицирует веб-сайты. Цель этой программы ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиоотеки JavaScript, веб-сервера и встроенные устройства. WhatWeb имеет более 1700 плагинов, каждый из которых для распознавания чего-то одного. WhatWeb также идентифицирует номера версий, email адреса, ID аккаунтов, модули веб-платформ, SQL ошибки и прочее.

Начнём с поиска WhatWeb в репозитории пакетов Ruby:

Найдено только simple_whatweb (0.4.1).

Даже если это WhatWeb, то версия очень старая. Поэтому на Windows установим WhatWeb из исходного кода.

Распакуйте эту папку. Откройте командную строку и перейдите в эту папку:

Следующая команда покажет справку по программе:

Читайте также:  Arch linux свой репозиторий

Запустим проверку сайтов:

Установка WPScan в Windows

Что такое MSYS2. Как пользоваться MSYS2

Мы установили уже MSYS2 для того, чтобы получить доступ к инструментам компиляции, благодаря которым мы сможем установить любой пакет Ruby. На самом деле MSYS2 основывается на Cygwin и содержит большое количество утилит Linux.

MSYS2 предоставляет оболочку bash, Autotools, make, gcc, pacman, sh и многие другие пакеты. Особенно следует отметить менеджер пакетов pacman.

Для активации рабочего окружения MSYS2 откройте командную строку или консоль powershell и выполните там:

В результате сразу станут доступны для работы многие утилиты Linux, а также менеджер пакетов Pacman, с помощью которого можно установить новые пакеты или обновить имеющиеся. При установке пакетов Pacman следит за зависимостями и устанавливает их.

Curb — Libcurl bindings for Ruby

Curb (probably CUrl-RuBy or something) provides Ruby-language bindings for the libcurl(3), a fully-featured client-side URL transfer library. cURL and libcurl live at http://curl.haxx.se/ .

Curb is a work-in-progress, and currently only supports libcurl’s easy and multi modes.

License

Curb is copyright (c)2006 Ross Bamford, and released under the terms of the Ruby license. See the LICENSE file for the gory details.

You will need

  • A working Ruby installation ( 1.8.7+ will work but 2.1+ preferred)
  • A working libcurl development installation (Ideally one of the versions listed in the compatibility chart below that maps to your curb version)
  • A sane build environment (e.g. gcc, make)

Version Compatibility chart

A non-exhaustive set of compatibility versions of the libcurl library with this gem are as follows. (Note that these are only the ones that have been tested and reported to work across a variety of platforms / rubies)

Gem Version Release Date libcurl versions
0.9.8 Jan 2019 7.58 — 7.63
0.9.7 Nov 2018 7.56 — 7.60
0.9.6 May 2018 7.51 — 7.59
0.9.5 May 2018 7.51 — 7.59
0.9.4 Aug 2017 7.41 — 7.58
0.9.3 Apr 2016 7.26 — 7.58

Installation.

. will usually be as simple as:

On Windows, make sure you’re using the DevKit and the development version of libcurl. Unzip, then run this in your command line (alter paths to your curl location, but remember to use forward slashes):

Note that with Windows moving from one method of compiling to another as of Ruby 2.4 (DevKit -> MYSYS2), the usage of Ruby 2.4+ with this gem on windows is unlikely to work. It is advised to use the latest version of Ruby 2.3 available HERE

Or, if you downloaded the archive:

If you have a weird setup, you might need extconf options. In this case, pass them like so:

Curb is tested only on GNU/Linux x86 and Mac OSX — YMMV on other platforms. If you do use another platform and experience problems, or if you can expand on the above instructions, please report the issue at http://github.com/taf2/curb/issues

On Ubuntu, the dependencies can be satisfied by installing the following packages:

18.04 and onwards

Curl::Easy — simple API, for day-to-day tasks.

  • Curl::Multi — more advanced API, for operating on multiple URLs simultaneously.
  • To use either, you will need to require the curb gem:

    Оцените статью