Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python3
import os, sys, time, datetime
import argparse
_parser = argparse.ArgumentParser()
_parser.add_argument('-s', '--servers', nargs='+', help='List of servers to test in the format hostname:port.', required=True)
_parser.add_argument('-a', '--servers-alt', nargs='+', help='Specify alternative address for health check corresponding to each item in servers list. Use same format hostname:port.')
_parser.add_argument('-u', '--url', help='The URL to connect for testing. If this parameter is set, the hostname:port in servers list will be used as socks5 proxies. If not set, a socket connection will be attemped directly to hostname:port.')
_parser.add_argument('-c', '--config-name', help='The name of the shadowsocks-libev server configuration.', required=True)
@changbowen
changbowen / Start-Monitoring.ps1
Last active September 11, 2021 07:32 — forked from kiwi-cam/Start-Monitoring.ps1
A simple Powershell script that monitors a remote hosts connection. Loops constantly reporting to the screen when the status changes. Optionally also records to the event log, makes an audible beep, and/or sends emails.
<#
.SYNOPSIS
Tests the connection to the supplied host or IP and reports back on changes to its status.
.DESCRIPTION
This script will check the connection to the supplied hostname or IP address every 5 second's to
monitor its status. If the status changes, a message is recorded, the Eventlog is update (optional), and an email is sent
to a supplied email address (optional).
If a TCPPort parameter is suppied the script will attempt to connect to this port. Otherwise a simple ICMP Ping is used.
@changbowen
changbowen / Get-DellWarranty.ps1
Last active September 2, 2021 08:15
Dell API - Get Warranty Info from Service Tag
Function Get-DellWarranty {
Param(
[Parameter(Mandatory,ValueFromPipeline)]
[String[]] $ServiceTag,
[Parameter(Mandatory)]
[string] $APIKey,
[Parameter(Mandatory)]
[string] $APISecret,
@changbowen
changbowen / cheatsheet.sh
Created December 25, 2020 06:04
Linux Cheatsheet
# Top 20 largest folders under /var (including /var)
sudo du -h /var | sort -rh | head -20
let nsxServer = location.host;
let xsrfToken = await fetch(`https://${nsxServer}/api/v1/reverse-proxy/usersessionInfo`).then(r => r.text()).then(r => JSON.parse(r).xsrfToken);
let pageSize = 500;
// NSX groups with effective VM members
fetch(`https://${nsxServer}/policy/api/v1/search/aggregate?page_size=${pageSize}&cursor=0&sort_by=display_name&sort_ascending=true`, {
"headers": {
"accept": "application/json, text/plain, */*",
"accept-language": "en-US",
"content-type": "application/json;charset=UTF-8",
function natualSort {
PARAM(
[System.Collections.ArrayList]$Array,
[switch]$Descending
)
Add-Type -TypeDefinition @'
using System;
using System.Collections;
using System.Collections.Generic;
@changbowen
changbowen / Get-CDP.ps1
Last active March 13, 2020 09:22
Getting CDP (Cisco Discovery Protocol) information via PowerShell on specified list of ESXi hosts
<#
.SYNOPSIS
Get CDP information from one or more ESX hosts.
.PARAMETER VMHost
VMHost can be a list of the below entries:
- FQDN name of the host
- VMware.Vim.HostSystem (return type of 'Get-View -ViewType HostSystem')
- VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl (return type of 'Get-VMHost')
git checkout --orphan latest_branch # orphan omits all the history
git add * # if you want to include all files (respecting gitignore). Otherwise make other changes here.
git commit -am "commit message"
git branch -D master # delete master branch
git branch -m master # rename current branch to master
git push -f origin master
@changbowen
changbowen / DpiImage.cs
Last active September 18, 2019 06:49
WPF Image control that does not scale with system DPI
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace ZipImageViewer
{
public class DpiImage : Image
{