Install multiple versions of r2 and its plugins via Pip on any system!

Related tags

FastAPI Projectsr2env
Overview

r2env

CI

This repository contains the tool available via pip to install and manage multiple versions of radare2 and its plugins.

r2-tools doesn't conflict with r2pm in the sense that it's not going to support all the packages and plugins and it's

r2env supports source and binary packages.

Dependencies

  • r2env should be self contained

Some tools may be used if installed in the system, making some packages available, but we may try to use python-version if possible, so it don't depend on system packages.

Package description

INI, JSON or python class, loaded at runtime, but it is k=v stuff

Actions

  • install / uninstall
  • link / unlink
  • update - pip install -U r2env
  • upgrade - upgrade r2 and all the deps in sync

How to install

r2env is available via PIP. (pip install r2env)

To build + install from source just run: make

Usage

First of all you may want to initialize the .r2env directory somewhere with cd .. ; r2env init.

Listing available packages is done via r2env list.

Source packages are managed with the add, rm, use and unused.

For example: Installing radare2 (assumes @git version)

cd /tmp
r2env init
r2env add radare2
r2env use [email protected]
r2env shell r2 -v

r2pm vs r2env

r2env aims to provide a packaging for r2 with support for binary packages and for all major platforms.

r2pm focus on providing more packages, it's written in shellscript, so it doesnt run on windows and requires r2 to work.

Therefor r2env is kind of nvm from nodejs or pyenv from python. A way to run multiple different versions of r2 in the system.

