Go to file
Raphaël Vinot 62ce1b7dc0 chg: Bump Dependencies 2019-03-14 09:50:11 +01:00
bin
cache
client new: Add test case 2019-02-04 16:09:23 +01:00
doc/logo
urlabuse
website
.gitignore
.gitmodules
.travis.yml new: Add test case 2019-02-04 16:09:23 +01:00
LICENSE
Pipfile chg: Cleanup install 2019-02-04 14:31:20 +01:00
Pipfile.lock chg: Bump Dependencies 2019-03-14 09:50:11 +01:00
README.md
requirements.txt
setup.py

README.md

Build Status

URL Abuse

URL Abuse logo

URL Abuse is a versatile free software for URL review, analysis and black-list reporting. URL Abuse is composed of a web interface where requests are submitted asynchronously and a back-end system to process the URLs into features modules.

Features

Please note that some of the API services will require an API key. The API keys should be located in the root of the URL Abuse directory.

Online version

If you don't want to use the online version or run your own version of URL Abuse, you can follow the install process below.

Install

IMPORTANT: Use pipenv

NOTE: Yes, it requires python3.6+. No, it will never support anything older.

Install redis

git clone https://github.com/antirez/redis.git
cd redis
git checkout 5.0
make
make test
cd ..

Install Faup

git clone git://github.com/stricaud/faup.git
cd faup
mkdir build
cd build
cmake .. && make
sudo make install

Install & run URL Abuse

git clone https://github.com/CIRCL/url-abuse.git
cd url-abuse
pipenv install
echo URLABUSE_HOME="'`pwd`'" > .env
pipenv shell
# Copy and review the configuration:
cp website/config/config.ini.sample website/config/config.ini
# Starts all the backend
start.py
# Start the web interface
start_website.py

Contributing

We welcome pull requests for new extensions, bug fixes.

Add a new module

Look at the existings functions/modules. The changes will have to be made in the following files:

  • Add the function you want to execure in url_abuse_async.py
  • Add a route in web/__init__.py. This route will do an async call to the function defined in url_abuse_async.py. The parameter of the function is sent in an POST object
  • Add a statement in web/templates/url-report.html. The data option is the parameter to pass to the javascript directive
  • Add a directive in web/static/main.js, it will take care of passing the parameter to the backend and regularly pull for the response of the async call

Partner and Funding

URL Abuse was being developed as part of the “European Union anti-Phishing Initiative” (EU PI) project. This project was coordinated by Cert-Lexsi and co-funded by the Prevention of and Fight against Crime programme of the European Union.

URL Abuse is currently supported and funded by CIRCL ( Computer Incident Response Center Luxembourg).