Skip to content

Instantly share code, notes, and snippets.

View leggiero's full-sized avatar

Eduardo Leggiero leggiero

View GitHub Profile
@leggiero
leggiero / connectivity-check-uri.conf
Created December 19, 2023 14:05
NetworkManager connectivity check uri change to Google. To be saved in /etc/NetworkManager/conf.d/
# The MIT License (MIT)
# Copyright 2023 Eduardo Leggiero
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
@leggiero
leggiero / wifi-stable-id.sh
Last active August 31, 2023 09:41
Change the Network Manager connection stable-id of the current connected Wi-Fi to control the privacy.
#!/usr/bin/bash
# The MIT License (MIT)
# Copyright 2023 Eduardo Leggiero
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
@leggiero
leggiero / 02-arp-entries-update
Last active August 26, 2023 15:02
Create persistent static ARP entries read from /etc/ethers when connected to specific Wi-Fi connection.
#!/usr/bin/bash
# The MIT License (MIT)
# Copyright 2023 Eduardo Leggiero
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT O
@leggiero
leggiero / 01-wifi-dns-change
Last active August 27, 2023 09:25
NetworkManager dispatcher script to change DNS servers only after connecting to public Wi-Fi networks, to allow Captive portals that requires its own DNS to work properly. To be saved in /etc/NetworkManager/dispatcher.d. Tested on Fedora Workstation 38.
#!/usr/bin/bash
# The MIT License (MIT)
# Copyright 2023 Eduardo Leggiero
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT O
@leggiero
leggiero / cloudfront-function-domain-redirect.js
Created February 28, 2023 15:03
CloudFront Function to redirect other domains
var domain = 'example.com';
function handler(event) {
// console.log('Event:\n' + JSON.stringify(event, null, 2));
// console.log('Request:\n' + JSON.stringify(event.request, null, 2));
var request = event.request;
var uriQs = request.uri + (!!Object.keys(request.querystring).length ? '?' + querystringText(request.querystring) : '');
var url = request.headers.host.value + uriQs;
if (request.headers.host.value === domain) {
@leggiero
leggiero / awscli-update
Last active August 26, 2023 15:02
Install or update the AWS Command Line Interface (AWS CLI) version 2 onwards on Linux.
#!/usr/bin/env bash
# The MIT License (MIT)
# Copyright 2023 Eduardo Leggiero
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, O
@leggiero
leggiero / hub-upgrade
Last active August 26, 2023 15:04
Install or upgrade hub; ideal to run via cron, e.g. /etc/cron.weekly/hub-upgrade
#!/usr/bin/bash
# The MIT License (MIT)
# Copyright 2023 Eduardo Leggiero
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT O
@leggiero
leggiero / npm-upgrade
Last active August 26, 2023 15:05
Install or upgrade npm; ideal to run via cron
#!/usr/bin/bash
# The MIT License (MIT)
# Copyright 2023 Eduardo Leggiero
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT O
@leggiero
leggiero / composer-upgrade
Last active May 30, 2020 17:26
Install or upgrade compose; ideal to run via cron, e.g. /etc/cron.weekly/composer-upgrade
#!/bin/sh
set -e
if [ ! -f /usr/local/bin/composer ]; then
setup_file=$(mktemp /tmp/$(basename "$0").XXXXXX)
trap "{ rm -f $setup_file; }" EXIT
php -r "copy('https://getcomposer.org/installer', '$setup_file');"
eval "php $setup_file --quiet --install-dir=/usr/local/bin --filename=composer"
else
composer --quiet self-update
@leggiero
leggiero / .zshenv
Created April 8, 2020 11:30
Start ssh-agent on login
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add 2> /dev/null;
}
if [ -z "$SSH_AUTH_SOCK" ]; then