Skip to content

Instantly share code, notes, and snippets.

View siketyan's full-sized avatar
🍖
Hungry

Naoki Ikeguchi siketyan

🍖
Hungry
View GitHub Profile
@siketyan
siketyan / delete-stale-branches.fish
Last active March 20, 2023 04:28
Deletes all stale branches on GitHub (or Enterprise Server) using gh CLI and jq
set owner "siketyan"
set repo "foobar"
set last_committed_before "2023-03-01"
for name in (gh api "repos/$owner/$repo/branches?per_page=100" | jq -r .[].name)
echo "Checking $name"
set stale (gh api "repos/$owner/$repo/branches/$name" | jq -r "select(.commit.commit.committer.date < $last_committed_before) | .name")
if test -n "$stale"
echo "Branch $stale is stale, deleting"
gh api -X DELETE "repos/$owner/$repo/git/refs/heads/$stale"
@siketyan
siketyan / lookup-protected-repositories.fish
Created March 9, 2023 05:16
Looks up whether the default branch is protected or not for each repositories on GitHub.
set owner "siketyan"
for r in (gh repo list $owner --limit 1000 --json owner,name,defaultBranchRef | jq -rc '.[]')
set owner (echo $r | jq -r '.owner.login')
set repo (echo $r | jq -r '.name')
set branch (echo $r | jq -r '.defaultBranchRef.name')
if gh api repos/$owner/$repo/branches/$branch/protection > /dev/null 2>&1
echo "$owner/$repo OK"
else
echo "$owner/$repo NG"
@siketyan
siketyan / flets-transix-vyos-dhcpv6pd.conf
Created December 22, 2022 08:03
VyOS configuration for FLET'S network w/ a Transix tunnel and DHCPv6-PD client
interfaces {
ethernet eth0 {
hw-id [REDACTED]
}
ethernet eth1 {
dhcpv6-options {
duid 00:03:00:01:[REDACTED]
pd 0 {
interface eth2 {
address 1
@siketyan
siketyan / delete-merged-branch.fish
Created August 26, 2022 05:14
Deletes Git branches that was merged on GitHub (using gh CLI).
for b in (gh pr list -A "@me" -s merged --json headRefName | jq -r '.[].headRefName')
git branch -d "$b" || true
end
@siketyan
siketyan / nuro.sh
Created August 23, 2022 04:22
VyOS configuration that demonstrates speed of NURO Hikari (Internet provider in Japan).
# Create VLAN interface (.15 in this case)
set interfaces ethernet eth1 vif 15 address 172.18.1.1/16
set interfaces ethernet eth1 vif 15 description "NURO"
# Enable DHCP server for the network (optional)
set service dhcp-server shared-network-name nuro authoritative
set service dhcp-server shared-network-name nuro name-server 45.90.28.127
set service dhcp-server shared-network-name nuro subnet 172.18.0.0/16 default-router 172.18.1.1
set service dhcp-server shared-network-name nuro subnet 172.18.0.0/16 range 1 start 172.18.10.1
set service dhcp-server shared-network-name nuro subnet 172.18.0.0/16 range 1 stop 172.18.10.253
use itertools::FoldWhile::{Continue, Done};
use itertools::Itertools;
use rand::seq::SliceRandom;
fn main() {
println!(
"{}",
std::iter::repeat(())
.filter_map(|_| ["ドド", "スコ"].choose(&mut rand::thread_rng()))
.fold_while(String::new(), |mut acc, &v| {
@siketyan
siketyan / pot.sh
Last active August 23, 2022 08:34
Easy alternative of anyenv or asdf for Homebrew formulas
#!/usr/bin/env/sh
#
# Usage:
# ./pot.sh php @8.0 # Uses specified version (8.0 in this case)
# ./pot.sh php # Uses default version (8.1 at 20/05/2022)
#
brew list | grep "$1@" | xargs brew unlink "$1"; brew link --force --overwrite "$1$2"
@siketyan
siketyan / config.text
Created January 7, 2022 07:34
Running configuration on AP-W6T3267C, a Wi-Fi 6 access point by FS.COM
version AP_W6T3267C FSOS 11.9(6)B1S5, Release(08132509)
hostname wifi.network.s6n.jp
!
fair-schedule
rldp enable
sntp interval 7200
sntp server ntp.nict.jp
sntp enable
wids
device mode monitor radio 3
@siketyan
siketyan / libe.py
Last active November 26, 2021 15:47
from typing import Any
from urllib import request, parse as urlparse
from re import compile, Pattern
from json import dumps
from sys import stderr
from signal import signal, SIGPIPE, SIG_DFL
from bs4 import BeautifulSoup