Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump django from 3.2.4 to 3.2.24 in /web #1188

Open
wants to merge 75 commits into
base: release/2.1.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
7cd1818
not exposing postgres publicly
noraj Oct 3, 2021
ccb6065
do not expose the internal container either
noraj Oct 3, 2021
90bbbfb
ops(migrations): automate migration process
AnonymousWP Apr 18, 2023
9c9fdec
fix(migrations): add `sudo`
AnonymousWP Apr 18, 2023
1656539
fix(migrations): revert sudo and use `echo`
AnonymousWP Apr 18, 2023
f51c173
Add stack trace into male logs if DEBUG True
psyray Oct 18, 2023
1c9b379
Update README with debug procedure
psyray Oct 19, 2023
d197511
Filter by important subdomains in API call
psyray Oct 19, 2023
619377b
Add important subdomains button
psyray Oct 19, 2023
795ddb5
Add listener on is_important button
psyray Oct 19, 2023
3f36ba8
Update README.md
yogeshojha Oct 24, 2023
accc7a7
README modifications
psyray Oct 24, 2023
0db2d2e
Refactor CSS and add missing div
psyray Nov 18, 2023
204c9a9
Add external ip at bottom of the page
psyray Nov 18, 2023
49add4e
Change bad var call for ip
psyray Nov 18, 2023
0db1b6c
Upgrade Django to 3.2.23
psyray Nov 19, 2023
9cb040c
Update Django dependencies
psyray Nov 19, 2023
bce7047
Add celery log for DEBUG
psyray Nov 20, 2023
41fed23
feat: add non-interactive installation parameter
AnonymousWP Nov 21, 2023
71e04e3
Add debug log to celery tasks part
psyray Nov 21, 2023
620a8fa
Fix typo
psyray Nov 21, 2023
1935e70
Merge branch 'master' into patch-1
AnonymousWP Nov 23, 2023
dc7e95e
docs(readme): add ideal values for `MAX_CONCURRENCY`
AnonymousWP Nov 25, 2023
7b2abed
feat(admin_settings): show role description users
AnonymousWP Nov 26, 2023
bfebf2e
fix: typo
AnonymousWP Nov 26, 2023
c71a428
Added initiated_by, aborted_by in model
yogeshojha Dec 1, 2023
f76de49
Added initiated by on start scan create_scan_object
yogeshojha Dec 4, 2023
fee8211
Added aborted user details
yogeshojha Dec 4, 2023
d4318f7
show user details on scan history
yogeshojha Dec 4, 2023
f444385
feat(issue-604): handle organisation in csv bulk upload of targets
SeanOverton Dec 6, 2023
b691990
feat(issue-604): update ui text to explain adding organisation in tar…
SeanOverton Dec 6, 2023
8b5929e
feat(issue-492): added optional input for organization in add target …
SeanOverton Dec 6, 2023
288e69a
feat(issue-462): added organization_name att. to addTargetForm class
SeanOverton Dec 6, 2023
1163a91
feat(issue-462): added organization_name handling to view
SeanOverton Dec 6, 2023
dda6eec
feat(issue-462): added optional org input to target quick add modal
SeanOverton Dec 6, 2023
5bc4991
feat(issue-462): added handling of org_name in AddTarget APIView
SeanOverton Dec 6, 2023
a2ac0c1
Update web/targetApp/templates/target/add.html
SeanOverton Dec 6, 2023
ce33d0e
Update web/targetApp/templates/target/add.html
SeanOverton Dec 6, 2023
30efb24
Convert answer to lowercase
jxdv Dec 12, 2023
aa6a958
fix some typos / mistakes in README
jxdv Dec 12, 2023
bf2cde6
add parenthesis
jxdv Dec 13, 2023
ab5d1a6
update input + typo in install.sh
jxdv Dec 13, 2023
a56a9c1
Update README.md
jxdv Dec 16, 2023
a79414a
it's -> its
jxdv Dec 17, 2023
12a7ba2
Merge pull request #514 from noraj/patch-1
yogeshojha Dec 18, 2023
8cab77c
Merge pull request #886 from AnonymousWP/Improve-make-commands
yogeshojha Dec 18, 2023
169ec37
Merge pull request #994 from psyray/activate-django-debug-log-v2
yogeshojha Dec 18, 2023
1957899
Merge pull request #1049 from psyray/add-external-ip-795
yogeshojha Dec 18, 2023
0ed4e4d
Merge pull request #1052 from psyray/django-3-upgrade
yogeshojha Dec 18, 2023
1522854
Merge pull request #1061 from AnonymousWP/Add-non-interactive-install…
yogeshojha Dec 18, 2023
20d12b7
Merge pull request #1082 from yogeshojha/add-role-information
yogeshojha Dec 18, 2023
292324a
Merge pull request #1099 from psyray/fix-infoga-1097
yogeshojha Dec 18, 2023
712d9e3
Merge pull request #1102 from yogeshojha/1083-scan-initiator
yogeshojha Dec 18, 2023
a88cae7
Merge pull request #1109 from SeanOverton/feat/multiple-targets-in-or…
yogeshojha Dec 18, 2023
045b6f5
Merge pull request #1110 from SeanOverton/feat/issue-492-add-orgs-whe…
yogeshojha Dec 18, 2023
ad84c78
Merge pull request #1144 from jxdv/fix-grammar
yogeshojha Dec 18, 2023
5b70fda
Merge branch 'release/2.1.0' into update-readme
jxdv Dec 18, 2023
93483a5
Merge branch 'release/2.1.0' into update-script
jxdv Dec 18, 2023
478f9d3
Merge pull request #1131 from jxdv/update-script
AnonymousWP Dec 18, 2023
456cd1f
Merge branch 'release/2.1.0' into docs/add-celery-concurrency-to-readme
AnonymousWP Dec 18, 2023
d9ec44c
Merge pull request #1077 from yogeshojha/docs/add-celery-concurrency-…
AnonymousWP Dec 18, 2023
667f5b8
Merge pull request #1132 from jxdv/update-readme
AnonymousWP Dec 19, 2023
cf6e224
Fixed ( Error: UnboundLocalError("local variable 'use_amass_config' r…
Deathpoolxrs Dec 20, 2023
3ee417f
update key generation function
jxdv Dec 26, 2023
bb0348f
rename var
jxdv Dec 26, 2023
14e91fa
update key length
jxdv Dec 29, 2023
69f5be2
Merge pull request #1151 from jxdv/rnd-key
AnonymousWP Jan 5, 2024
fc4c71c
Filter by important subdomains in API call
psyray Oct 19, 2023
4b3853a
Add important subdomains button
psyray Oct 19, 2023
27d6fcd
Add listener on is_important button
psyray Oct 19, 2023
219623e
Merge branch 'add-important-subdomains-btn-v2' of github.com:psyray/r…
psyray Jan 12, 2024
e297507
Fix indentation
psyray Jan 12, 2024
7f2d409
Merge pull request #1169 from psyray/add-important-subdomains-btn-v2
yogeshojha Jan 23, 2024
69c8a31
Bump django from 3.2.4 to 3.2.24 in /web
dependabot[bot] Feb 21, 2024
af01a78
Merge branch 'release/2.1.0' into dependabot/pip/web/django-3.2.24
AnonymousWP Feb 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,10 @@ POSTGRES_HOST=db
#
MAX_CONCURRENCY=80
MIN_CONCURRENCY=10

#
# Rengine web interface super user (for non-interactive install)
#
DJANGO_SUPERUSER_USERNAME=rengine
DJANGO_SUPERUSER_EMAIL=rengine@example.com
DJANGO_SUPERUSER_PASSWORD=Sm7IJG.IfHAFw9snSKv
8 changes: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
include .env
.DEFAULT_GOAL:=help

# Credits: https://github.com/sherifabdlnaby/elastdocker/
Expand Down Expand Up @@ -25,7 +26,14 @@ build: ## Build all services.
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} build ${SERVICES}

username: ## Generate Username (Use only after make up).
ifeq ($(isNonInteractive), true)
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} exec web python3 manage.py createsuperuser --username ${DJANGO_SUPERUSER_USERNAME} --email ${DJANGO_SUPERUSER_EMAIL} --noinput
else
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} exec web python3 manage.py createsuperuser
endif

