2014-08-06 11:43:40 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
2019-05-01 13:49:07 +02:00
|
|
|
# halt on errors
|
2014-08-06 11:43:40 +02:00
|
|
|
set -e
|
2019-05-01 13:49:07 +02:00
|
|
|
|
2023-05-23 11:14:37 +02:00
|
|
|
## bash debug mode toggle below
|
2019-05-01 13:49:07 +02:00
|
|
|
#set -x
|
2014-08-06 11:43:40 +02:00
|
|
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
2018-12-11 16:55:47 +01:00
|
|
|
sudo apt-get install python3-pip virtualenv python3-dev python3-tk libfreetype6-dev \
|
2023-05-23 11:14:37 +02:00
|
|
|
screen g++ unzip libsnappy-dev cmake -qq
|
2014-08-11 09:36:28 +02:00
|
|
|
|
2023-05-23 11:14:37 +02:00
|
|
|
sudo apt-get install automake libtool make gcc pkg-config -qq
|
2022-06-24 16:45:35 +02:00
|
|
|
|
2020-12-27 09:59:19 +01:00
|
|
|
#Needed for downloading jemalloc
|
|
|
|
sudo apt-get install wget -qq
|
|
|
|
|
2014-08-11 09:36:28 +02:00
|
|
|
#Needed for bloom filters
|
2021-11-09 13:43:32 +01:00
|
|
|
sudo apt-get install libssl-dev libfreetype6-dev python3-numpy -qq
|
2014-08-11 09:36:28 +02:00
|
|
|
|
2023-05-23 11:14:37 +02:00
|
|
|
# pycld3
|
|
|
|
sudo apt-get install protobuf-compiler libprotobuf-dev -qq
|
2017-11-23 14:02:54 +01:00
|
|
|
|
2014-08-18 13:40:07 +02:00
|
|
|
# DNS deps
|
2019-05-01 13:49:07 +02:00
|
|
|
sudo apt-get install libadns1 libadns1-dev -qq
|
2014-08-11 09:36:28 +02:00
|
|
|
|
2014-08-25 14:44:40 +02:00
|
|
|
#Needed for redis-lvlDB
|
2023-05-23 11:14:37 +02:00
|
|
|
sudo apt-get install libev-dev libgmp-dev -qq # TODO NEED REVIEW
|
2014-08-25 14:44:40 +02:00
|
|
|
|
2016-08-24 11:32:48 +02:00
|
|
|
#Need for generate-data-flow graph
|
2019-05-01 13:49:07 +02:00
|
|
|
sudo apt-get install graphviz -qq
|
2016-08-24 11:32:48 +02:00
|
|
|
|
2016-07-25 11:55:14 +02:00
|
|
|
# ssdeep
|
2019-05-01 13:49:07 +02:00
|
|
|
sudo apt-get install libfuzzy-dev -qq
|
2023-05-23 11:14:37 +02:00
|
|
|
sudo apt-get install build-essential libffi-dev autoconf -qq
|
2014-08-11 09:36:28 +02:00
|
|
|
|
2018-06-08 16:49:20 +02:00
|
|
|
# sflock, gz requirement
|
2023-05-23 11:14:37 +02:00
|
|
|
sudo apt-get install p7zip-full -qq # TODO REMOVE ME
|
2018-06-08 16:49:20 +02:00
|
|
|
|
2020-08-13 15:15:08 +02:00
|
|
|
# SUBMODULES #
|
2021-11-09 13:43:32 +01:00
|
|
|
git submodule update --init
|
2020-08-13 15:15:08 +02:00
|
|
|
|
2014-08-11 09:36:28 +02:00
|
|
|
# REDIS #
|
|
|
|
test ! -d redis/ && git clone https://github.com/antirez/redis.git
|
2014-08-18 13:40:07 +02:00
|
|
|
pushd redis/
|
2019-04-11 17:49:20 +02:00
|
|
|
git checkout 5.0
|
2014-08-11 09:36:28 +02:00
|
|
|
make
|
2014-08-18 13:40:07 +02:00
|
|
|
popd
|
2014-08-11 09:36:28 +02:00
|
|
|
|
2016-07-19 18:13:25 +02:00
|
|
|
# Faup
|
2016-07-25 11:38:41 +02:00
|
|
|
test ! -d faup/ && git clone https://github.com/stricaud/faup.git
|
2016-07-19 18:13:25 +02:00
|
|
|
pushd faup/
|
|
|
|
test ! -d build && mkdir build
|
|
|
|
cd build
|
|
|
|
cmake .. && make
|
|
|
|
sudo make install
|
|
|
|
echo '/usr/local/lib' | sudo tee -a /etc/ld.so.conf.d/faup.conf
|
|
|
|
sudo ldconfig
|
|
|
|
popd
|
|
|
|
|
2016-08-04 11:55:38 +02:00
|
|
|
# tlsh
|
2018-07-06 12:15:02 +02:00
|
|
|
test ! -d tlsh && git clone https://github.com/trendmicro/tlsh.git
|
2016-08-04 11:55:38 +02:00
|
|
|
pushd tlsh/
|
2016-08-17 13:46:01 +02:00
|
|
|
./make.sh
|
2016-09-14 15:27:08 +02:00
|
|
|
pushd build/release/
|
|
|
|
sudo make install
|
|
|
|
sudo ldconfig
|
|
|
|
popd
|
2016-08-04 11:55:38 +02:00
|
|
|
popd
|
|
|
|
|
2019-05-20 14:48:20 +02:00
|
|
|
# pgpdump
|
|
|
|
test ! -d pgpdump && git clone https://github.com/kazu-yamamoto/pgpdump.git
|
|
|
|
pushd pgpdump/
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
popd
|
|
|
|
|
2018-05-07 14:50:40 +02:00
|
|
|
# ARDB #
|
2023-04-04 10:25:01 +02:00
|
|
|
#test ! -d ardb/ && git clone https://github.com/ail-project/ardb.git
|
|
|
|
#pushd ardb/
|
|
|
|
#make
|
|
|
|
#popd
|
2014-08-11 09:36:28 +02:00
|
|
|
|
2022-06-24 16:45:35 +02:00
|
|
|
DEFAULT_HOME=$(pwd)
|
|
|
|
|
|
|
|
#### KVROCKS ####
|
|
|
|
test ! -d kvrocks/ && git clone https://github.com/apache/incubator-kvrocks.git kvrocks
|
|
|
|
pushd kvrocks
|
2022-10-25 16:25:19 +02:00
|
|
|
./x.py build
|
2022-06-24 16:45:35 +02:00
|
|
|
popd
|
|
|
|
|
|
|
|
DEFAULT_KVROCKS_DATA=$DEFAULT_HOME/DATA_KVROCKS
|
|
|
|
mkdir -p $DEFAULT_KVROCKS_DATA
|
|
|
|
|
|
|
|
sed -i "s|dir /tmp/kvrocks|dir ${DEFAULT_KVROCKS_DATA}|1" $DEFAULT_HOME/configs/6383.conf
|
|
|
|
##-- KVROCKS --##
|
|
|
|
|
|
|
|
|
2021-01-06 15:45:31 +01:00
|
|
|
|
|
|
|
# Config File
|
2019-11-05 15:18:03 +01:00
|
|
|
if [ ! -f configs/core.cfg ]; then
|
|
|
|
cp configs/core.cfg.sample configs/core.cfg
|
2014-08-25 14:12:06 +02:00
|
|
|
fi
|
|
|
|
|
2023-05-23 11:14:37 +02:00
|
|
|
# create AILENV + install python packages
|
2020-04-20 11:56:59 +02:00
|
|
|
./install_virtualenv.sh
|
2014-08-22 14:52:02 +02:00
|
|
|
|
2020-06-17 16:20:03 +02:00
|
|
|
# force virtualenv activation
|
2020-06-18 08:42:22 +02:00
|
|
|
if [ -z "$VIRTUAL_ENV" ]; then
|
|
|
|
. ./AILENV/bin/activate
|
|
|
|
fi
|
2014-08-22 14:52:02 +02:00
|
|
|
|
2023-05-17 10:26:54 +02:00
|
|
|
pushd ${AIL_HOME}/tools/gen_cert
|
2019-06-24 13:57:08 +02:00
|
|
|
./gen_root.sh
|
|
|
|
wait
|
|
|
|
./gen_cert.sh
|
|
|
|
wait
|
|
|
|
popd
|
|
|
|
|
2023-05-17 10:26:54 +02:00
|
|
|
cp ${AIL_HOME}/tools/gen_cert/server.crt ${AIL_FLASK}/server.crt
|
|
|
|
cp ${AIL_HOME}/tools/gen_cert/server.key ${AIL_FLASK}/server.key
|
2019-06-24 13:57:08 +02:00
|
|
|
|
2018-10-02 16:04:47 +02:00
|
|
|
mkdir -p $AIL_HOME/PASTES
|
2014-08-11 10:41:50 +02:00
|
|
|
|
2019-06-24 13:57:08 +02:00
|
|
|
#### DB SETUP ####
|
|
|
|
|
2019-06-24 15:09:31 +02:00
|
|
|
# init update version
|
2020-08-18 20:51:15 +02:00
|
|
|
pushd ${AIL_HOME}
|
2020-05-05 10:10:11 +02:00
|
|
|
# shallow clone
|
2020-08-18 20:51:15 +02:00
|
|
|
git fetch --depth=500 --tags --prune
|
2020-08-20 13:24:14 +02:00
|
|
|
if [ ! -z "$TRAVIS" ]; then
|
|
|
|
echo "Travis detected"
|
|
|
|
git fetch --unshallow
|
|
|
|
fi
|
2020-08-18 20:51:15 +02:00
|
|
|
git describe --abbrev=0 --tags | tr -d '\n' > ${AIL_HOME}/update/current_version
|
|
|
|
echo "AIL current version:"
|
|
|
|
git describe --abbrev=0 --tags
|
|
|
|
popd
|
2019-06-24 15:09:31 +02:00
|
|
|
|
2023-04-04 10:25:01 +02:00
|
|
|
# LAUNCH Kvrocks
|
|
|
|
bash ${AIL_BIN}/LAUNCH.sh -lkv &
|
2019-06-24 13:57:08 +02:00
|
|
|
wait
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
# create default user
|
|
|
|
pushd ${AIL_FLASK}
|
|
|
|
python3 create_default_user.py
|
|
|
|
popd
|
|
|
|
|
2020-06-17 16:20:03 +02:00
|
|
|
bash ${AIL_BIN}/LAUNCH.sh -k &
|
2019-06-24 13:57:08 +02:00
|
|
|
wait
|
|
|
|
echo ""
|