mirror of
				https://github.com/jakeswenson/BitBetter.git
				synced 2025-10-31 12:53:25 +00:00 
			
		
		
		
	Fix scripts
This commit is contained in:
		
							parent
							
								
									bb086b99dd
								
							
						
					
					
						commit
						8a69076dd1
					
				
							
								
								
									
										107
									
								
								build.sh
									
									
									
									
									
								
							
							
						
						
									
										107
									
								
								build.sh
									
									
									
									
									
								
							|  | @ -0,0 +1,107 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | # define temporary directory | ||||||
|  | TEMPDIRECTORY="$PWD/temp" | ||||||
|  | 
 | ||||||
|  | # define services to patch | ||||||
|  | COMPONENTS=("Api" "Identity") | ||||||
|  | 
 | ||||||
|  | # delete old directories / files if applicable | ||||||
|  | if [ -d "$TEMPDIRECTORY" ]; then | ||||||
|  | 	rm -rf "$TEMPDIRECTORY" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -f "$PWD/licenseGen/Core.dll" ]; then | ||||||
|  |     rm -f "$PWD/licenseGen/Core.dll" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -f "$PWD/licenseGen/cert.pfx" ]; then | ||||||
|  |     rm -f "$PWD/licenseGen/cert.pfx" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -f "$PWD/bitBetter/cert.cert" ]; then | ||||||
|  |     rm -f "$PWD/bitBetter/cert.cert" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # generate keys if none are available | ||||||
|  | if [ ! -d "$PWD/.keys" ]; then | ||||||
|  | 	./generateKeys.sh | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # copy the key to bitBetter and licenseGen | ||||||
|  | cp -f "$PWD/.keys/cert.cert" "$PWD/bitBetter" | ||||||
|  | cp -f "$PWD/.keys/cert.pfx" "$PWD/licenseGen" | ||||||
|  | 
 | ||||||
|  | # build bitBetter and clean the source directory after | ||||||
|  | docker build -t bitbetter/bitbetter "$PWD/bitBetter" | ||||||
|  | rm -f "$PWD/bitBetter/cert.cert" | ||||||
|  | 
 | ||||||
|  | # gather all running instances | ||||||
|  | OLDINSTANCES=$(docker container ps --all -f Name=bitwarden --format '{{.ID}}') | ||||||
|  | 
 | ||||||
|  | # stop all running instances | ||||||
|  | for INSTANCE in ${OLDINSTANCES[@]}; do | ||||||
|  | 	docker stop $INSTANCE | ||||||
|  | 	docker rm $INSTANCE | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | # update bitwarden itself | ||||||
|  | read -p "Update (or get) bitwarden source container: " -n 1 -r | ||||||
|  | echo | ||||||
|  | if [[ $REPLY =~ ^[Yy]$ ]] | ||||||
|  | then | ||||||
|  |     docker pull bitwarden/self-host:beta | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # stop and remove previous existing patch(ed) container | ||||||
|  | docker stop bitwarden-patch | ||||||
|  | docker rm bitwarden-patch | ||||||
|  | docker image rm bitwarden-patch | ||||||
|  | 
 | ||||||
|  | # start a new bitwarden instance so we can patch it | ||||||
|  | PATCHINSTANCE=$(docker run -d --name bitwarden-patch bitwarden/self-host:beta) | ||||||
|  | 
 | ||||||
|  | # create our temporary directory | ||||||
|  | mkdir $TEMPDIRECTORY | ||||||
|  | 
 | ||||||
|  | # extract the files that need to be patched from the services that need to be patched into our temporary directory | ||||||
|  | for COMPONENT in ${COMPONENTS[@]}; do | ||||||
|  | 	mkdir "$TEMPDIRECTORY/$COMPONENT" | ||||||
|  | 	docker cp $PATCHINSTANCE:/app/$COMPONENT/Core.dll "$TEMPDIRECTORY/$COMPONENT/Core.dll" | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | # run bitBetter, this applies our patches to the required files | ||||||
|  | docker run -v "$TEMPDIRECTORY:/app/mount" --rm bitbetter/bitbetter | ||||||
|  | 
 | ||||||
|  | # copy the patched files back into the temporary instance | ||||||
|  | for COMPONENT in ${COMPONENTS[@]}; do | ||||||
|  | 	docker cp "$TEMPDIRECTORY/$COMPONENT/Core.dll" $PATCHINSTANCE:/app/$COMPONENT/Core.dll | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | # create a new image from our patched instanced | ||||||
|  | docker commit $PATCHINSTANCE bitwarden-patch | ||||||
|  | 
 | ||||||
|  | # stop and remove our temporary container | ||||||
|  | docker stop bitwarden-patch | ||||||
|  | docker rm bitwarden-patch | ||||||
|  | 
 | ||||||
|  | # copy our patched library to the licenseGen source directory | ||||||
|  | cp -f "$TEMPDIRECTORY/Identity/Core.dll" "$PWD/licenseGen" | ||||||
|  | 
 | ||||||