migrate: ## Apply migrations
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} exec web python3 manage.py migrate

pull: ## Pull Docker images.
docker login docker.pkg.github.com
Expand Down
115 changes: 95 additions & 20 deletions README.md

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ services:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_PORT=${POSTGRES_PORT}
ports:
- "127.0.0.1:5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data/
networks:
Expand Down Expand Up @@ -94,6 +96,7 @@ services:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_PORT=${POSTGRES_PORT}
- POSTGRES_HOST=${POSTGRES_HOST}
- DJANGO_SUPERUSER_PASSWORD=${DJANGO_SUPERUSER_PASSWORD}
# THIS IS A MUST FOR CHECKING UPDATE, EVERYTIME A COMMIT IS MERGED INTO
# MASTER, UPDATE THIS!!! MAJOR.MINOR.PATCH https://semver.org/
- RENGINE_CURRENT_VERSION='2.0.3'
Expand All @@ -107,7 +110,7 @@ services:
- tool_config:/root/.config
- static_volume:/usr/src/app/staticfiles/
ports:
- "8000:8000"
- "127.0.0.1:8000:8000"
depends_on:
- db
- celery
Expand Down
53 changes: 41 additions & 12 deletions install.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,45 @@
#!/bin/bash

usageFunction()
{
echo " "
tput setaf 2;
echo "Usage: $0 (-n) (-h)"
echo -e "\t-n Non-interactive installation (Optional)"
echo -e "\t-h Show usage"
exit 1
}

