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
volunteer-database

This is the official CSM (Crowd source medical) database The What Now? We created this in light of the COVID-19 pandemic to allow volunteers to work t

32 Jun 21, 2022
FastAPI framework plugins

Plugins for FastAPI framework, high performance, easy to learn, fast to code, ready for production fastapi-plugins FastAPI framework plugins Cache Mem

RES 239 Dec 28, 2022
Monitor Python applications using Spring Boot Admin

Pyctuator Monitor Python web apps using Spring Boot Admin. Pyctuator supports Flask, FastAPI, aiohttp and Tornado. Django support is planned as well.

SolarEdge Technologies 145 Dec 28, 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 Python pickling decompiler and static analyzer

Fickling Fickling is a decompiler, static analyzer, and bytecode rewriter for Python pickle object serializations. Pickled Python objects are in fact

Trail of Bits 162 Dec 13, 2022
官方文档已经有翻译的人在做了,

FastAPI 框架,高性能,易学,快速编码,随时可供生产 文档:https://fastapi.tiangolo.com 源码:https://github.com/tiangolo/fastapi FastAPI 是一个现代、快速(高性能)的 Web 框架,基于标准 Python 类型提示,使用

ApacheCN 27 Nov 11, 2022
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
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
ASGI middleware for authentication, rate limiting, and building CRUD endpoints.

Piccolo API Utilities for easily exposing Piccolo models as REST endpoints in ASGI apps, such as Starlette and FastAPI. Includes a bunch of useful ASG

81 Dec 09, 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
TODO aplication made with Python's FastAPI framework and Hexagonal Architecture

FastAPI Todolist Description Todolist aplication made with Python's FastAPI framework and Hexagonal Architecture. This is a test repository for the pu

Giovanni Armane 91 Dec 31, 2022
Example projects built using Piccolo.

Piccolo examples Here are some example Piccolo projects. Tutorials headless blog fastapi Build a documented API with an admin in minutes! Live project

15 Nov 23, 2022
A Nepali Dictionary API made using FastAPI.

Nepali Dictionary API A Nepali dictionary api created using Fast API and inspired from https://github.com/nirooj56/Nepdict. You can say this is just t

Nishant Sapkota 4 Mar 18, 2022
REST API with FastAPI and SQLite3.

REST API with FastAPI and SQLite3

Luis Quiñones Requelme 2 Mar 14, 2022
ReST based network device broker

The Open API Platform for Network Devices netpalm makes it easy to push and pull state from your apps to your network by providing multiple southbound

368 Dec 31, 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
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
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
🤪 FastAPI + Vue构建的Mall项目后台管理

Mall项目后台管理 前段时间学习Vue写了一个移动端项目 https://www.charmcode.cn/app/mall/home 然后教程到此就结束了, 我就总感觉少点什么,计划自己着手写一套后台管理。 相关项目 移动端Mall项目源码(Vue构建): https://github.com/

王小右 131 Jan 01, 2023
📦 Autowiring dependency injection container for python 3

Lagom - Dependency injection container What Lagom is a dependency injection container designed to give you "just enough" help with building your depen

Steve B 146 Dec 29, 2022