Skip to content

Instantly share code, notes, and snippets.

View xjdrew's full-sized avatar
:octocat:

xjdrew xjdrew

:octocat:
View GitHub Profile
@xjdrew
xjdrew / setup.sh
Last active August 29, 2015 14:13
pptp setup on ubuntu 14.04
#!/bin/sh
#
# 需要预先修改一下变量
VPN_USER=your_username
VPN_PASSWORD=your_very_secure_password
# 安装必要的程序
apt-get update
apt-get install pptpd -y
@xjdrew
xjdrew / setup_radsrv_users.sh
Last active August 29, 2015 14:13
setup radius server use users file
#!/bin/bash
#
# 需要预先修改一下变量
RADIUS_USER=your_username
RADIUS_PASSWORD=your_very_secure_password
RADIUS_NAS_PASSWORD=testing123
# 安装必要的软件包, freeradius-2.1.12+dfsg-1.2ubuntu8
apt-get install -y freeradius
@xjdrew
xjdrew / setup_radsrv_mysql.sh
Last active November 18, 2022 07:09
setup radius server using mysql
#!/bin/bash
#
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_ROOT_PWD=mysql123
# 数据库名字默认为radius,建议不改
MYSQL_RADIUS_USER=freeradius
MYSQL_RADIUS_PWD=freeradius123
@xjdrew
xjdrew / one_req_one_goroutine.go
Last active August 29, 2015 14:13
one request one goroutine
package main
import (
"fmt"
"net/http"
)
type Response struct {
url string
result string
@xjdrew
xjdrew / set_iptables.sh
Last active August 29, 2015 14:13
Automatically loading iptables rules on Ubuntu
#!/bin/sh
PRIVATE_IP=8.8.8.8
/bin/cp -f /etc/iptables.rules /etc/iptables.rules.old-$(date +%Y-%m-%d-%H:%M:%S)
cat > /etc/iptables.rules <<EOF
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:ICMPALL - [0:0]
@xjdrew
xjdrew / inter_sort.py
Last active August 29, 2015 14:26
inter_sort
#!/user/bin/python
# -*- coding: utf-8 -*-
import sys, logging
def inter_sort(lines):
m = {}
for i, line in enumerate(lines):
l = line.strip()
try:
_,suffix = l.lower().split("@")
@xjdrew
xjdrew / README.md
Last active June 7, 2024 07:15
苹果支付流程

预先说明

目前游戏里面出售的道具,都属于consumable products(消耗性商品),下面的说明流程都是针对这类商品的。别的类型商品处理方法,不完全一样。

注册支付接口回调

app启动的时候即注册支付队列消息的回调者,这个回调者应该是一个单体类,保证在app整个生命周期都存在。ios会回调之前未处理完成的订单。

- (id)init {
    if((self = [super init])) {
        [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
 }
@xjdrew
xjdrew / README.md
Last active November 19, 2018 02:43
多人战斗转发服务

功能

实现多个玩家联机战斗时的操作转发。

流程

玩家先通过组队服务,组好队伍。队长点击开始攻击后,玩家获得本次战斗的token,再连接战斗转发服务。

战斗转发服务为每个队伍创建一个房间,并仅允许该队伍的玩家加入该房间。房间内的每个玩家是完全平等的,所以每个玩家都不能发送指示性指令,比如开始战斗,结束战斗之类的。

每个玩家根据协议发送自己的状态信息,由服务决定当前应处的状态。

@xjdrew
xjdrew / client.go
Last active June 20, 2025 01:31
golang tls client and server, require and verify certificate in double direction
package main
import (
"crypto/tls"
"crypto/x509"
"flag"
"io"
"io/ioutil"
"log"
"os"
@xjdrew
xjdrew / udprelay.go
Created February 23, 2017 10:19
udp relay example
package main
import (
"bytes"
"flag"
"log"
"net"
"sync"
"time"
)