tput setaf 2;
cat web/art/reNgine.txt

tput setaf 1; echo "Before running this script, please make sure Docker is running and you have made changes to .env file."
tput setaf 2; echo "Changing the postgres username & password from .env is highly recommended."

tput setaf 4;
read -p "Are you sure, you made changes to .env file (y/n)? " answer
case ${answer:0:1} in
y|Y|yes|YES|Yes )
echo "Continiuing Installation!"
;;
* )
nano .env
;;
esac

isNonInteractive=false
while getopts nh opt; do
case $opt in
n) isNonInteractive=true ;;
h) usageFunction ;;
?) usageFunction ;;
esac
done

if [ $isNonInteractive = false ]; then
read -p "Are you sure, you made changes to .env file (y/n)? " answer
case ${answer:0:1} in
y|Y|yes|YES|Yes )
echo "Continiuing Installation!"
;;
* )
nano .env
;;
esac
else
echo "Non-interactive installation parameter set. Installation begins."
fi

echo " "
tput setaf 3;
Expand All @@ -26,7 +50,7 @@ echo "#########################################################################"

echo " "
tput setaf 4;
echo "Installing reNgine and it's dependencies"
echo "Installing reNgine and its dependencies"

echo " "
if [ "$EUID" -ne 0 ]
Expand Down Expand Up @@ -60,6 +84,7 @@ else
tput setaf 2; echo "Docker installed!!!"
fi


echo " "
tput setaf 4;
echo "#########################################################################"
Expand All @@ -68,12 +93,13 @@ echo "#########################################################################"
if [ -x "$(command -v docker-compose)" ]; then
tput setaf 2; echo "docker-compose already installed, skipping."
else
curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
tput setaf 2; echo "docker-compose installed!!!"
fi


echo " "
tput setaf 4;
echo "#########################################################################"
Expand All @@ -100,6 +126,8 @@ else
exit 1
fi



echo " "
tput setaf 4;
echo "#########################################################################"
Expand All @@ -115,9 +143,10 @@ if [ "${failed}" -eq 0 ]; then
echo "#########################################################################"
echo "Creating an account"
echo "#########################################################################"
make username
make username isNonInteractive=$isNonInteractive

tput setaf 2 && printf "\n%s\n" "Thank you for installing reNgine, happy recon!!"
echo "In case you have unapplied migrations (see above in red), run 'make migrate'"
else
tput setaf 1 && printf "\n%s\n" "reNgine installation failed!!"
fi
2 changes: 2 additions & 0 deletions make.bat
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ if "%1" == "up" docker-compose %COMPOSE_ALL_FILES% up -d --build %SERVICES%
if "%1" == "build" docker-compose %COMPOSE_ALL_FILES% build %SERVICES%
:: Generate Username (Use only after make up).
if "%1" == "username" docker-compose %COMPOSE_ALL_FILES% exec web python3 manage.py createsuperuser
:: Apply migrations
if "%1" == "migrate" docker-compose %COMPOSE_ALL_FILES% exec web python3 manage.py migrate
:: Pull Docker images.
if "%1" == "pull" docker login docker.pkg.github.com & docker-compose %COMPOSE_ALL_FILES% pull
:: Down all services.
Expand Down
1 change: 1 addition & 0 deletions update.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

