Scan your project contents and find out which countries your dependencies originate from.
Table of Contents
DepScan tool can provide a simple solution to quickly scan your project directory for 3rd party dependencies and gather geolocation info about dependency owner and maintainers and which country they are related to. It uses famous awesome / made-in projects by IonicaBizau and other contributors to collect dependency metadata, country of origin and other related GitHub data.
The windows executable expects an input XML file (dictionary) with dependency information and produces text report with matched dependency data. You may find already prepared dictionary files per country under dictionary
directory.
You may also use command line PHP script php-scrapper
, bundled within this project to customize your XML input and selectively scrap data for specific countries.
Currently, the following countries are supported either by MD or JSON format provided by other contributor repositories. If you need to prepare your own XML dictionary refer to php-scrapper CLI tool.
Brazil Russia India Japan Ukraine Germany Angola China Albania Mexico
Turkey Romania Serbia Russia Brazil Belarus Italy Chile Bosnia Colombia Poland India Netherlands Bulgaria Bolivia Ukraine Venezuela Uruguay Spain Slovenia Slovakia Portugal Peru Paraguay Moldova Malta Lithuania Latvia Guyana Greece France Finland Estonia Ecuador Denmark Croatia Belgium Austria Argentina Albania
- Follow compressed files (jar, ear, war, zip)
- Scan Javascript project metadata files (NPM)
- Scan Python project metadata files (requirements)
- Scan Java project metadata files (POM, Gradle)
- Scan PHP project metadata files (Composer)
- Scan all textual files with extended regex - this option will target all textual files instead of tech stack specific like java, nodejs etc.
- Scan for extra package maintainer details by their github usernames, nicknames, emails etc.
Checkout this project and open it with C# suported IDE. You may use VSCode or VisualStudio Community.
If you plan to use php-scrapper to customize your search then install php system wide or use php docker image. Before you run php script create config.php file from template php-scrapper/config.php.dist and update configuration variables to suite your needs. For an example you may need to insert your own GitHub API token which is required by php to communicate with GitHub API.
- Get a free GitHub API Key if you want to prepare your custom input data with dependency information targeting specific country or list of countries.
- Clone the repo
git clone https://github.com/tezvi/depscan.git
- Update php script
php-scrapper/scrapper.php
and insert your own GitHub API key and modify country list if needed and then run the script.php -f php-scrapper/scrapper.php
- Open DepScanWin in Visual Studio or other supported IDE and build project. Execute DepScanWin from project's bin directory.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Project Link: https://github.com/tezvi/depscan