|  | # remove our temporary directory | ||||||
|  | rm -rf "$TEMPDIRECTORY" | ||||||
|  | 
 | ||||||
|  | # start all user requested instances | ||||||
|  | cat "$PWD/.servers/serverlist.txt" | while read LINE; do | ||||||
|  | 	bash -c "$LINE" | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | # remove our bitBetter image | ||||||
|  | docker image rm bitbetter/bitbetter | ||||||
|  | 
 | ||||||
|  | # build the licenseGen | ||||||
|  | docker build -t bitbetter/licensegen "$PWD/licenseGen" | ||||||
|  | 
 | ||||||
|  | # clean the licenseGen source directory | ||||||
|  | rm -f "$PWD/licenseGen/Core.dll" | ||||||
|  | rm -f "$PWD/licenseGen/cert.pfx" | ||||||
|  | @ -1,21 +1,17 @@ | ||||||
| #!/bin/sh | #!/bin/bash | ||||||
| 
 | 
 | ||||||
| # Check for openssl | # Check for openssl | ||||||
| command -v openssl >/dev/null 2>&1 || { echo >&2 "openssl required but not found.  Aborting."; exit 1; } | command -v openssl >/dev/null 2>&1 || { echo >&2 "openssl required but not found.  Aborting."; exit 1; } | ||||||
| 
 | 
 | ||||||
| DIR=`dirname "$0"` | DIR="$PWD/.keys" | ||||||
| DIR=`exec 2>/dev/null;(cd -- "$DIR") && cd -- "$DIR"|| cd "$DIR"; unset PWD; /usr/bin/pwd || /bin/pwd || pwd` |  | ||||||
| DIR="$DIR/.keys" |  | ||||||
| 
 | 
 | ||||||
| if [ ! -d "$DIR" ]; then | # if previous keys exist, remove them | ||||||
|         mkdir $DIR | if [ -d "$DIR" ]; then | ||||||
|  | 	rm -rf "$DIR" | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| # Remove any existing key files | # create new directory  | ||||||
| [ ! -e "$DIR/cert.pem" ]  || rm "$DIR/cert.pem" | mkdir "$DIR" | ||||||
| [ ! -e "$DIR/key.pem" ]   || rm "$DIR/key.pem" |  | ||||||
| [ ! -e "$DIR/cert.cert" ] || rm "$DIR/cert.cert" |  | ||||||
| [ ! -e "$DIR/cert.pfx" ]  || rm "$DIR/cert.pfx" |  | ||||||
| 
 | 
 | ||||||
| # Generate new keys | # Generate new keys | ||||||
| openssl	req -x509 -newkey rsa:4096 -keyout "$DIR/key.pem" -out "$DIR/cert.cert" -days 36500 -subj '/CN=www.mydom.com/O=My Company Name LTD./C=US'  -outform DER -passout pass:test | openssl	req -x509 -newkey rsa:4096 -keyout "$DIR/key.pem" -out "$DIR/cert.cert" -days 36500 -subj '/CN=www.mydom.com/O=My Company Name LTD./C=US'  -outform DER -passout pass:test | ||||||
|  |  | ||||||
|  | @ -8,8 +8,7 @@ if ($($args.Count) -lt 1) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| if ($args[0] = "interactive") { | if ($args[0] = "interactive") { | ||||||
| 	$shiftedarray = $args[1 .. ($args.count-1)] |     docker run -it --rm bitbetter/licensegen interactive | ||||||
|     docker run -it --rm bitbetter/licensegen "$shiftedarray" |  | ||||||
| } else { | } else { | ||||||
|     docker run bitbetter/licensegen "$shiftedarray" |     docker run bitbetter/licensegen $args | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,9 +1,6 @@ | ||||||
| #!/bin/sh | #!/bin/bash | ||||||
| 
 | 
 | ||||||
| DIR=`dirname "$0"` | if [ $# -lt 1 ]; then | ||||||
| DIR=`exec 2>/dev/null;(cd -- "$DIR") && cd -- "$DIR"|| cd "$DIR"; unset PWD; /usr/bin/pwd || /bin/pwd || pwd` |  | ||||||
| 
 |  | ||||||
| if [ "$#" -lt "2" ]; then |  | ||||||
|     echo "USAGE: <License Gen action> [License Gen args...]" |     echo "USAGE: <License Gen action> [License Gen args...]" | ||||||
|     echo "ACTIONS:" |     echo "ACTIONS:" | ||||||
|     echo " interactive" |     echo " interactive" | ||||||
|  | @ -13,8 +10,7 @@ if [ "$#" -lt "2" ]; then | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| if [ "$1" = "interactive" ]; then | if [ "$1" = "interactive" ]; then | ||||||
| 	shift | 	docker run -it --rm bitbetter/licensegen interactive | ||||||
|     docker run -it --rm bitbetter/licensegen "$@" |  | ||||||
| else | else | ||||||
|     docker run --rm bitbetter/licensegen "$@" | 	docker run --rm bitbetter/licensegen "$@" | ||||||
| fi | fi | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user