Skip to content

Instantly share code, notes, and snippets.

@muromec
muromec / app.py
Created December 2, 2012 17:47 — forked from xen/modelsite.py
hopak design
from flask import Flask
from flask.ext.hopak import FlaskHopak
from flask.ext.pymongo import PyMongo
import models
def create_app():
# Create flask app
app = Flask(__name__)
@muromec
muromec / crossdev.h
Last active December 10, 2015 00:28
bunch of magic macros to handle cross-device objc code
#ifndef TEXR_CROSS_H
#define TEXR_CROSS_H
#if TARGET_OS_IPHONE
#define IPHONE 1
#else
#define IPHONE 0
#endif
#define on_iphone(x) {}
@muromec
muromec / tls_server.go
Created March 21, 2013 10:56
Simple TSL server in go
package main;
import ("log"; "os"; "net"; "bufio";"crypto/tls";"crypto/x509")
var caPool *x509.CertPool;
var tlsConf tls.Config;
func connLoop(conn net.Conn) {
sconn := tls.Server(conn, &tlsConf);
err := sconn.Handshake();
#!/bin/sh
set -e
CLI=./cli
if [ ! -e ~/.texr.cert ]; then
TD=$(mktemp -d)
openssl genrsa 2048 > ${TD}/key.priv 2> /dev/null
openssl rsa -in ${TD}/key.priv -pubout -out ${TD}/key.pub 2>/dev/null
import os
import msgpack
import socket
def cmd(name):
def cmd(f):
f._cmd_name = name
return f
return cmd
@muromec
muromec / ReIpc.java
Created July 9, 2013 17:26
JavaHell
package net.texr.mobile;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import org.msgpack.MessagePack;
import org.msgpack.packer.Packer;
import org.msgpack.type.Value;
@muromec
muromec / texr_version.py
Created July 13, 2013 08:55
query texr.net version
mport socket
msg = '''OPTIONS sip:texr.net SIP/2.0
Via: SIP/2.0/UDP texr.net;branch=z9hG4bK5cb072362f08f6a3
Content-Length: 0
From: "neko" <sip:neko@texr.net>;tag=4158f3dc
To: "neko" <sip:neko@texr.net>
User-Agent: pygay
CSeq: 55216 OPTIONS
Max-Forwards: 70
@muromec
muromec / reader.c
Created May 8, 2014 18:20
Fuck. This. Crypto.
input_fd = open("key.dat", O_RDONLY);
if(input_fd < 0) {
fprintf(stderr, "failed to open data file\n");
return 1;
}
lseek(input_fd, 38, SEEK_SET);
memset(data, 0, 1024);
have = read(input_fd, data, 1024);
if(have < 100) {
#include "stdio.h"
#include "string.h"
#include "gost89.h"
#include "gosthash.h"
#include "util.h"
#include <fcntl.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
@muromec
muromec / implicit_parent_bug.js
Last active August 29, 2015 14:02
ASN1.js bug
var asn1 = require('asn1.js');
var broken = function() {
var B = asn1.define('B', function() {
this.seq().obj( // NO implicit tag here
this.key('b').octstr()
);
});
var A = asn1.define('Bug', function() {