echo "Do you want to apply your local changes after updating? (y/n)"
read answer
answer=$(echo $answer | tr '[:upper:]' '[:lower:]')

if [[ $answer == "y" ]]; then
make down && git stash save && git pull && git stash apply && make build && make up
Expand Down
21 changes: 20 additions & 1 deletion web/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -547,6 +547,7 @@ def post(self, request):
h1_team_handle = data.get('h1_team_handle')
description = data.get('description')
domain_name = data.get('domain_name')
organization_name = data.get('organization')
slug = data.get('slug')

# Validate domain name
Expand All @@ -563,6 +564,20 @@ def post(self, request):
if not domain.insert_date:
domain.insert_date = timezone.now()
domain.save()

# Create org object in DB
if organization_name:
organization_obj = None
organization_query = Organization.objects.filter(name=organization_name)
if organization_query.exists():
organization_obj = organization_query[0]
else:
organization_obj = Organization.objects.create(
name=organization_name,
project=project,
insert_date=timezone.now())
organization_obj.domains.add(domain)

return Response({
'status': True,
'message': 'Domain successfully added as target !',
Expand Down Expand Up @@ -712,6 +727,7 @@ def post(self, request):
task_ids = scan.celery_ids
scan.scan_status = ABORTED_TASK
scan.stop_scan_date = timezone.now()
scan.aborted_by = request.user
scan.save()
create_scan_activity(
scan.id,
Expand Down Expand Up @@ -958,7 +974,7 @@ def get(self, request):
return Response({'status': False, 'message': 'Not Found'})
elif not response:
return Response({'status': False, 'message': 'Not Found'})

# only send latest release
response = response[0]

Expand Down Expand Up @@ -1806,6 +1822,9 @@ def get_queryset(self):

subdomains = Subdomain.objects.filter(target_domain__project__slug=project)

if 'is_important' in req.query_params:
subdomains = subdomains.filter(is_important=True)

if target_id:
self.queryset = (
subdomains
Expand Down
52 changes: 25 additions & 27 deletions web/celery-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,6 @@ then
pip install -r /usr/src/github/CMSeeK/requirements.txt
fi

if [ ! -d "/usr/src/github/Infoga" ]
then
echo "Cloning Infoga"
git clone https://github.com/m4ll0k/Infoga /usr/src/github/Infoga
fi

# clone ctfr
if [ ! -d "/usr/src/github/ctfr" ]
then
Expand All @@ -162,29 +156,33 @@ exec "$@"
# httpx seems to have issue, use alias instead!!!
echo 'alias httpx="/go/bin/httpx"' >> ~/.bashrc

loglevel='info'
if [ "$DEBUG" == "1" ]; then
loglevel='debug'
fi

# watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --autoscale=10,0 -l INFO -Q scan_queue &
echo "Starting Workers..."
echo "Starting Main Scan Worker with Concurrency: $MAX_CONCURRENCY,$MIN_CONCURRENCY"
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --loglevel=info --autoscale=$MAX_CONCURRENCY,$MIN_CONCURRENCY -Q main_scan_queue &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=info -Q initiate_scan_queue -n initiate_scan_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=info -Q subscan_queue -n subscan_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=20 --loglevel=info -Q report_queue -n report_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q send_notif_queue -n send_notif_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q send_scan_notif_queue -n send_scan_notif_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q send_task_notif_queue -n send_task_notif_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=5 --loglevel=info -Q send_file_to_discord_queue -n send_file_to_discord_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=5 --loglevel=info -Q send_hackerone_report_queue -n send_hackerone_report_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q parse_nmap_results_queue -n parse_nmap_results_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=20 --loglevel=info -Q geo_localize_queue -n geo_localize_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q query_whois_queue -n query_whois_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=info -Q remove_duplicate_endpoints_queue -n remove_duplicate_endpoints_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=50 --loglevel=info -Q run_command_queue -n run_command_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q query_reverse_whois_queue -n query_reverse_whois_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q query_ip_history_queue -n query_ip_history_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=info -Q gpt_queue -n gpt_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q dorking_queue -n dorking_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q osint_discovery_queue -n osint_discovery_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q h8mail_queue -n h8mail_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=info -Q theHarvester_queue -n theHarvester_worker
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --loglevel=$loglevel --autoscale=$MAX_CONCURRENCY,$MIN_CONCURRENCY -Q main_scan_queue &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=$loglevel -Q initiate_scan_queue -n initiate_scan_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=$loglevel -Q subscan_queue -n subscan_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=20 --loglevel=$loglevel -Q report_queue -n report_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q send_notif_queue -n send_notif_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q send_scan_notif_queue -n send_scan_notif_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q send_task_notif_queue -n send_task_notif_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=5 --loglevel=$loglevel -Q send_file_to_discord_queue -n send_file_to_discord_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=5 --loglevel=$loglevel -Q send_hackerone_report_queue -n send_hackerone_report_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q parse_nmap_results_queue -n parse_nmap_results_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=20 --loglevel=$loglevel -Q geo_localize_queue -n geo_localize_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q query_whois_queue -n query_whois_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=$loglevel -Q remove_duplicate_endpoints_queue -n remove_duplicate_endpoints_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=50 --loglevel=$loglevel -Q run_command_queue -n run_command_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q query_reverse_whois_queue -n query_reverse_whois_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q query_ip_history_queue -n query_ip_history_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=30 --loglevel=$loglevel -Q gpt_queue -n gpt_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q dorking_queue -n dorking_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q osint_discovery_queue -n osint_discovery_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q h8mail_queue -n h8mail_worker &
watchmedo auto-restart --recursive --pattern="*.py" --directory="/usr/src/app/reNgine/" -- celery -A reNgine.tasks worker --pool=gevent --concurrency=10 --loglevel=$loglevel -Q theHarvester_queue -n theHarvester_worker
exec "$@"
7 changes: 5 additions & 2 deletions web/dashboard/templates/dashboard/admin.html
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ <h4>Users</h4>
.catch(function() {
swal.insertQueueStep({
type: 'error',
title: 'Oops! Unable to updte user!'
title: 'Oops! Unable to update user!'
})
})
resolve()
Expand Down Expand Up @@ -246,6 +246,9 @@ <h4>Users</h4>
<label for="create_username" class="form-label float-start">Username</label>
<input id="create_username" class="form-control" placeholder="Username" autocomplete="off">
</div>
<i class="fa fa-info-circle text-muted float-end" data-bs-container="#tooltip-container" data-bs-toggle="tooltip" data-bs-placement="bottom" title="- Sys Admin: Sys Admin is a super user that has permission to modify system and scan related configurations, scan engines, create new users, add new tools etc. Super user can initiate scans and subscans effortlessly.
- Penetration Tester: Penetration Tester will be allowed to modify and initiate scans and subscans, add or update targets, etc. A penetration tester will not be allowed to modify system configurations.
- Auditor: Auditor can only view and download the report. An auditor can not change any system or scan related configurations nor can initiate any scans or subscans."></i>
<div class="form mb-3">
<label for="create_user_role" class="form-label float-start">Role</label>
<select class="form-select" id="create_user_role">
Expand Down Expand Up @@ -318,7 +321,7 @@ <h4>Users</h4>
.catch(function() {
swal.insertQueueStep({
type: 'error',
title: 'Oops! Unable to updte user!'
title: 'Oops! Unable to update user!'
})
})
resolve()
Expand Down
7 changes: 7 additions & 0 deletions web/reNgine/context_processors.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from dashboard.models import *
import requests

def projects(request):
projects = Project.objects.all()
Expand All @@ -11,3 +12,9 @@ def projects(request):
'projects': projects,
'current_project': project
}

def misc(request):
externalIp = requests.get('https://checkip.amazonaws.com').text.strip()
return {
'external_ip': externalIp
}