
Alex
30.10.2016
13:46:44
ну ок, proxychains python script.py, так понятней?
заместо proxychains много чего ещё может быть, как имя в скрипте получить?

Pavel
30.10.2016
13:51:00

Alex
30.10.2016
13:55:14
вариант

Google

Zart
30.10.2016
14:01:57
лоло
proxychains насколько я помню это простой шеллскрипт, который делает export LD_PRELOAD=libproxychains.so, после чего exec $@
поэтому никакого родителя там нет

Alex
30.10.2016
14:08:30
угу, в cmdline не светится, в процессах тоже

Igor
30.10.2016
14:09:53
если цель - детектнуть проксичейнс и там все, как говорит зарт, то проще будет env variables смотреть, если родительского процесса нету
sys.argv такое тоже не покажет, полагаю

Zart
30.10.2016
14:10:25
он покажет то, что в exec

Igor
30.10.2016
14:10:35
ну да
но в exec-то proxychains не будет

Zart
30.10.2016
14:10:46
а ехеку можно сказать внести туда что угодно аще

Alex
30.10.2016
14:11:19

Igor
30.10.2016
14:11:34
ну, унифицированно ты это видимо не сделаешь

Zart
30.10.2016
14:11:35
учи юниксы тогда

Google

Igor
30.10.2016
14:11:54
можно забирать PID текущего процесса и смотреть родительский, как предложил Павел выше

Zart
30.10.2016
14:11:56
как вариант можно попытаться взять имя процесса из os.getppid
но это не кроссплатформенно особо

Igor
30.10.2016
14:12:11
о, даже getppid есть? GetParentPID типа?

Zart
30.10.2016
14:12:25
плюс если родительский сдох, процесс может быть отрепарентен к иниту вообще

Igor
30.10.2016
14:12:32
:О

Zart
30.10.2016
14:12:48
какой интерес это узнать обычному приложению - ниибу

Alex
30.10.2016
14:14:12
ppid даёт bash

Igor
30.10.2016
14:14:29
знач надо брать еще выше
запуская "ps" и ища ppid там, например
http://stackoverflow.com/a/4229596/974317
import psutil, os
pid = os.getpid()
print 'pid:', pid
ppid = os.getppid()
print 'ppid:', ppid
pppid = psutil.Process(ppid).parent().ppid()
print 'pppid:', pppid
ppppid = psutil.Process(pppid).parent().ppid()
print 'ppppid:', ppppid

Zart
30.10.2016
14:19:40
и что вы ищете-то в итоге?

Alex
30.10.2016
14:20:37
proxychains не палится в cmdline процесса всё равно
даже grep /proc не находит )

Zart
30.10.2016
14:21:37
он что, прослушал мимо всё что писали выше?

Igor
30.10.2016
14:21:50

Alex
30.10.2016
14:22:02
я Игорю пишу
а по пиду узнавать предлагает

Google

Zart
30.10.2016
14:22:21
он не будет палится в cmdline потому что exec его меняет (cmdline, т.е.)

Igor
30.10.2016
14:22:28
щито?
ну, если "proxychains python govno.py" (pid #3) запускает "bash -c python govno.py" (pid #21), а тот запускает python govno.py (pid #777), и getppid() возвращает 21, то надо смотреть пид родительского процесса bash'а, не?

Zart
30.10.2016
14:24:05
ты пишешь в баше "проксичейнс питон..."
баш вызывает форк+ексес с этой строкой. она попадает в кмдлайн
реально вызывается баш, который интерпретирует этот скрипт, заносит в енв вар значение, доходит до ексес и выполняет ексес без форка
от чего в этом же pid меняется cmdline на новый (уже без проксичейнс), а баш замещается питоном по месту
я пропускаю еще тонну деталей, но суть примерно такая

Igor
30.10.2016
14:25:38
понял; да, через parent pid'ы тоже не палится
ну, знач в данном случае env variables только смотреть
кстаааати
import os
os.environ['_']
что тут у нас? %)
это, конечно, хуевый способ, лучше по 'DYLD_INSERT_LIBRARIES': '/usr/local/Cellar/proxychains-ng/4.11/lib/libproxychains4.dylib' смотреть

Alex
30.10.2016
14:33:15
а я уже из истории выдерал, с помошью history )

Igor
30.10.2016
14:34:12
там proxychains как раз, спасибо )
не за что, случайно нашел, но это пиздец
почему - потому что
$ echo test
test
$ echo $_
test
$ uname -a
Darwin ... блаблабла
$ echo $_
-a
ну ладно, это меньший пиздец, чем из history ))

Alex
30.10.2016
14:34:47
да, и быстро, os уже импортировам, тем более

