Skip to content

Instantly share code, notes, and snippets.

View hsupu's full-sized avatar
🌏
Inside

Hsu Pu hsupu

🌏
Inside
View GitHub Profile
@hsupu
hsupu / httpclient-demo.ps1
Last active March 23, 2021 00:17
PowerShell HttpClient ServerCertificateCustomValidationCallback demo
$cscode = @"
using System;
using System.Net.Http;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
public class My {
@hsupu
hsupu / nat6-and-port-forwarding.sh
Last active May 14, 2023 14:52
OpenWRT: iptables rules: NAT6 and Port Forwarding
LAN_IF=br-lan
WAN_IF=eth2
# nat6
ip6tables -t nat -I POSTROUTING -o $WAN_IF -j MASQUERADE
function forward6() {
PROTO=$1
ROUTER_PORT=$2
HOST_IP=$3
@hsupu
hsupu / iptables-tproxy-for-ss-redir.sh
Last active April 19, 2022 04:49
OpenWRT: iptables transparent proxy script for ss-redir
LAN_IF=wan1
SS_PORT=1088
SSS_HOST=
SSS_PORT=
SSS_METHOD=
SSS_PASS=
iptables -t nat -N ss
iptables -t nat -F ss
iptables -t nat -A ss -d 127.0.0.0/8 -j RETURN # loopback
@hsupu
hsupu / ipv6-passthrough-bridge.sh
Created June 23, 2019 17:13
A solution to IPv6 passthrough on router
# note: please disable IPv6 on router first
WAN_IF=eth0
LAN_IF=br0
# drop non-IPv6 packet from WAN
ebtables -t broute -A BROUTING -i $WAN_IF -p ! ipv6 -j DROP
# bridge WAN to LAN
brctl addif $LAN_IF $WAN_IF
@hsupu
hsupu / ucas-sync-traning-plan-step2.js
Created June 24, 2019 16:40
将选课系统的课程同步到培养计划的第二步
// ==UserScript==
// @name 同步课程到培养计划
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 让毕业简单一点。
// @author xp
// @match http://py.ucas.ac.cn/zh-cn/training/zhidingkechengjihua/*
// @grant none
// ==/UserScript==
@hsupu
hsupu / ucas-sync-training-plan-step1.md
Last active June 25, 2019 06:16
将选课系统的课程同步到培养计划的第一步

登录“选课系统”——“已选择的课程”页面( http://jwxk.ucas.ac.cn/courseManage/selectedCourse ),查看网页源码,摘取 <table ...</table> 部分。

打开 https://regexr.com/ ,右上角 Flags 点开并选中 global multiline。把摘取的网页源码复制到 Text,把以下正则表达式复制到 Expression:

(?:(?!\/course\/)[\s\S])*\/course\/courseplan\/(\d+)[^>]*>([^<]*)(?:(?!_blank">)[\s\S])*_blank">(.*)<\/a>[^]*([|])(?:(?!<td>)[\s\S])*<td>([^<]*)<\/td>

Tools 选 list,输入以下表达式:

@hsupu
hsupu / alter-java.sh
Last active September 3, 2019 02:51
alternatives with java
#!/usr/bin/env bash
BIN_DIR=/usr/bin
JAVA_HOME=/opt/jdk-11.0.4+11
PRIOR=1000
BINS=( \
java \
javac \
jps \
@hsupu
hsupu / nfs-checkin.js
Last active December 23, 2019 06:01
The missing auto check-in tempermonkey script for NFS.
// ==UserScript==
// @name nfs check-in
// @namespace https://reweb.site/
// @version 0.1
// @description check-in check-out
// @author xp
// @match http://123.57.174.192:8081/public/att/attdview*
// @grant none
// ==/UserScript==
@hsupu
hsupu / smb.conf
Last active September 13, 2019 04:17
A samba config file for file sharing
# see smb.conf(5)
# see https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html
# run "testparm" to check syntax errors
[global]
client min protocol = SMB2
server string = %h (samba on Ubuntu)
# NT-domain
workgroup = WORKGROUP
@hsupu
hsupu / alter-gcc.sh
Last active November 5, 2019 09:26
alternatives with java
#!/usr/bin/env bash
SDIR=/usr/bin
DDIR=/usr/bin
VER=$1
PRIOR=$2
update-alternatives --install $DDIR/gcc gcc $SDIR/gcc-$VER $PRIOR \
--slave $DDIR/gcc-ar gcc-ar $SDIR/gcc-ar-$VER \
--slave $DDIR/gcc-nm gcc-nm $SDIR/gcc-nm-$VER \