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
python fastapi example connection to mysql

Quickstart Then run the following commands to bootstrap your environment with poetry: git clone https://github.com/xiaozl/fastapi-realworld-example-ap

55 Dec 15, 2022
FastAPI on Google Cloud Run

cloudrun-fastapi Boilerplate for running FastAPI on Google Cloud Run with Google Cloud Build for deployment. For all documentation visit the docs fold

Anthony Corletti 139 Dec 27, 2022
Recommend recipes based on what ingredients you have at home

🌱 MyChef 📦 Overview MyChef is an application that helps you decide what meal to make based on what you have at home. Simply enter in ingredients you

Logan Connolly 44 Nov 08, 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
Online Repo Browser

MSYS2 Web Interface A simple web interface for browsing the MSYS2 repos. Rebuild CSS/JS (optional): cd frontend npm install npm run build Run for Dev

MSYS2 64 Dec 30, 2022
Lung Segmentation with fastapi

Lung Segmentation with fastapi This app uses FastAPI as backend. Usage for app.py First install required libraries by running: pip install -r requirem

Pejman Samadi 0 Sep 20, 2022
Example of integrating Poetry with Docker leveraging multi-stage builds.

Poetry managed Python FastAPI application with Docker multi-stage builds This repo serves as a minimal reference on setting up docker multi-stage buil

Michael Oliver 266 Dec 27, 2022
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
Web Inventory tool, takes screenshots of webpages using Pyppeteer (headless Chrome/Chromium) and provides some extra bells & whistles to make life easier.

WitnessMe WitnessMe is primarily a Web Inventory tool inspired by Eyewitness, its also written to be extensible allowing you to create custom function

byt3bl33d3r 648 Jan 05, 2023
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
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
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
A complete end-to-end machine learning portal that covers processes starting from model training to the model predicting results using FastAPI.

Machine Learning Portal Goal Application Workflow Process Design Live Project Goal A complete end-to-end machine learning portal that covers processes

Shreyas K 39 Nov 24, 2022
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
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 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
An image validator using FastAPI.

fast_api_image_validator An image validator using FastAPI.

Kevin Zehnder 7 Jan 06, 2022
Backend, modern REST API for obtaining match and odds data crawled from multiple sites. Using FastAPI, MongoDB as database, Motor as async MongoDB client, Scrapy as crawler and Docker.

Introduction Apiestas is a project composed of a backend powered by the awesome framework FastAPI and a crawler powered by Scrapy. This project has fo

Fran Lozano 54 Dec 13, 2022
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
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