Skip to content

Instantly share code, notes, and snippets.

View sitnin's full-sized avatar

Gregory Sitnin sitnin

View GitHub Profile
class XmlDecorator(object):
def mime(self):
return "application/xml; charset=utf-8;"
def _to_xml_str(self, data, tag):
res = ""
if isinstance(data, dict):
for key in data:
res += self._to_xml_str(data[key], key)
elif isinstance(data, list) or isinstance(data, tuple):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import locale, sys, os
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
reload(sys)
sys.setdefaultencoding('utf-8')
import plistlib
from pprint import pprint
traceroute to fe-02.sitnin.com (109.123.78.150), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 2.469 ms 0.924 ms 0.871 ms
2 vpn102-l0.msk.corbina.net (85.21.0.102) 2.523 ms 1.834 ms 5.277 ms
3 * * *
4 rost-bb-teng4-2.70.msk.corbina.net (195.14.54.120) 22.459 ms 22.603 ms 21.164 ms
5 tc-bb-po2.sto.corbina.net (195.14.54.95) 20.587 ms 20.798 ms 20.662 ms
6 213.221.4.153 (213.221.4.153) 23.192 ms 20.735 ms 25.268 ms
7 * cat01.frankfurt.gldn.net (194.186.80.233) 58.070 ms 55.941 ms
8 * xe-4-2-0.bb2.lon1.uk.gbxs.net (195.66.224.231) 70.266 ms *
9 linx-224.as13213.net (195.66.224.19) 57.187 ms * 55.407 ms
def get_current_user(self):
cookie = self.get_secure_cookie("user")
if cookie:
return pickle.loads(cookie)
else:
return None
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import config
import locale
import sys
import os
import tornado.database
import tornado.httpserver
import tornado.ioloop
## {{{ http://code.activestate.com/recipes/278731/ (r6)
"""Disk And Execution MONitor (Daemon)
Configurable daemon behaviors:
1.) The current working directory set to the "/" directory.
2.) The current file creation mode mask set to 0.
3.) Close all open files (1024).
4.) Redirect standard I/O streams to "/dev/null".
gregor@ds:~/p/farm$ ./test.py
before fork 1
after fork 1 pid = 12873
after fork 1 pid = 0
after fork 2 pid = 12874
after fork 2 pid = 12875
after fork 2 pid = 0
after fork 2 pid = 0
exit
exit
@sitnin
sitnin / hashstring.py
Created April 7, 2012 22:24
Hash a string and print it to stdout
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = "Gregory Sitnin <sitnin@gmail.com>"
__copyright__ = "Gregory Sitnin, 2012"
__version__ = "1.0"
import sys
import argparse
function normalizeFormArray (formArray) {
var result = {};
formArray.forEach(function (obj) {
result[obj.name] = obj.value;
});
return result;
}

Прозрачное проксирование портов без подъёма реверс-прокси

Суть подхода в том, чтобы сделать форвардинг пакетов с портов 80 и 443 новой не заблокированной машины на старую, заблокированную.

Важное условие: новая машина должна видеть старую беспрепятственно, без всяких блокировок. Это довольно просто достигается, если новая находится в недосягаемой для РКН зоне.

Реферальная ссылка: https://m.do.co/c/8f69a3f1651f (заблокированы не все подсети DigitalOcean, поэтому можно взять по моей ссылки виртуалку за $5/месяц, при этом стартовой суммы в $10 вам хватит на 2 месяца работы)

Покупаем самую простую (дешёвую) виртуалку (они обычно по 5 баксов в месяц у всех) и ставим на неё Ubuntu 16.04 LTS. Заводим ssh-ключ или длинный хороший пароль для root'а. Далее всё, как описано ниже.