В этом посте я попытаюсь подробно (даже картинки будут) показать и рассказать как поднимать свой баунсер.
Ба́унсер(англ. bouncer, bnc) — программа, позволяющая скрыть реальный адрес в IRC. Пользователь подключается к находящемуся на другом компьютере баунсеру, который в свою очередь подключается к IRC-сети под видом IRC-клиента. В результате в IRC-сети виден не реальный адрес пользователя, а адрес того сервера, на котором установлен баунсер. Фактически баунсер используется как прокси-сервер, в том числе для «обмана» тех сетей, в которых запрещены прокси. Но это не самое главное их преимущество.
Т.е. фактически главное предназначение баунсера — скрыть реальный IP-адрес пользователя, и хранить логи с канала, когда юзер не подключен до IRC-сервера.
Самыми популярными баунсерами являются psyBNC, ezbounce и ZNC.
В этом посте я подробно остановлюсь на psyBNC.
Данную статью я затеял написать после учащающихся вопросов как на форуме так и вопросов в icq на тему многопоточности в CPython. Проблема людей, которые их задают происходит, в основном, из незнания или непонимания основных принципов работы многопоточных приложений. По крайней мере, это относится к используемой мной модели многопоточности, которая носит название Thread Pool (Пул потоков). Часто встречаемой проблемой является и другое: люди не имеют элементарных навыков работы со стандартными модулями CPython. В статья я постараюсь привести примеры такого незнания, не останавливаясь на личностях, так как это по моему скромному мнению неважно. Исходя из условий, в которых пишется эта статья, то мы немного затронем и работу через proxy серверы (не путать с SOCKS).