Skip to content

Instantly share code, notes, and snippets.

View sitnin's full-sized avatar

Gregory Sitnin sitnin

View GitHub Profile
// npm install otplib
const authenticator = require('@otplib/preset-default').authenticator;
const user = 'test';
const service = 'otp-test';
/**
* Setup image (data-url):
* data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMQAAADECAYAAADApo5rAAAAAklEQVR4AewaftIAAAjsSURBVO3BQY4kR3AAQffC/P/LroUOiTglVOieJSmEmf3BWut/Pay1joe11vGw1joe1lrHw1rreFhrHQ9rreNhrXU8rLWOh7XW8bDWOh7WWsfDWut4WGsdD2ut44cPqfxNFZPKVDGpTBWTylQxqUwVk8pU8YbKVPGGylRxo3JT8YbKVDGp/E0Vn3hYax0Pa63jYa11/PBlFd+k8k0qNypTxaQyVUwqU8Wk8jepvKHymyq+SeWbHtZax8Na63hYax0//DKVNyo+oTJVTCpTxY3KVDGp3KhMFZ9QmSomlaliUvlExTepvFHxmx7WWsfDWut4WGsdP/zHVUwqb6jcVLxRcaMyVUwqNxVvqKz/u4e11vGw1joe1lrHD/9xKlPFTcUbKlPFVHGjMlVMKlPFpHKjMlX8JpWbiv+yh7XW8bDWOh7WWscPv6ziN1W8oXJTMVVMKjcV31RxU/GGylTxRsU3VfybPKy1joe11vGw1jp++DKVv0llqphUpopJ5UZlqphUfpPKVDGpTBWTylQxqUwVk8pUMalMFTcq/2YPa63jYa11PKy1jh8+VPFPqphUpopvUvmEyidUblRuVN6omFSmipuK/5KHtdbxsNY6HtZaxw8fUpkqblR+U8Wk8k0VNypTxY3KTcWNylTxCZVPqEwVNypTxaTyRsUnHtZax8Na63hYax0//MtV3Ki8UXGj8obKVHGjcqMyVUwqNypvVHxC5UZlqpgqJpWp4m96WGsdD2ut42Gtdfz
@sitnin
sitnin / _ghost.css.diff
Created February 20, 2020 00:36
Fixing Massively huge page cover
diff --git a/assets/main/sass/layout/_ghost.scss b/assets/main/sass/layout/_ghost.scss
index cc755c7..df36a83 100644
--- a/assets/main/sass/layout/_ghost.scss
+++ b/assets/main/sass/layout/_ghost.scss
@@ -4,7 +4,7 @@
// Fix main cover image bg position
#wrapper>.bg {
background-position: top center;
- background-size: auto, auto, cover;
+ background-size: auto, auto, 100% auto;

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

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

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

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

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

function normalizeFormArray (formArray) {
var result = {};
formArray.forEach(function (obj) {
result[obj.name] = obj.value;
});
return result;
}
@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
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
## {{{ 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".
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import config
import locale
import sys
import os
import tornado.database
import tornado.httpserver
import tornado.ioloop
def get_current_user(self):
cookie = self.get_secure_cookie("user")
if cookie:
return pickle.loads(cookie)
else:
return None
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