Comments
  • Filed build on ubuntu 20 with ./configure: not found

    Filed build on ubuntu 20 with ./configure: not found

    Build failed on Ubuntu 20

    :~ λ ~ r2env install [email protected]
    [*] Installing [email protected] package from source
    [-] Cloning latest version
    [-] Cleaning Repo
    [-] Building package using acr for Termux...
    [x] Something wrong happened during the build process. Check /home/alex/.r2env/log/radare0_latest_198330278_build.txt for more information.
    [*] Magic Done! Remember to add the $HOME/.r2env/bin folder to your PATH.
    
    :~ λ ~ cat /home/alex/.r2env/log/radare0_latest_198330278_build.txt
    sh: 1: ./configure: not found
    
    opened by alex-bender 1
  • r2env on mac reports

    r2env on mac reports "termux" and ^C ends with success

    $ r2env install [email protected]
    [*] Installing [email protected] package from source
    [-] Cloning latest version
    [-] Cleaning Repo
    [-] Building package using acr for Termux...
    ^C[x] Something wrong happened during the build process. Check /Users/pancake/.r2env/log/radare2_latest_247_build.txt for more information.
    [*] Magic Done! Remember to add the $HOME/.r2env/bin folder to your PATH.
    $ uname -a
    Darwin pancakes-MacBook-Pro.local 19.6.0 Darwin Kernel Version 19.6.0: Mon Apr 12 20:57:45 PDT 2021; root:xnu-6153.141.28.1~1/RELEASE_X86_64 x86_64
    $
    
    opened by radare 1
  • rename

    rename "install" to "add"

    install sounds more like putting something system wide, and its actually only adding it to the local installations directory.

    im also fine to keep "install" because it fits well with "uninstall". But i would call r2env use ..internally after building it, so the user doesnt needs to run the use line after that step

    opened by trufae 1
  • keyerror after `r2env add radare2`

    keyerror after `r2env add radare2`

    As reported in https://github.com/radareorg/r2ghidra/issues/29

    # r2env add radare2
    Adding package
    Building radare2
    Cloning into '/home/.r2env/src/[email protected]'...
    remote: Enumerating objects: 232649, done.
    remote: Counting objects: 100% (274/274), done.
    remote: Compressing objects: 100% (152/152), done.
    remote: Total 232649 (delta 145), reused 218 (delta 121), pack-reused 232375
    Receiving objects: 100% (232649/232649), 132.71 MiB | 3.04 MiB/s, done.
    Resolving deltas: 100% (179389/179389), done.
    Building ...
    tail -f /home/.r2env/log/radare2.txt
    Traceback (most recent call last):
      File "/usr/local/bin/r2env", line 8, in <module>
        sys.exit(main())
      File "/usr/local/lib/python3.8/dist-packages/r2env/repl.py", line 177, in main
        if not run_action(e, args.action, args.args):
      File "/usr/local/lib/python3.8/dist-packages/r2env/repl.py", line 143, in run_action
        if not match_pkg(pkgs, targets, add_package):
      File "/usr/local/lib/python3.8/dist-packages/r2env/repl.py", line 96, in match_pkg
        cb(pkg, profile)
      File "/usr/local/lib/python3.8/dist-packages/r2env/repl.py", line 49, in add_package
        pkg.build(profile)
      File "/usr/local/lib/python3.8/dist-packages/r2env/db/radare2.py", line 107, in build
        build_radare2(profile)
      File "/usr/local/lib/python3.8/dist-packages/r2env/db/radare2.py", line 86, in build_radare2
        use_meson = profile["meson"]
    KeyError: 'meson'
    
    opened by trufae 1
  • Fixing shell command to be used with parameters and add radare2@5.6.6

    Fixing shell command to be used with parameters and add [email protected]

    -Raising an error using Windows with ACR (not supported)

    • Use git as default version if not defined.
    opened by as0ler 0
  • Shell improvements and fixes

    Shell improvements and fixes

    Checklist

    • [ ] Closing issues: #issue
    • [ ] Mark this if you consider it ready to merge
    • [ ] I've added tests (optional)
    • [ ] I wrote some documentation

    Description

    opened by as0ler 0
  • Fix missing libs issue in meson builds on macos-sip targets

    Fix missing libs issue in meson builds on macos-sip targets

    Checklist

    • [ ] Closing issues: #issue
    • [ ] Mark this if you consider it ready to merge
    • [ ] I've added tests (optional)
    • [ ] I wrote some documentation

    Description

    opened by trufae 0
  • Minor tweaks in the meson build function

    Minor tweaks in the meson build function

    Checklist

    • [ ] Closing issues: #issue
    • [ ] Mark this if you consider it ready to merge
    • [ ] I've added tests (optional)
    • [ ] I wrote some documentation

    Description

    opened by trufae 0
  • Create codeql-analysis.yml

    Create codeql-analysis.yml

    Checklist

    • [ ] Closing issues: #issue
    • [ ] Mark this if you consider it ready to merge
    • [ ] I've added tests (optional)
    • [ ] I wrote some documentation

    Description

    opened by as0ler 0
  • m1 support

    m1 support

    there are no m1 builds as long as github doesnt provide the right xcode so we cant crosscompile or m1 instances to build them in local. so all the _m1 pkgs are not working. We can install the x64 bin for now, or build from source for now

    opened by trufae 1
  • Missing tool not being printed on error message

    Missing tool not being printed on error message

    When running r2env add [email protected] without make tool the error message shows

    [x] {} is required. Please install it first
    

    It should print the tool name.

    opened by lukeflima 0
  • r2env init must take an argument with the path to use instead of HOME

    r2env init must take an argument with the path to use instead of HOME

    Current behaviour (not what i would expect)

    $ r2env init
    [x] r2env already initialized. Path /Users/pancake/.r2env already exists.
    $ r2env init /tmp
    [x] r2env already initialized. Path /Users/pancake/.r2env already exists.
    $
    
    opened by trufae 1
Releases(v0.5.5)
Owner
radare org
radare org
Deploy an inference API on AWS (EC2) using FastAPI Docker and Github Actions

Deploy an inference API on AWS (EC2) using FastAPI Docker and Github Actions To learn more about this project: medium blog post The goal of this proje

Ahmed BESBES 60 Dec 17, 2022
Twitter API with fastAPI

Twitter API with fastAPI Content Forms Cookies and headers management Files edition Status codes HTTPExceptions Docstrings or documentation Deprecate

Juan Agustin Di Pasquo 1 Dec 21, 2021
FastAPI构建的API服务

使用FastAPI 构建的商城项目API 学习FastAPI 构建项目目录 构建项目接口: 对应博客:https://www.charmcode.cn/article/2020-06-08_vue_mall_api 声明 此项目已经不再维护, 可以参考我另外一个项目https://github.co

王小右 64 Oct 04, 2022
FastAPI Learning Example,对应中文视频学习教程:https://space.bilibili.com/396891097

视频教学地址 中文学习教程 1、本教程每一个案例都可以独立跑,前提是安装好依赖包。 2、本教程并未按照官方教程顺序,而是按照实际使用顺序编排。 Video Teaching Address FastAPI Learning Example 1.Each case in this tutorial c

