Skip to content

Instantly share code, notes, and snippets.

View felix021's full-sized avatar

Felix021 felix021

View GitHub Profile
@felix021
felix021 / cloud_db_test.sh
Created July 27, 2016 14:31
Cloud Database Test
#!/bin/bash
#注:很多发行版自带SysBench的是0.4.12,但有些参数(如oltp-tables-count)是0.5才支持的,建议从官方源获取源码编译运行
cmd="sysbench --test=/root/src/sysbench-0.5/sysbench/tests/db/oltp.lua \
--oltp-table-size=2000000 \
--oltp-tables-count=20 \
--oltp-range-size=100 \
--oltp-point-selects=10 \
--oltp-simple-ranges=6 \
@felix021
felix021 / PortForwarder.py
Last active August 1, 2016 15:22
Bind a local tcp port, and forward requests to a remote port directly.绑定本地tcp端口,并把请求直接转发到远程端口。
#!/usr/bin/python
# simplified from msocks5.py @ https://github.com/felix021/ssocks5
import sys
import signal
try:
import gevent
@felix021
felix021 / sql_splitter.py
Created September 18, 2016 11:41
建表:分离主键、索引、外键、AUTO_INCREMENT (separate primary key, index, foreign key, auto_increment from table creation sql exported by mysqldump)
#!/usr/bin/python
#coding:utf-8
import os
import sys
import re
# Usage:
# mysqldump -u$user -p$pass --no-data --databases $database > db.sql
# ./sql_splitter.py db.sql create.sql modify.sql
@felix021
felix021 / Exmail.php
Created October 24, 2017 13:37
basic sdk for exmail.qq.com
<?php
class Exmail
{
protected $token = null;
public function __construct($corpId, $corpSecret, $debug = false)
{
$url = sprintf('https://api.exmail.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s', $corpId, $corpSecret);
$resp = self::getJson($url);
@felix021
felix021 / sign-offline.js
Last active February 8, 2018 12:30
Ethereum: Sign Transactions Offline in NodeJS | 用NodeJS对以太坊交易离线签名
#!/usr/bin/env node
'use strict';
// ethereum: generate signed transactions
// source: https://gist.github.com/neuhaus/7387edf411513a9f11f1242dcec8d62e
const fs = require('fs');
const rls = require('readline-sync');
const Accounts = require('web3-eth-accounts');
const web3utils = require('web3-utils');
@felix021
felix021 / zabbix-agent-setup.sh
Created February 28, 2018 03:50
Ubuntu 16.04 - Zabbix Agent 部署脚本:脚本里设置了 ServerActive ,会主动尝试到zabbix server注册,但需要先在zabbix frontend的 configuration->actions->auto registration 配置好 add host 动作,这样才会自动添加。
#!/bin/bash
set -x
ZABBIX_SERVER=192.168.1.100
wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
dpkg -i zabbix-release_3.2-1+xenial_all.deb
apt update
apt -y install zabbix-agent
@felix021
felix021 / IdNumChecksum
Last active September 14, 2018 13:47
中国身份证号校验码计算
def IdNumChecksum(id_num):
return '10X98765432'[sum([int(num) * (2 ** (17 - idx) % 11) for idx, num in enumerate(id_num[:17])]) % 11]
@felix021
felix021 / skiplist.py
Created September 18, 2018 21:13
A Basic Skip List Implementation
#coding:utf-8
import random
class Node(object):
def __init__(self, height, key=None):
self.key = key
self.next = [None] * height
def height(self):
MINUTES_OF_DAY = 1440
# [begin, end)
class TimeRange(object):
def __init__(self, begin, end):
self.begin = begin
self.end = end
def getMinutes(schedule):
minutes = [0] * MINUTES_OF_DAY
@felix021
felix021 / socks5_proxy.py
Last active June 23, 2021 14:15
socks5 proxy implementation from shadowsocks
#!/usr/bin/env python
# Copyright (c) 2013 clowwindy
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions: