Simple golang webserver that listens for basic auth or post requests and sends a notification when a user enters a password.
You need to add your custom templates and post the username and password parameter to /login when using the post mode.
its-a-trap/custom
├── assets
│ └── styles.css
└── templates
├── finish.html
└── index.html This will serve index.html and show finish.html upon sending a post request. You can use the asset_folder to store your custom assets needed for the templates. In basic auth mode only finish.html is shown.
{
"server": {
"listen": "127.0.0.1",
"port": 8000
},
"method": "basic",
"cloudflare": false,
"timeout": "5s",
"basic": {
"realm": "restricted",
},
"template": {
"folder": "./custom/templates",
"index_template": "index.html",
"finish_template": "finish.html",
"asset_folder": "./custom/assets"
}
} {
"server": {
"listen": "127.0.0.1",
"port": 8000
},
"method": "post",
"cloudflare": false,
"timeout": "5s",
"template": {
"folder": "./custom/templates",
"index_template": "index.html",
"finish_template": "finish.html",
"asset_folder": "./custom/assets"
}
} In POST mode you have access to the following variables inside the template:
{{ .LoginURL }} – The URL to post to{{ .UsernameParameter }} – the username parameter name{{ .PasswordParameter }} – the password parameter nameExample:
<form action="{{ .LoginURL }}" method="post">
<label for="fname">Username:</label>
<input type="text" id="fname" name="{{ .UsernameParameter }}"><br><br>
<label for="fpass">Password:</label>
<input type="password" id="fpass" name="{{ .PasswordParameter }}"><br><br>
<input type="submit" value="Submit">
</form> Both git fetch and git pull talk to a remote repository, but they do very different things to your…
Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…
Email is still one of the most important communication channels inside modern applications. Password resets,…
Nginx is a high-performance web server and reverse proxy trusted by some of the largest…
ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…
When you share a server with a team or investigate unexpected activity, the first question…