Jinmo / idapkg

Packages for IDA Pro (written in python but supports all)
MIT License
131 stars 16 forks source link

Install from github #12

Open tmr232 opened 4 years ago

tmr232 commented 4 years ago

I think it would be neat to install packages directly from github (or other git repos).

Jinmo commented 4 years ago

Yes, it seems like a good idea! Initially I was planning to sync API scheme to be able to be statically served, but forgot it after some point (I guess it would still work, but examples would be good). I'll review all of endpoints, and add extensions (.json, ...) to them if needed.

Edit: After some considerations, I'm preparing to move everything from AWS S3 to github. I'll start this from 2 days after.

bruce30262 commented 3 years ago

@Jinmo since now v0.1.4 has some issue with virtualenv ( #18 )
I would like to know the progress about this issue ?

I found that you just need to replace the code in installer.py from:

    importlib.import_module('urllib.request' if sys.version_info.major == 3 else 'urllib').urlretrieve(
        'https://github.com/Jinmo/idapkg/archive/%s.zip' % tag, n.name)

into

    importlib.import_module('urllib.request' if sys.version_info.major == 3 else 'urllib').urlretrieve(
        "https://github.com/Jinmo/idapkg/archive/master.zip", n.name)

and we're good to go.

Maybe provide an option in README's "minified installer.py" so user can decide which version they prefer to install ?

Jinmo commented 3 years ago

Hello, I've uploaded an example repo: https://github.com/Jinmo/idapkg-repo and commit 2bd86e7 and 5e141ca. You can specify the new github: url scheme in config.json. The default value for config.json is not changed yet.

{
    "repos": [
        "github:Jinmo/idapkg-repo/master"
    ]
}

Regarding the virtualenv issue, I'm considering to stick with the old virtualenv version for now (5da3483). I investigated how to use virtualenv's installer script (which embeds appdirs, and other packages), but I couldn't figure it out yet.

You're correct on the installer suggestion. I've updated the readme in d8cfcd3. Thank you for interest!

Besides, I've found some problem in idapkg's mechanism in 7.5.

I'm considering to abandon IDAUSR way if needed, and this will require some design changes. (e.g. just using %APPDATA%/Hex-Rays instead, and keep track of installed files, like python's egg + site-packages) But it will require some amount of time to decide..