Igor
30.10.2016
14:35:44
ну ты учти, что это может по пизде пойти в любой момент
например, здесь:
$ time python govno.py
environ['_'] == '/usr/local/bin/python'
т.е. это лишь способ спалить именно proxychains с его методом запуска, не более
нифига не универсально, в общем

Alex
30.10.2016
14:39:49
угу, с tsocks уже не пашет

Zart
30.10.2016
14:42:16

Google

Igor
30.10.2016
14:42:49
ага

Pavel
30.10.2016
14:58:43
интересно, а на кой знать приложению, что его запустили через proxychain?

.
30.10.2016
15:11:02
гайс вкатываюсь наверн с мегатупым вопросом, но чет туплю уже минут 25. Вообще сел я плиить имиджборду, осваивая верстку, просто копирую двач. Начал с создания бд, не совсем понимаю, как там все устроено. Нам нужна первая бд с простым перечислением всех досок(включая шорткаты и описание), далее нам нужна бд, которая описывает саму доску, а точнее две бд, первая бд задает треды, а вторая комментарии. Нужно наследование для бд тредов от самой первой бд, но какое отношеие должно быть(много к одному?), чтобы я однозначно понимал, к какой доске этот тред принадлежит. Потом мне нужно наследование от бд тредов для бд комментариев, здесь получается, я тоже беру какое-то отношение(много к одному). Или все это полный бред и там юзается какая-та другая схема? Например бд для каждой доски или еще что-нибудь

Denis
30.10.2016
15:13:01
Под бд ты понимаешь таблицу?

Aleshka
30.10.2016
15:13:50
Всем привет, нужна регулярка, которая находит строки типа <i> внутри угловых скобок может быть до 6 символов
я такое придумал <(.|..|...|....|.....|......)>
выглядит дерьмово, можно проще как-то?
хочу увидеть вариант знающих людей

Denis
30.10.2016
15:13:59
Есть таблица досок, есть таблица тредов, есть таблица комментариев
В доске много тредов, в треде много комментариев

Admin
ERROR: S client not available

Aleshka
30.10.2016
15:15:28

.
30.10.2016
15:16:41
а таблица тредов?

Denis
30.10.2016
15:17:32
У треда есть board_id, у коммента есть thread_id

.
30.10.2016
15:19:05
т.е. мы можем создать одну таблицу и в зависимости от того тред это или коммент, вкладывать NULL в board_id или thread_id или все же 3 таблицы?

Denis
30.10.2016
15:20:18
Нет, таблицы две

Alex
30.10.2016
15:20:32

Denis
30.10.2016
15:20:38
Для комментов и для тредов разные

.
30.10.2016
15:21:22

Темный
30.10.2016
15:23:34
посоны, есть один json -
[
{
"id": [ 213, 545, 654, ... ]
"title": "Petrovich"
},
{
N
}
]
как лучше всего его разобрать, что бы работать с каждой цифрой из id относительно выбранного title?

Google

Pavel
30.10.2016
15:23:44

Alex
30.10.2016
15:25:01

b0g3r
30.10.2016
15:36:44

Aleshka
30.10.2016
15:51:09
Помогите пожалуйста, нужна регулярка, которая проверяет, состоит ли строка только из литералов, например
"\n\r\n" или "\n\n\n\n\n\n\n\n" и всякие такие она должна находить
а такие "привет \n\r\n лол" не должна
не могу ничего придумать путного

Темный
30.10.2016
15:51:18

b0g3r
30.10.2016
15:52:18
Если я правильно понял задачу

Aleshka
30.10.2016
15:53:32
If str.strip() = ""
бля, точно, ведь кто-то даже мне тут уже отвечал про этот стрип, может даже ты же и отвечал =D
спасибо

b0g3r
30.10.2016
15:53:41
Я)

Igor
30.10.2016
15:57:53
это если я правильно понял насчет "выбранного title"
но если там все объекты {id: ..., title: ...} - нужные, тогда да, тогда можно не изъебываться с таким циклом/выражением

Темный
30.10.2016
16:01:39

b0g3r
30.10.2016
17:25:24
а подскажите-ка мне
у меня в отдельном треде работает sched
который https://docs.python.org/3/library/sched.html
и он не убиётся по sigterm
то есть там в отдельном треде бесконечный луп, если абстрагироваться
как туда передать что мол, ай-ай-ай, надо перестать уже

Igor
30.10.2016
17:33:37
я не уверен, насколько это подойдет/правильно, но я б этому треду создал флажок типа should_stop (изначально равным False), который он будет периодически проверять (да хоть в while not should_stop), и если == True, то убиваться

b0g3r
30.10.2016
17:34:10
а как туды его передать
Эта группа больше не существует