104 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| cd -- "$( dirname -- "${BASH_SOURCE[0]}" )"
 | |
| scriptdir="$(pwd)"
 | |
| 
 | |
| echo_cyan() {
 | |
|   echo -e "\033[0;36m$1\033[0m"
 | |
| }
 | |
| echo_blue() {
 | |
|   echo -e "\033[0;34m$1\033[0m"
 | |
| }
 | |
| echo_yellow() {
 | |
|   echo -e "\033[0;33m$1\033[0m"
 | |
| }
 | |
| echo_red() {
 | |
|   echo -e "\033[0;31m$1\033[0m"
 | |
| }
 | |
| 
 | |
| 
 | |
| mkdir -p ${HOME}/.detee/bin
 | |
| mkdir -p ${HOME}/.detee/tmp
 | |
| mkdir -p ${HOME}/.detee/deps
 | |
| mkdir -p ${HOME}/.detee/certs/
 | |
| 
 | |
| echo_blue "Make sure you add ${HOME}/.detee/bin to your path!"
 | |
| 
 | |
| install_certs() {
 | |
|   [[ -f "${HOME}/.detee/certs/root_ca.pem" ]] || {
 | |
|     wget -O "${HOME}/.detee/certs/root_ca.pem" https://registry.detee.ltd/root_ca.pem
 | |
|   }
 | |
| }
 | |
| 
 | |
| install_sev-snp-measure() {
 | |
|   [[ -e "${HOME}/.detee/bin/sev-snp-measure.py" ]] && {
 | |
|     echo_yellow "${HOME}/.detee/bin/sev-snp-measure.py already found. Delete the file to reinstall."
 | |
|     return
 | |
|   }
 | |
|   cd ${HOME}/.detee/deps
 | |
|   git clone https://github.com/virtee/sev-snp-measure.git
 | |
|   cd sev-snp-measure
 | |
|   git pull
 | |
|   ln -s ../deps/sev-snp-measure/sev-snp-measure.py ${HOME}/.detee/bin/sev-snp-measure.py 
 | |
| }
 | |
| 
 | |
| install_snpguest() {
 | |
|   [[ -f "${HOME}/.detee/bin/snpguest" ]] && {
 | |
|     echo_yellow "${HOME}/.detee/bin/snpguest already found. Delete the file to reinstall."
 | |
|     return
 | |
|   }
 | |
|   cd ${HOME}/.detee/tmp
 | |
|   git clone https://github.com/virtee/snpguest.git
 | |
|   cd snpguest
 | |
|   git pull
 | |
|   cargo build --release
 | |
|   cp target/release/snpguest ${HOME}/.detee/bin
 | |
| }
 | |
| 
 | |
| install_detee-cli() {
 | |
|   cd "${scriptdir}/.."
 | |
|   [[ -f "${HOME}/.detee/bin/detee-cli" ]] && {
 | |
|     echo_yellow "${HOME}/.detee/bin/detee-cli already found. Delete the file to reinstall."
 | |
|     return
 | |
|   }
 | |
|   cargo build --release
 | |
|   cp ./target/release/detee-cli ${HOME}/.detee/bin
 | |
| }
 | |
| 
 | |
| install_super-detee-cli() {
 | |
|   cd "${scriptdir}/.."
 | |
|   [[ -f "${HOME}/.detee/bin/super-detee-cli" ]] && {
 | |
|     echo_yellow "${HOME}/.detee/bin/super-detee-cli already found. Delete the file to reinstall."
 | |
|     return
 | |
|   }
 | |
|   cargo build --release --bin super-detee-cli
 | |
|   cp ./target/release/super-detee-cli ${HOME}/.detee/bin/
 | |
| }
 | |
| 
 | |
| install_injector() {
 | |
|   cd "${scriptdir}"
 | |
|   [[ -f "${HOME}/.detee/bin/detee-cli_injector.sh" ]] && {
 | |
|     echo_yellow "${HOME}/.detee/bin/detee-cli_injector.sh already found. Delete the file to reinstall."
 | |
|     return
 | |
|   }
 | |
|   cp ./detee-cli_injector.sh ${HOME}/.detee/bin/
 | |
| }
 | |
| 
 | |
| copy_vm_samples() {
 | |
|   cd $scriptdir
 | |
|   cp -r ../samples "${HOME}/.detee/"
 | |
| }
 | |
| 
 | |
| install_fish_completion() {
 | |
|   detee-cli completion fish > ${HOME}/.config/fish/completions/detee-cli.fish
 | |
|   super-detee-cli completion fish > ${HOME}/.config/fish/completions/super-detee-cli.fish
 | |
| }
 | |
| 
 | |
| install_certs
 | |
| install_sev-snp-measure
 | |
| install_snpguest
 | |
| install_detee-cli
 | |
| install_super-detee-cli
 | |
| install_injector
 | |
| copy_vm_samples
 | |
| install_fish_completion
 |