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
asgi-server-timing-middleware

ASGI Server-Timing middleware An ASGI middleware that wraps the excellent yappi profiler to let you measure the execution time of any function or coro

33 Dec 15, 2022
A simple web to serve data table. It is built with Vuetify, Vue, FastApi.

simple-report-data-table-vuetify A simple web to serve data table. It is built with Vuetify, Vue, FastApi. The main features: RBAC with casbin simple

11 Dec 22, 2022
REST API with FastAPI and SQLite3.

REST API with FastAPI and SQLite3

Luis Quiñones Requelme 2 Mar 14, 2022
Auth for use with FastAPI

FastAPI Auth Pluggable auth for use with FastAPI Supports OAuth2 Password Flow Uses JWT access and refresh tokens 100% mypy and test coverage Supports

David Montague 95 Jan 02, 2023
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
a lightweight web framework based on fastapi

start-fastapi Version 2021, based on FastAPI, an easy-to-use web app developed upon Starlette Framework Version 2020 中文文档 Requirements python 3.6+ (fo

HiKari 71 Dec 30, 2022
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
fastapi-crud-sync

Developing and Testing an API with FastAPI and Pytest Syncronous Example Want to use this project? Build the images and run the containers: $ docker-c

59 Dec 11, 2022
A minimalistic example of preparing a model for (synchronous) inference in production.

A minimalistic example of preparing a model for (synchronous) inference in production.

Anton Lozhkov 6 Nov 29, 2021
This project is a realworld backend based on fastapi+mongodb

This project is a realworld backend based on fastapi+mongodb. It can be used as a sample backend or a sample fastapi project with mongodb.

邱承 381 Dec 29, 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
Analytics service that is part of iter8. Robust analytics and control to unleash cloud-native continuous experimentation.

iter8-analytics iter8 enables statistically robust continuous experimentation of microservices in your CI/CD pipelines. For in-depth information about

16 Oct 14, 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
Install multiple versions of r2 and its plugins via Pip on any system!

r2env This repository contains the tool available via pip to install and manage multiple versions of radare2 and its plugins. r2-tools doesn't conflic

radare org 18 Oct 11, 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
A Prometheus Python client library for asyncio-based applications

aioprometheus aioprometheus is a Prometheus Python client library for asyncio-based applications. It provides metrics collection and serving capabilit

132 Dec 28, 2022
JSON-RPC server based on fastapi

Description JSON-RPC server based on fastapi: https://fastapi.tiangolo.com Motivation Autogenerated OpenAPI and Swagger (thanks to fastapi) for JSON-R

199 Dec 30, 2022
A Jupyter server based on FastAPI (Experimental)

jupyverse is experimental and should not be used in place of jupyter-server, which is the official Jupyter server.

Jupyter Server 122 Dec 27, 2022
基于Pytorch的脚手架项目,Celery+FastAPI+Gunicorn+Nginx+Supervisor实现服务部署,支持Docker发布

cookiecutter-pytorch-fastapi 基于Pytorch的 脚手架项目 按规范添加推理函数即可实现Celery+FastAPI+Gunicorn+Nginx+Supervisor+Docker的快速部署 Requirements Python = 3.6 with pip in

17 Dec 23, 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