Skip to content

Instantly share code, notes, and snippets.

@ihipop
ihipop / reload-plasmashell.sh
Last active April 14, 2023 02:39
use DBUS to reload KWIN or PlasmaShell
#!/bin/bash
[ "$XDG_SESSION_DESKTOP" = "KDE" ] || exit
#dbus-send --session --print-reply --dest=org.kde.kded5 \
# /kded \
# org.kde.kded5.unloadModule \
# string:"kscreen"
{
dbus-send --session --type=method_call --print-reply --dest=org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.refreshCurrentShell ||
{ killall plasmashell -u ${USER:-$(whoami)} && echo killed plasmashell ; kstart5 -- plasmashell >/dev/null 2>&1 & }
} &
@ihipop
ihipop / a_cidr_netmask.sh
Last active March 31, 2023 02:59
Shell Script to Manipulate NETMASK/CIDR
#!/bin/bash
# from https://stackoverflow.com/questions/20762575/explanation-of-convertor-of-cidr-to-netmask-in-linux-shell-netmask2cdir-and-cdir
# see also https://gist.github.com/RichardBronosky/7902f062ab36d3c99413ba21986ed0cb
mask2cdr ()
{
# Assumes there's no "255." after a non-255 byte in the mask
local x=${1##*255.}
set -- 0^^^128^192^224^240^248^252^254^ $(( (${#1} - ${#x})*2 )) ${x%%.*}
x=${1%%$3*}
echo $(( $2 + (${#x}/4) ))
@ihipop
ihipop / VPN-GUARDER
Last active August 20, 2023 14:28
NetworkManager VPN Connection Guarder
#!/bin/bash
# put me in the directory of "/etc/NetworkManager/dispatcher.d/",permission `u+x,g-w,o-w`
GUARDED_VPN_CONNECTION_NAMES='SSTP'
if [ -f "$CONTROL_FILE" ] || [ -f "$CONTROL_FILE-$CONNECTION_ID" ]; then
echo -n "VPN GUARD DISABLED"
[ -f "$CONTROL_FILE-$CONNECTION_ID" ] && echo -n " FOR CONNECTION ${CONNECTION_ID}"
echo ""
exit 0
fi
@ihipop
ihipop / README.md
Last active February 8, 2022 10:22
给VirtualBox的虚拟机设置一个BIOS/主板序列号

设置

VBoxManage setextradata "Win 11" "VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" "string:SN001" 
VBoxManage setextradata "Win 11" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "string:SN001"

如果是传统BIOS引导,把efi 换成 pcbios 即可

@ihipop
ihipop / mac-address-loader@.service
Last active May 31, 2021 03:23
N1 CoreELEC mac address fix
[Unit]
Description=MAC address loader for %I From bootloader env
ConditionFileIsExecutable=/usr/sbin/fw_printenv
Wants=network-pre.target
Before=network-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=oneshot
@ihipop
ihipop / main.go
Created February 25, 2021 03:44
Fake Telnet Server
package main
import (
"fmt"
"github.com/reiver/go-oi"
"github.com/reiver/go-telnet"
)
func main() {
@ihipop
ihipop / M3C API.md
Created February 24, 2021 10:01
M3C 机顶盒API

基本格式说明

成功响应

<LIST>
	<result r="0">Success</result>
</LIST>

失败响应

@ihipop
ihipop / aha.html
Created January 30, 2020 06:55 — forked from zhanglianxin/aha.html
TPLINK_Auth_Key_计算器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TPLINK_Auth_Key_计算器 作者:青岛小哥 email:qdpp007@outlook.com</title>
<script type="text/javascript">
function $(id)
{
return document.getElementById(id);
}
@ihipop
ihipop / swoole-process-socket-with-Coroutine.php
Created April 23, 2019 03:19
协程安全的进程通讯 With Swoole
<?php
Swoole\Runtime::enableCoroutine();
$processContainer = [];
for ($i = 0; $i < 2; $i++) {
$process = new \Swoole\Process(function (\Swoole\Process $workerProcess) {
\Swoole\Coroutine::create(function () use ($workerProcess) {
while (true) {
$socket = $workerProcess->exportSocket();
$pid = posix_getpid();
echo 'Idle:' . $pid . PHP_EOL;
@ihipop
ihipop / youzan-express.json
Last active November 28, 2018 02:36
有赞快递.json
{
"response": {
"allExpress": [
{
"display": 1,
"name": "申通快递",
"id": 1
},
{
"display": 1,