Skip to content

Instantly share code, notes, and snippets.

View rocka's full-sized avatar

rocka

View GitHub Profile
@rocka
rocka / docker_helper.fish
Last active June 30, 2019 04:04
docker helper functions for fish shell
# Docker helper functions for fish shell
function docker-update --description 'pull all :latest images'
docker images --format '{{.Repository}}:{{.Tag}}' | egrep ':(latest|alpine)' | xargs -L1 docker pull
end
function docker-clean --description 'remove all none-taged images'
docker rmi (docker images | grep '<none>' | awk '{print $3}')
end
@rocka
rocka / arch_init.sh
Last active October 4, 2022 08:06
Arch Linux VPS initialize script
#!/bin/bash
USERNAME='rocka'
HOSTNAME='arch'
SS_PORTNO='1234'
SS_METHOD='aes-256-gcm'
SS_PASSWD='all-your-base-are-belong-to-us'
# pacman related config
sed -i 's/#Color/Color/g' /etc/pacman.conf
@rocka
rocka / NeteaseWatchmanToken.html
Created June 5, 2017 03:01
try to generate login token for `music.163.com`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script pro-data="9cc38396948a8f869494ac869ac3dbc38385d3d88685d8d4d686da83d584d1d3dad5d9d1d4dad6d9da87d8d1d1d4d984c3cdc394b6938dc3dbc38995959194dbd0d08284cf85968fcfd2d7d49a968fcf84908edbd5d5d4d097d2d085c3cdc385b6938dc3dbc38995959194dbd0d08284cf85968fcfd2d7d49a968fcf84908edbd5d5d4d097d2d083c3cdc3848594c3dbbcc3cf8c82908d82cf84908ec3cdc3cf8c82908d82cf84908ecf898cc3cd8f968d8dcdc3cfd2d7d4cf84908ec3cdc3cf8f869586829486cf84908ec3becdc3879590c3dbd1cdc385b09195c3db9cc38e8e8ec3dbd2d6d1cdc38e8e8ac3dbd4d1d1cdc38e8e85c3dbd4d1cdc38e858ac3dbd4d1d1cdc38e958ec3dbd2d6d1cdc3958e8ac3dbd4d1d1cdc38e8c85c3dbd7cdc38c858ac3dbd4d1d1cdc38e87c3dbd3d1cdc3878ac3dbd4d1d1cdc38e8790c3dbd3d1cdc387908ac3dbd4d1d1cdc38e8490c3dbd3d1cdc384908ac3dbd4d1d1cdc38394c3dbd6d1d19ecdc394b09195c3db9cc38a8b9487c3db87828d9486cdc38a8787c3db95939686cdc38a98888dc3db95939686cdc394848ac3dbc3c0949887c0d9d89985d4998599b1908a99dad9d499a5ad91909985c3cdc39496c3dbc38995959194dbd
@rocka
rocka / keybase.md
Last active April 19, 2018 04:11
keybase.io

Keybase proof

I hereby claim:

  • I am rocka on github.
  • I am rocka (https://keybase.io/rocka) on keybase.
  • I have a public key whose fingerprint is 9FF7 402F 7DB8 F72A 8134 B130 2803 1158 FFDD 6853

To claim this, I am signing this object:

@rocka
rocka / delMyQzoneFeed.js
Created May 20, 2017 16:23
script to delete qzone feed
var iframe = document.getElementsByTagName('iframe')[0].contentDocument;
var dels = iframe.getElementsByClassName('del');
var len = dels.length;
for (var i = 0; i < len; i++) {
var el = dels[0];
el.click();
setTimeout(function () {
document.getElementsByClassName('qz_dialog_layer_sub')[0].click();
}, 500);
@rocka
rocka / bbr.sh
Last active August 22, 2017 06:58
enable bbr in OpenVZ VPS
#!/bin/bash
fuser -k /dev/net/tun
# delete tap0
ip tuntap del dev tap0 mode tap
# add tap0
ip tuntap add dev tap0 mode tap
ip link set dev tap0 up
ip addr add dev tap0 10.0.0.1/24
@rocka
rocka / Array.range.js
Last active June 5, 2017 04:29
create arithmetic sequence
Array.range = function () {
let realMin, realMax, step, arr = [];
if (arguments.length >= 3) {
realMin = arguments[0]; realMax = arguments[1]; step = arguments[2];
} else if (arguments.length === 2) {
realMin = arguments[0]; realMax = arguments[1]; step = 1;
} else if (arguments.length === 1) {
realMin = 0; realMax = arguments[0]; step = 1;
} else return arr;
const total = Math.floor((realMax - realMin) / step);
@rocka
rocka / totalCredit.js
Created March 31, 2017 03:14
calc total credit in zfjw
javascript:(function(){
var total=0;
[].forEach.call(
document.getElementById('iframeautoheight').contentDocument.getElementsByClassName('datelist')[0].rows,
(e, i) => i ? total+=+e.cells[5].innerText : null
);
alert(`Total credit is ${total}`);
})();
@rocka
rocka / scrollToTop.js
Created October 29, 2016 16:05
JavaScript smoothly scroll to top
(function ScrollTop(ms) {
ms = ms || 500;
let length = pageYOffset;
let step = length * 1000 / ms / 60;
let inv = setInterval(() => {
scroll(pageXOffset, pageYOffset - step);
}, 16);
setTimeout(() => {
clearInterval(inv);
},ms);