Skip to content

Instantly share code, notes, and snippets.

@itay-grudev
itay-grudev / certbot-auto.service
Last active April 4, 2019 01:08
certbot-auto systemd timer
[Unit]
Description=Renew SSL certificates via Lets Encrypt using certbot-auto
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/certbot-auto renew
@itay-grudev
itay-grudev / dodyndns.sh
Last active February 27, 2018 14:16
Bash Script for free reliable Dynamic DNS (DynDNS) using the Digital Ocean API
#!/bin/bash
##
# This script check whether the server's public IP has changed and updates an
# A DNS record with the Digital Ocean API.
# /etc/dodyndns configuration file:
# SERVER_IP=127.0.0.1
# RECORD_ID=
#
# DYNDNS_DOMAIN_PREFIX=dyndns
@itay-grudev
itay-grudev / dns-do.hook
Created April 1, 2017 11:34
Acmetool ACME (Let's Encrypt) DNS hook using the Digital Ocean API
#!/bin/bash
# This is an example DNS hook script which uses the Digital Ocean API to
# update nameservers. The script waits until updates have propagated to all
# nameservers listed for a zone. The script fails if this takes more than 60
# seconds by default; this timeout can be adjusted.
#
# Requirements: dig (bind-tools), jq
#
# The script is ready to use, but to use it you must create
# /etc/default/acme-dns-do or /etc/conf.d/acme-dns-do and set the following options:
@itay-grudev
itay-grudev / ssh-backdoor.conf
Last active April 24, 2023 03:31
Systemd Service for SSH Backdoor for remote access to systems without a real IP via external server
# /etc/ssh-backdoor/ssh-backdoor.conf
REMOTE_BINDPORT=12345
REMOTE_HOST=user@example.com
REMOTE_PORT=22
LOCAL_HOST=localhost
LOCAL_PORT=22
SSH_KEY=/etc/ssh-backdoor/ssh-backdoor.key
@itay-grudev
itay-grudev / video_helper.rb
Created April 19, 2016 14:17
Rails Video Link Embedding Helper
# Copyright (c) 2016 Itay Grudev
#
# 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
@itay-grudev
itay-grudev / README.md
Last active March 19, 2021 19:53
BT WiFi Maintain Connectivity Script

BT WiFi Maintain Connectivity Script

Usage

btauth --user USER_OR_EMAIL --pass PASSWORD # To Authenticate with the BT WiFi
btmaintain --user USER_OR_EMAIL --pass PASSWORD # To maintain a connection and re-authenticate automatically
nohup btmaintain --user USER_OR_EMAIL --pass PASSWORD 2>&1 >/dev/null & # Same as above but ran in background
@itay-grudev
itay-grudev / logging.js
Created December 6, 2015 15:58
Screeps Average CPU Usage Logging
// If the CPU Usage logging is not defined, populate it with the first sample
var usedCpu = [];
if( Memory.cpuUsage === undefined ) {
usedCpu = [ Game.getUsedCpu(), (new Date()).getTime() ];
Memory.cpuUsage = {
subSum: usedCpu[0],
subSamples: [ usedCpu ],
samples: [], // 10 minute samples
average: 0,
tickDuration: 3.0, // Aproximate value taken from field measurement
@itay-grudev
itay-grudev / gravatar_helper.rb
Last active April 16, 2017 02:43
Simple Gravatar Rails Helper
# Copyright (c) 2016-2017 Itay Grudev
#
# 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
@itay-grudev
itay-grudev / path_helper.rb
Last active October 17, 2018 18:24
Rails Current Page Helper
module PathHelper
##
# Checks whether you are on the specified page
#
# @param matchers A comma separated list of matchers.
# @param returnval Return value if the page matches or nil. Defaults to true.
# @return [mixed] returnval (usually truthy) on success or nil on failure.
#
# @example Check if you are on Article#show
@itay-grudev
itay-grudev / rvm.fish
Last active March 23, 2022 13:31
Using RVM with Fish Shell in just 6 lines of code
# ~/.config/fish/functions/rvm.fish
function rvm --description "Ruby Version Manager"
exec bash --login -c "rvm $argv; exec fish" ^&1
end