Add basic Flask/Jinja setup and basic YAML config
This commit is contained in:
		
							parent
							
								
									c2d8d5af22
								
							
						
					
					
						commit
						657ee72ecb
					
				
					 4 changed files with 64 additions and 0 deletions
				
			
		
							
								
								
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -102,3 +102,6 @@ venv.bak/
 | 
			
		|||
 | 
			
		||||
# mypy
 | 
			
		||||
.mypy_cache/
 | 
			
		||||
 | 
			
		||||
# PyCharm
 | 
			
		||||
.idea
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										9
									
								
								config.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								config.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
# Username to make admin API requests
 | 
			
		||||
admin_username: 'admin'
 | 
			
		||||
 | 
			
		||||
# Plaintext password to make admin API requests
 | 
			
		||||
# Safe to remove if admin_hashed_password is set
 | 
			
		||||
#admin_password: 'password'
 | 
			
		||||
 | 
			
		||||
# Hashed password (bcrypt) to make admin API requests - Preferred over plaintext, use securepass.sh to generate
 | 
			
		||||
admin_hashed_password: 'test'
 | 
			
		||||
							
								
								
									
										28
									
								
								liteshort.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								liteshort.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
from flask import Flask
 | 
			
		||||
import yaml
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def load_config():
 | 
			
		||||
    new_config = yaml.load(open("config.yml"))
 | 
			
		||||
    if "admin_hashed_password" in new_config.keys():
 | 
			
		||||
        new_config["password"] = new_config["admin_hashed_password"]
 | 
			
		||||
    elif "admin_password" in new_config.keys():
 | 
			
		||||
        new_config["password"] = new_config["admin_password"]
 | 
			
		||||
    else:
 | 
			
		||||
        raise Exception("admin_password or admin_hashed_password must be set in config.yml")
 | 
			
		||||
    return new_config
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
config = load_config()
 | 
			
		||||
print(config["password"])
 | 
			
		||||
 | 
			
		||||
app = Flask(__name__)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@app.route('/')
 | 
			
		||||
def hello_world():
 | 
			
		||||
    return 'Hello World!'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    app.run()
 | 
			
		||||
							
								
								
									
										24
									
								
								securepass.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								securepass.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
## bcrypt passwd generator ##
 | 
			
		||||
#############################
 | 
			
		||||
CMD=$(which htpasswd 2>/dev/null)
 | 
			
		||||
OPTS="-nBC 15"
 | 
			
		||||
 | 
			
		||||
read -p "Username: " USERNAME
 | 
			
		||||
 | 
			
		||||
check_config() {
 | 
			
		||||
    if [ -z $CMD ]; then
 | 
			
		||||
        printf "Exiting: htpasswd is missing.\n"
 | 
			
		||||
        exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ -z "$USERNAME" ]; then
 | 
			
		||||
            usage
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
check_config $USERNAME
 | 
			
		||||
printf "Generating Bcrypt hash for username: $USERNAME\n\n"
 | 
			
		||||
$CMD $OPTS $USERNAME
 | 
			
		||||
exit $?
 | 
			
		||||
		Reference in a new issue