СПб хвощ ищу программиста способного запрограммировать вот что:
АВТОМАТИЗИРОВАТЬ ИНВАЙТ В ДРУЗЬЯ СЛУЧАЙНЫХ ПОЛЬЗОВАТЕЛЕЙ В КОНТАКТЕ. НА WIN XP. ЛЮБЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ,ЛЮЬЫЕ ПРОГРАММНЫЕ СРЕДСТВА,ЛИШЬ БЫ РАБОТАЛО.
На двоще водится много технически грамотных негуманитаериев.
>>331457788 (OP) Ты треды не читал последние пару лет? Напиши запрос в нейросеть, она сама все сделает за 5 минут. Уже даже бизнес на такую модель перешел во всем мире. Менеджеры сидят, кидают промты в нейронку и получают сразу готовый к деплою сервис, а это куда сложнее, чем твоя задача.
>Бтв уточни требования, сколько людей надо добавлять в друзья? Если много то там рейтлимиты могут быть, тогда сложнее
ЕСТЬ ФАЙЛ ЛОНГИНТ.ТХТ.
ТАМА ЛЕЖАТ ЛОГИНЫ
ЕСТЬ ФАЙЛ ПОРОЛЬ. ТХТ
ТАМА ЛЕЖАТЬ ПОРОЛИ ОТ ЛОГИНОВ
ЕСТЬ ФАЙЛ ИТПРАЦИЯ.ТХТ
ТАМА ЛЕЖИТЬ ЧИСЛО 1.
ПРОЦЕСС ЗАПУСКАЕЦА, ЧИТАЕТ ИЗ ФАЙЛА ЛОНГИНТ.ТХТ ПЕРВУЮ СТРОКУ. ТО ЕСТЬ ПЕРВЫЙ ЛОГИН. ИЗ ФАЙЛА С ПОРОЛЯМИ ЧИТАЕТ ПЕРЫЙ ПОРОЛЬ. ЛОГИНИТСЯ В КОНТАКТ С ЭТИМ ЛОГИНОМ.
НОХОДИТ 15 ЧЕЛОВ ПО ПАРАМЕТРУ ГОРОД ПОЛ АОЗРАСТ. КАЖДОМУ ПИШЕТ "ПРЕВЕД ЛОХ, ЗОХОДИ НА САЙТ http:/cheburnet.su ТАМ ГОЛАЯ НОВОДВОРСКАЯ ЖДЕТ ТЕБЯ"
ПОСЛЕ ЭТОГО- ВЫЙТИ ИЗ КОНТАКТА. ИНКРЕМЕНТИРОВАТЬ ПЕРЕМЕННУЮ В ФАЙЛЕ ИТЕРАЦИЯ.ТХТ
>>331459265 КАК ТАМ В 2010? ТВОЕ СООБЩЕНИЕ БУДЕТ ПОЧТИ СРАЗУ ДОБАВЛЕНО В СПАМ-ЛИСТ И АККАНТЫ С КОТОРЫХ ТЫ ИХ БУДЕШ ОТПРАВЛЯТЬ И СООБЩЕНИЯ БУДУТ СРАЗУ БЛОЧИТЬСЯ. ЗАТЕМ В СПАМ ЛИСТ ПОПАДЕТ САЙТ И УЖЕ ПОХУЙ БУДЕТ КАК ТЫ ЕГО БУДЕШЬ ПЫТАТЬСЯ ПРОДВИГАТЬ. АЛЬСО 99% ЛЮДЕЙ НЕ ДОДУМАЮТСЯ ВВЕСТИ ВРУЧНУЮ ИЛИ СКОПИПАСТИТЬ АДРЕС А ПО КЛИКУ ЕГО НЕ ДАСТ КОНТАКТ ОТКРЫТЬ
>>331459951 Я ВИДЕЛ В КОММЕНТАХ НА ЮТУБЕ ЛЮДИ ПИШУТ МОЛ МОКРЫЕ ПИСЬКИ ЦП МАЛОЛЕТКИ ЗДЕСЬ И РАЗНЫЕ ССЫЛКИ (С РАЗНЫМИ ДОМЕНАМИ) ЕЩЕ ПИШУТ ССЫЛКА В НИКЕ И ТАМ ИЗ НИКА ПОНЯТНО ЧТО ЗА САЙТ. А ТАК КАК ТИПА ЗАПРЕЩЕНКА ВЫШЕ ВЕРОЯТНОСТЬ ЧТО МАМОНТ САМ ПОЛЕЗЕТ ГУГЛИТЬ.
>>331460124 АРБИТРАЖ РАЗНЫЙ БЫВАЕТ МОЖНО БОТНЕТАМИ УРЛЫ ДЕРГАТЬ.
>>331460115 С ЧЕГО БЫ, ЕСЛИ ЛЮБДИ ИЩУТ В ГУГЛЕ ИНФУ И ОНА ЕСТЬ НА ТВОЕМ САЙТЕ + ГРАМОТНАЯ СЕО ОПТИМИЗАЦИЯ ЧТОБЫ ГУГЛ ЛЮБИЛ ТВОЙ САЙТ ТО В ТОМ ВЫВОДИТСЯ НА РАЗ -ДВА В ПОЛУАВТОМАТИЧЕСКОМ РЕЖИМЕ. ДРУГОЕ ДЕЛО ЕСЛИ У ТЕБЯ НА САЙТЕ ИНФА КОТОРУЮ НИКТО НЕ ГУГЛИТ И ОНА НАХУЙ НИКОМУ НЕ НУЖНА ИЛИ ВООБЩЕ ЗАПРЕТ.
>>331460266 ВСЕ КЛЮЧЕВЫЕ СЛОВА В БАН И ГОТОВО. БЕЗ КЛЮЧЕВЫХ СЛОВ НЕ ПОНЯТНО О ЧЕМ РЕЧЬ. + КТО В ВК В 2026 СИДИТ? БАБКИ СРАКИ? ЗАЧЕМ БАБКАМ СРАКАМ ТОРРЕНТ? ЗАЧЕМ ВООБЩЕ НУЖЕН ТОРЕНТ КОГДА СКОРОСТЬ СЕТИ +100МБ? ТОРРЕНТ В 2026 ЭТО КАК АСЬКА ИЛИ DC++ УДЕЛ ГИКОВ КОТОРЫХ ПОЛТОРА ИНВАЛИДА. + ТВОИ СООБЩЕНИЯ ЕСЛИ ЧЕЛОВЕК НЕ ПЕРВЫЙ ДЕНЬ В ИНТЕРНЕТЕ НИКТО ДАЖЕ ОТКРЫВАТЬ НЕ БУДЕТ ТАК КАК НЕТ ИНТЕРЕСА ЧИТАТЬ ЧТО ТАМ ОЧЕРЕДНОЙ БОТ/МОШНЯ ВЫСРАЛА.
>>331460336 ЧЕРЕЗ БОТНЕТЫ РАБОТАЕТ АРБИТРАЖ ТВОЕ ДЕЛО ПЛОТИТЬ ДЕНЬГУ. КСТА САЙТЫ В 2026 ТОЖЕ ЛЮТОЕ ЛЕГАСИ ДЛЯ 99% ЛЮДЕЙ В ИНТЕРНЕТЕ ВЕСЬ ИНТЕРНЕТ ЭТО 10 САЙТОВ, ТО ЧТО ЕСТЬ КАКИЕ ТО ЕЩЕ САЙТЫ ОНИ ДАЖЕ НЕ ЗНАЮТ ДА И ОНО ИМ НАХУЙ НЕ УПАЛО. ПОЧТИ ВСЕ ИСПОЛЬЗУЮТ ПРИЛОЖЕНИЯ, Т.Е. ДАЖЕ ЭТИ 10 САЙТОВ НАХУЙ НИКОМ НЕ НУЖНЫ САМИ ПО СЕБЕ, КОГДА ЕСТЬ ПРИЛОЖЕНИЯ.
>>331460299 У ТЕБЯ НА САЙТЕ НИХУЯ КРОМЕ ТОРРЕНТ ФАЙЛОВ НЕТ. НОРМАЛЬНЫЕ ТОРРЕНТ КЛИЕНТЫ В 2026 УМЕЮТ В ПОИСК ИХ ЮЗЕРАМ ТВОЙ САЙТ ЧТОБЫ ТОРРЕНТ ФАЙЛ СКАЧАТЬ ИЛИ МАГНЕТ ССЫЛКУ ОТКРЫТЬ НЕ НУЖЕН. ТЕМ БОЛЕЕ ВЕРОЯТНЕЕ ВСЕГО У ТЕБЯ СВОИ РАЗДАЧИ ТО ЕСТЬ КАНАЛ ОТДАЧИ ХУЙНЯ ПОТОМУ ЧТО ДОЛЖНО МНОГО НАРОДА СТОЯТЬ НА РАЗДАЧЕ РАЗДАВАТЬ ДОЛЖНЫ ЛЮДИ А НЕ АДМИН САЙТА. + ЕЩЕ РАЗ, ЗАЧЕМ НУЖЕН ТОРРЕНТ ЕСЛИ В СТИМЕ ИГРЫ ПО 200Г+ ЛЮДИ СКАЧИВАЮТ ЗА 10 МИНУТ, ТВОИ 1-2 ПУСКАЙ 10гб СКАЧИВАЮТСЯ ПРЯМО ИЗ БРАУЗЕРА ПО ПРЯМОЙ ССЫЛКЕ. А ЕЩЕ ЛУЧШЕ НИЧЕГО НЕ КАЧАТЬ, ВСЕ И ТАК В ИНТЕРНЕТЕ ЕСТЬ ОНЛАЙН, ЧАЙ НЕ 2010 ГОД НА ДВОРЕ.
>>331460493 КОМЕРЧЕСКАЯ МОДЕЛЬ КАКАЯ? ТЫ ДУМАЕШЬ ЕСЛИ ЛЮДИ КАЧАЮТ ПИРАТСКИЙ СОФТ ОНИ НА ТВОЕМ САЙТЕ РЕКЛАМУ НЕ ЗАРЕЖУТ? А РЕКЛАМУ БЕЗ СЕО И ГУГЛ АДСЕНСА ТЫ КАКУЮ БУДЕШЬ РАЗМЕЩАТЬ?
>>331460765 > МОЙ САЙТ БЕСПЛАТНЫЙ ХОСТИНГ/ДОМЕН/ДДОС ЗАЩИТУ КТО ОПЛАЧИВАТЬ БУДЕТ? ЭТО НИХУЯ НЕ КОПЕЙКИ ЕСЛИ ТВОЙ САЙТ РЕАЛЬНО ПОДНИМЕТСЯ СЕЙЧАС НА БЕСПЛАТНОМ\НИЩЕМ ХОСТИНКЕ ЕСЛИ ЗАЙДЕТ 30 ЧЕЛОВЕК ТВОЙ САЙТ ЛЯЖЕТ.
Локальная сеть это возможность шифроваться через скрытосети и поддерживать инакомыслие, государевам такое не понравится. При белых списках будешь терпеть на дырявом чмаксе и вкалтакте, где за написанную фамилию Путин с маленькой буквы прибудет к тебе майор
А ТЫ ДУМАЕШЬ ЧТО СЛУЧИЛОСЬ С МОИМ ПРЕДЯДУЩИМ САЙТОМ С АНТИПУТИНСКОЙ ПРОПАГАНДОЙ. И СЛУЧАЙНО ЛИ МОЯ ПАТРИОТИЧЕСКАЯ ИМИДЖБОРДА СОЗДАНА В ДЕНЬ ЧМЕРТИ НАВАЛЬНОГО?
В ЭТОЙ СТРАНЕ ЛЮЧШЕ БЫТЬ ПАТРИОТОМ ЭТОЙ СТРАНЫ! ТАК ЧТО Я ЗА ПУТИНА И ВАМ СОВЕТУЮ.
Понял, нужно автоматически подтверждать входящие заявки в друзья, а не отправлять исходящие. Сделаем скрипт-демон, который раз в заданный интервал проверяет список входящих заявок и принимает их.
Обновлённая архитектура Авторизация – access_token с правами friends.
Получение входящих заявок – метод friends.getRequests (параметр out=0 – входящие).
Подтверждение – friends.add для каждого user_id.
Обработка капчи – если при подтверждении возникает капча, можно временно приостановить работу или вывести ссылку и ждать ручного ввода. В фоновом режиме лучше снизить частоту запросов, чтобы капча не появлялась.
Цикл с паузой – например, каждые 60 секунд проверяем новые заявки.
# Задержка между принятием заявок (чтобы не вызвать капчу) DELAY_BETWEEN_ACCEPTS = 1.0
# ===== ФУНКЦИИ ===== def vk_request(method, params): """Универсальный запрос к VK API.""" params['access_token'] = ACCESS_TOKEN params['v'] = API_VERSION headers = {'User-Agent': USER_AGENT} try: resp = requests.get(f'https://api.vk.com/method/{method}', params=params, headers=headers) data = resp.json() if 'error' in data: err = data['error'] print(f"Ошибка API: {err.get('error_msg', '')} (код {err.get('error_code', '')})") # Если капча if err.get('error_code') == 14: captcha_sid = err.get('captcha_sid') captcha_img = err.get('captcha_img') print(f"Капча! Пройдите по ссылке: {captcha_img}") code = input("Введите код с капчи: ").strip() # Повторяем запрос с капчей params['captcha_sid'] = captcha_sid params['captcha_key'] = code return vk_request(method, params) # рекурсивный повтор return None return data.get('response') except Exception as e: print(f"Ошибка запроса: {e}") return None
def get_incoming_requests(): """Возвращает список user_id, отправивших входящую заявку.""" response = vk_request('friends.getRequests', {'out': 0, 'count': 200}) if response is None: return [] # response может быть списком id или словарём с items (зависит от версии API) if isinstance(response, list): return response elif isinstance(response, dict) and 'items' in response: return response['items'] else: return []
def accept_friend(user_id): """Принимает заявку в друзья.""" resp = vk_request('friends.add', {'user_id': user_id}) if resp in (1, 2): # 1 — заявка принята, 2 — повторная (уже друг) print(f"Пользователь {user_id} добавлен в друзья (код {resp})") return True else: print(f"Не удалось добавить {user_id}, код ответа: {resp}") return False
def main_loop(): """Основной цикл демона.""" print("Скрипт запущен. Ожидание входящих заявок...") try: while True: requests_list = get_incoming_requests() if requests_list: print(f"Найдено входящих заявок: {len(requests_list)}") for uid in requests_list: accept_friend(uid) time.sleep(DELAY_BETWEEN_ACCEPTS) else: print("Новых заявок нет.") # Пауза до следующей проверки time.sleep(CHECK_INTERVAL) except KeyboardInterrupt: print("\nРабота скрипта остановлена пользователем.") sys.exit(0)
if __name__ == '__main__': main_loop() Как запустить на Windows XP Установите Python 3.4 и библиотеку requests (как в предыдущем ответе).
Сохраните скрипт в файл, например vk_friend_acceptor.py.
Замените ACCESS_TOKEN на реальный токен.
Запустите в командной строке:
text python vk_friend_acceptor.py Чтобы скрипт работал в фоне, можно:
Запустить в отдельном окне командной строки и свернуть.
Использовать планировщик задач Windows для запуска при старте системы.
Переименовать в .pyw и запустить через pythonw.exe, тогда окно консоли не появится.
Особенности Капча: если API потребует капчу, скрипт выведет ссылку на картинку в консоль и попросит ввести код. Для полностью фоновой работы без участия человека нужно либо сильно снизить частоту запросов (например, проверять раз в 5–10 минут), либо использовать сервис распознавания капчи (что сложнее и может нарушать правила).
Лимиты: подтверждение входящих заявок обычно не имеет строгих суточных лимитов, но частые запросы могут вызвать временную блокировку или капчу. Пауза между принятиями (1 секунда) и интервал проверки 60 секунд — достаточно щадящие.
Токен: для standalone-приложений токен живёт 24 часа. Если нужно более долгосрочное решение, потребуется автоматическое обновление токена (через рефреш или перелогин). Можно использовать сервисный ключ доступа (service token), но для работы с методами друзей нужен пользовательский токен.
Альтернативный вариант: без Python Если требуется простое решение без программирования, можно воспользоваться расширениями браузера, которые автоматически подтверждают заявки (например, VK Opt, но они не всегда работают в фоне). Однако предложенный скрипт даёт полный контроль.
Важно Автоматическое подтверждение заявок, как правило, не запрещено, но слишком активное использование может вызвать подозрения у антиспам-системы. Используйте на свой страх и риск.
Если возникнут сложности с запуском на Windows XP (например, SSL-сертификаты), добавьте в vk_request параметр verify=False в requests.get(), но это снизит безопасность. Лучше обновить корневые сертификаты или использовать более новую версию Python (на XP максимальная — 3.4).
>>331462166 потому что достаточно поставить на впску за 200 рублей докер с твоими любыми кредами в секрете и запустить любой криптик, как написал анон выше. Виндовс хп не тянет новые версии питона.
вообще удивляюсь что ты не нашла времени изучить кс минимально
Нихрена тупорылая сетка не сделает максимум выдаст негодный код состоящий из ошибок. Как тот дебильный анон недопрограммист который свой неработоспособный питуновый код здесь показывал
>>331461645 >>331463561 Вы смеетесь? Вы что, не читаете айти ВСЕ треды? Там написано, что нейронки уже ВСЕХ заменили. Они даже игры уже умеют делать. Даже знаменитый флаппи берд можно навайбкодить уже давно. Фааа...
# Параметры поиска (фильтры) SEARCH_PARAMS = { 'sex': 1, # 1 - девушки, 2 - парни, 0 - все 'age_from': 18, # Возраст от 'age_to': 25, # Возраст до 'city': 1, # 1 - Москва (0 - не указывать город) 'status': 6, # 6 - в активном поиске (можно убрать) 'has_photo': 1 # 1 - только с фото }
# Лимиты безопасности DAILY_LIMIT = 20 # Сколько заявок отправить за запуск DELAY_BETWEEN = (30, 90) # Задержка между запросами (от 30 до 90 секунд) # =====================================
def auth_vk(): """Авторизация в ВК""" try: vk_session = vk_api.VkApi(token=ACCESS_TOKEN) vk = vk_session.get_api() # Проверяем, что токен работает, запросив данные о себе me = vk.users.get()[0] print(f"✅ Авторизация успешна! Вы вошли как: {me['first_name']} {me['last_name']} (id{me['id']})") return vk, me['id'] except Exception as e: print(f"❌ Ошибка авторизации: {e}") exit(1)
def get_my_friends(vk, user_id): """Получаем список текущих друзей, чтобы не слать заявки тем, кто уже в друзьях""" try: friends = vk.friends.get(user_id=user_id, fields='') return set(friends['items']) # Множество id друзей except ApiError as e: print(f"⚠️ Не удалось получить список друзей: {e}") return set()
def search_users(vk, my_id, friends_set, offset): """ Ищет пользователей по заданным фильтрам. Возвращает список id тех, кто подходит и еще не в друзьях. """ try: # Выполняем поиск result = vk.users.search( q="", # Пустой запрос, ищем по фильтрам sort=0, # 0 - по популярности, 1 - по дате регистрации offset=offset, count=200, # Максимум за раз (200) fields='can_send_friend_request,is_closed', SEARCH_PARAMS )
candidates = [] for user in result['items']: uid = user['id'] # Фильтры: # 1. Не сами себя if uid == my_id: continue # 2. Не друзья if uid in friends_set: continue # 3. Можно ли отправить заявку (не закрыт профиль) # Иногда поле может отсутствовать, если юзер не разрешает if not user.get('can_send_friend_request', True): continue # 4. Проверка на закрытый профиль (is_closed == True) - таким отправить нельзя if user.get('is_closed', False): continue
candidates.append(uid)
return candidates except ApiError as e: print(f"⚠️ Ошибка при поиске: {e}") return []
def send_friend_request(vk, user_id): """Отправляет заявку в друзья""" try: # Параметр follow=0 означает просто отправить заявку, а не подписаться result = vk.friends.add(user_id=user_id, text="", follow=0) if result == 1: print(f"✅ Заявка отправлена пользователю id{user_id}") return True elif result == 2: print(f"🤝 Пользователь id{user_id} сам уже отправил заявку. Заявка одобрена!") return True else: print(f"⚠️ Неизвестный ответ от API для id{user_id}: {result}") return False except ApiError as e: error_code = e.code if error_code == 9: print(f"🚫 FLODD CONTROL! Аккаунт заблокирован на отправку заявок (код 9). Останавливаемся.") return "flood" elif error_code == 14: print(f"🛡️ Капча! (id{user_id}). Требуется ручное вмешательство. Пропускаем.") return False elif error_code == 177: # Невозможно добавить в друзья (пользователь не найден или удален) print(f"👻 Пользователь id{user_id} не найден или удален.") return False elif error_code == 175: print(f"🚫 Невозможно добавить id{user_id}: пользователь в черном списке.") return False else: print(f"❌ Ошибка при добавлении id{user_id}: {e}") return False
def main(): vk, my_id = auth_vk() print("🔄 Получаем список текущих друзей...") friends_set = get_my_friends(vk, my_id) print(f"👥 У вас {len(friends_set)} друзей.")
sent_count = 0 offset = 0 # Сдвиг для поиска
while sent_count < DAILY_LIMIT: print(f"\n🔍 Поиск пользователей (оффсет {offset})...")
if not candidates: print("📭 Новых кандидатов не найдено. Увеличиваем сдвиг.") offset += 200 if offset > 1000: # API позволяет искать только в первых 1000 результатах print("❌ Достигнут лимит поиска (первые 1000). Запустите скрипт позже или измените фильтры.") break time.sleep(5) continue
# Проходим по найденным кандидатам for uid in candidates: if sent_count >= DAILY_LIMIT: break
# Отправляем заявку result = send_friend_request(vk, uid)
if result == "flood": # Если флуд, выходим из скрипта return elif result: sent_count += 1 print(f"📊 Прогресс: {sent_count}/{DAILY_LIMIT}")
# Задержка между заявками (рандомная) if sent_count < DAILY_LIMIT: delay = random.randint(DELAY_BETWEEN[0], DELAY_BETWEEN[1]) print(f"⏳ Ожидание {delay} секунд...") time.sleep(delay)
# Увеличиваем смещение, чтобы искать дальше offset += 200
# Случайная пауза перед следующим блоком поиска if offset % 1000 == 0: print("💤 Делаем большую паузу на 5 минут...") time.sleep(300) else: time.sleep(10)
>>331457788 (OP) ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной ты никогда не станешь женщиной
>>331463861 > читаете айти ВСЕ треды Мы евреи, мы Библию не изучаем, мы ее писали..
Чвйлд, я с 96го года клавиатуру топчу за деньги лопата махать говно кидать, думаешь я не знаю реальных возможностей нейронки, с учетом того что активно их использую?
>Чвйлд, я с 96го года клавиатуру топчу за деньги лопата махать говно кидать, думаешь я не знаю реальных возможностей нейронки, с учетом того что активно их использую?
>>331457788 (OP) какое нахуй впентакле в 3026 веке. половина групп нахуй закрылась, предварительно подчистив контент дабы не словить уголовку.
а самое страшное сука, что администрация после удаления угоняет твою страницу в боты, не меняя при этом креды и фио.
я когда в первый раз свою первую мёртвую страницу увидел - два дня переварить не мог. поскорей бы это днище окончательно загнулось: авось хоть частица наших данных пропадёт оттуда
>>331479155 зачем 128 виртуалок на хп лол, она же дырявая как ведро твоей бабушки что висит позади сарая. Ей вирусни от ботов нахватать как нехуй делать, даже не открывая браузер
>>331478477 сайт коляна написан на коленке на пхп и там хотябы страница выровняна и со стиле, хоть совершенно от балды рыжим цветом, а твой сайт неудобищная поделка, я даже не понимаю хули мне там делать. Кроме того я не понимаю нахуя раскручивать ботами свое говнище, если его просто блокнут за спам, даже если там будут юзеры, то чем им пользоватся то?
АВТОМАТИЗИРОВАТЬ ИНВАЙТ В ДРУЗЬЯ СЛУЧАЙНЫХ ПОЛЬЗОВАТЕЛЕЙ В КОНТАКТЕ.
НА WIN XP. ЛЮБЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ,ЛЮЬЫЕ ПРОГРАММНЫЕ СРЕДСТВА,ЛИШЬ БЫ РАБОТАЛО.
На двоще водится много технически грамотных негуманитаериев.
Монете?
Мимо чебурнет тян