381 Dec 11, 2022
[rewrite 중] 코로나바이러스감염증-19(COVID-19)의 국내/국외 발생 동향 조회 API | Coronavirus Infectious Disease-19 (COVID-19) outbreak trend inquiry API

COVID-19API 코로나 바이러스 감염증-19(COVID-19, SARS-CoV-2)의 국내/외 발생 동향 조회 API Corona Virus Infectious Disease-19 (COVID-19, SARS-CoV-2) outbreak trend inquiry

Euiseo Cha 28 Oct 29, 2022
MLServer

MLServer An open source inference server to serve your machine learning models. ⚠️ This is a Work in Progress. Overview MLServer aims to provide an ea

Seldon 341 Jan 03, 2023
Code for my JWT auth for FastAPI tutorial

FastAPI tutorial Code for my video tutorial FastAPI tutorial What is FastAPI? FastAPI is a high-performant REST API framework for Python. It's built o

José Haro Peralta 8 Dec 16, 2022
Adds integration of the Jinja template language to FastAPI.

fastapi-jinja Adds integration of the Jinja template language to FastAPI. This is inspired and based off fastapi-chamelon by Mike Kennedy. Check that

Marc Brooks 58 Nov 29, 2022
A simple api written in python/fastapi that serves movies from a cassandra table.

A simple api written in python/fastapi that serves movies from a cassandra table. 1)clone the repo 2)rename sample_global_config_.py to global_config.

Sreeraj 1 Aug 26, 2021
This is a FastAPI application that provides a RESTful API for the Podcasts from different podcast's RSS feeds

The Podcaster API This is a FastAPI application that provides a RESTful API for the Podcasts from different podcast's RSS feeds. The API response is i

Sagar Giri 2 Nov 07, 2021
Python supercharged for the fastai library

Welcome to fastcore Python goodies to make your coding faster, easier, and more maintainable Python is a powerful, dynamic language. Rather than bake

fast.ai 810 Jan 06, 2023
Ready-to-use and customizable users management for FastAPI

FastAPI Users Ready-to-use and customizable users management for FastAPI Documentation: https://frankie567.github.io/fastapi-users/ Source Code: https

François Voron 2.4k Jan 01, 2023
FastAPI Boilerplate

FastAPI Boilerplate Features SQlAlchemy session Custom user class Top-level dependency Dependencies for specific permissions Celery SQLAlchemy for asy

Hide 417 Jan 07, 2023
Reusable utilities for FastAPI

Reusable utilities for FastAPI Documentation: https://fastapi-utils.davidmontague.xyz Source Code: https://github.com/dmontagu/fastapi-utils FastAPI i

David Montague 1.3k Jan 04, 2023
python template private service

Template for private python service This is a cookiecutter template for an internal REST API service, written in Python, inspired by layout-golang. Th

UrvanovCompany 15 Oct 02, 2022
Minimal example utilizing fastapi and celery with RabbitMQ for task queue, Redis for celery backend and flower for monitoring the celery tasks.

FastAPI with Celery Minimal example utilizing FastAPI and Celery with RabbitMQ for task queue, Redis for Celery backend and flower for monitoring the

Grega Vrbančič 371 Jan 01, 2023
A rate limiter for Starlette and FastAPI

SlowApi A rate limiting library for Starlette and FastAPI adapted from flask-limiter. Note: this is alpha quality code still, the API may change, and

Laurent Savaete 565 Jan 02, 2023
A simple docker-compose app for orchestrating a fastapi application, a celery queue with rabbitmq(broker) and redis(backend)

fastapi - celery - rabbitmq - redis - Docker A simple docker-compose app for orchestrating a fastapi application, a celery queue with rabbitmq(broker

Kartheekasasanka Kaipa 83 Dec 19, 2022
Money Transaction is a system based on the recent famous FastAPI.

moneyTransfer Overview Money Transaction is a system based on the recent famous FastAPI. techniques selection System's technique selection is as follo

2 Apr 28, 2021
Generate FastAPI projects for high performance applications

Generate FastAPI projects for high performance applications. Based on MVC architectural pattern, WSGI + ASGI. Includes tests, pipeline, base utilities, Helm chart, and script for bootstrapping local

Radosław Szamszur 274 Jan 08, 2023