Skip to content

Instantly share code, notes, and snippets.

@fenying
fenying / git-switch-remote-repo.sh
Created Apr 20, 2019
A tool for switching git remote repository URL.
View git-switch-remote-repo.sh
#!/bin/bash
# Usage
#
# We assume the link of remote repository is of SSH style like:
#
# <git-user>@<domain>:<scope>/<project-name>.git
#
# git-switch-remote-repo <remote-name> full <full-repo-link>
# git-switch-remote-repo <remote-name> domain <new-domain>
@fenying
fenying / auto-init-ssh-agent.sh
Created Apr 9, 2019
Auto-start ssh-agent when BASH starts, and reuse for all bash instance.
View auto-init-ssh-agent.sh
# Add following code at the end of ~/.bashrc
# Check if ~/.pid_ssh_agent exists.
if [ -f ~/.pid_ssh_agent ]; then
source ~/.pid_ssh_agent
# Check process of ssh-agent still exists.
TEST=$(ssh-add -l)
@fenying
fenying / docker-mysql.sh
Last active Feb 23, 2019
Run MySQL server by docker with configurations
View docker-mysql.sh
#!/bin/bash
# This script will pull down the latest mysql 5.7 and run a container.
LOCAL_MYSQL_ROOT=/docker/mysql/data # The local mysql data directory.
LOCAL_MYSQL_CNF_DIR=/docker/mysql/conf.d # The local mysql configuration directory.
LOCAL_MYSQL_PORT=3306 # The exported port of mysql.
LOCAL_MYSQL_ADDR=0.0.0.0
DOCKER_MAX_MEMORY=512m
@fenying
fenying / get-latest-tag.sh
Last active Dec 26, 2018
Get the latest tag of git respository
View get-latest-tag.sh
#!/bin/bash
# Method 1, reference: https://stackoverflow.com/a/29497919
git log --tags --simplify-by-decoration --pretty="format:%ci %d" | head -n 1 | grep -Po '(?<=tag: ).+?(?=,)'
# Method 2, reference: https://stackoverflow.com/questions/6269927/how-can-i-list-all-tags-in-my-git-repository-by-the-date-they-were-created#comment81585017_24830212
git tag --sort=-creatordate | head -n 1
@fenying
fenying / acme-nginx-alidns.sh
Last active Dec 12, 2018
Issue SSL cert with AliDNS by ACME.sh
View acme-nginx-alidns.sh
export Ali_Key="<ACCESS_KEY>"
export Ali_Secret="<SECRET_KEY>"
THE_DOMAIN=litert.org
THE_CERT_OUTPUT_DIR=/etc/nginx/ssl.d
mkdir -p $THE_CERT_OUTPUT_DIR
acme.sh --issue \
--dns dns_ali \
-d "$THE_DOMAIN" \
@fenying
fenying / docker-redis.sh
Last active Feb 23, 2019
Run Redis server by docker with configurations
View docker-redis.sh
#!/bin/bash
# Redis configuration file is /docker/redis/redis_6379.conf:/data/redis_6379.conf
# Redis RDB file dir is /docker/redis/dump.rdb:/data/dump.rdb
REDIS_CONFIG_FILE=redis_6379.conf
DOCKER_REDIS_ROOT=/data
DOCKER_CONTAINER_NAME="Redis-Server"
DOCKER_MAX_MEMORY=256m
DOCKER_MAX_CPU=1
@fenying
fenying / getSameDayOfNeighboringMonth.ts
Last active Nov 25, 2018
Get the same day of neighboring month.
View getSameDayOfNeighboringMonth.ts
/**
* Get the same day in neighboring month, e.g.
*
* Input: ("2018-10-31", 1) Output: 2018-11-30
*
* Input: ("2018-10-30", 1) Output: 2018-11-30
*
* Input: ("2018-01-31", 1) Output: 2018-02-28
*
* Input: ("2020-01-31", 1) Output: 2020-02-29
@fenying
fenying / tasks.json
Created Jun 24, 2018
Node.js Remote Debugging Configuration for VSCode
View tasks.json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "[Remote-Debug-Sample] Auto-Attach",
"remoteRoot": "/home/admin/node-projects/remote-debug",
"protocol": "inspector",
"address": "localhost",
@fenying
fenying / frps.sh
Last active Mar 7, 2018
The frp server service script /etc/init.d/frps
View frps.sh
## File: /etc/init.d/frps
#!/bin/sh
#
# frps: FRP-Server Daemon
#
# description: FRP-Server Daemon
PID_FILE=/run/frps.pid
CONFIG_FILE=/etc/frps.ini
FRP_SERVER=/usr/local/frps/frps
start()
@fenying
fenying / to32BitHex.js
Created Jan 10, 2018
Convert a signed integer into a unsigned 32-bit hex integer string.
View to32BitHex.js
function to32BitHex(v) {
if (typeof (v) !== 'number' || (Number.isInteger && !Number.isInteger(v))) {
throw new TypeError("Require a number as the argument.");
}
v = 0xFFFFFFFF & v;
if (v < 0) {
return (v >>> 0).toString(16);
}
else {
return v.toString(16);
You can’t perform that action at this time.