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
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
[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
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
Fastapi practice project

todo-list-fastapi practice project How to run Install dependencies npm, yarn: standard-version, husky make: script for lint, test pipenv: virtualenv +

Deo Kim 10 Nov 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
Example of using FastAPI and MongoDB database.

FastAPI Todo Application Example of using FastAPI and MangoDB database. 💡 Prerequisites Python ⚙️ Build & Run The first thing to do is to clone the r

Bobynets Ivan 1 Oct 29, 2021
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
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 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
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
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
Backend Skeleton using FastAPI and Sqlalchemy ORM

Backend API Skeleton Based on @tiangolo's full stack postgres template, with some things added, some things removed, and some things changed. This is

David Montague 18 Oct 31, 2022
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 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
OpenAPI generated FastAPI server

OpenAPI generated FastAPI server This Python package is automatically generated by the OpenAPI Generator project: API version: 1.0.0 Build package: or

microbo 1 Oct 31, 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
更新 2.0 版本,使用 Python WEB 高性能异步框架 FastAPI 制作的抖音无水印解析下载,采用前后端分离思想!

前言 这个是 2.0 版本,使用现在流行的前后端分离思想重构。 体验网址:https://douyin.bigdataboy.cn 更新日志 2020.05.30:使用 FastAPI 前后端分离重构 2020.05.02:已更新,正常使用 2020.04.27:抖音结构更新,已修复视频有水印。(失

64 Nov 25, 2022
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
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
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