Необходимо написать программу которая должна из предоставленного списка ID пользователей данной социальной сети удалить: -аккаунты в описании которых указано ссылку на сайт; -аккаунты в описании которых указано номер телефона; -аккаунты описание которых ...
Socks5-прокси с расширенным функционалом
Необходимо взять готовое решение socks5-прокси с открытым исходным кодом и доработать до необходимого функционала. А также разработать две небольших программы для взаимодействия с доработанной программой.
===== Основные требования =====
Серверная программа с функционалом socks5-прокси.
Реализация предположительно на базе программы 3proxy socks5.
Программа не должна вносить никаких изменений в систему.
Программа должна представлять собой один исполняемый файл и конфиг-файл. (Мобильность)
Программа в идеале должна простой командой (например, /usr/bin/socks5) запускаться на linux, freebsd системах. Если реально, то и на windows (в виде службы). (Кроссплатформенность)
===== Алгоритм работы доработанной программы =====
(шаг 1) При первом запуске программа обращается к API (API-метод инициализация) и в ответ:
0 (инициализация пройдена);
либо любое друго число - код ошибки (инициализация не пройдена, при повторном запуске происходит повторная инициализация).
(шаг 2) После успешной инициализации программа начинает слушать указанный в конфиг файле порт.
(шаг 3) При попытке подключения программе, происходит запрос логина-пароля (должны настраиваться через конфиг-файл):
если логин = sadmin, программа работает в режиме выполнения команд;
если логин != sadmin, программа работает в режиме socks5-прокси;
в любом случае хеш sha1 пароля должен совпадать с хешем sha1 пароля из конфиг-файла.
(шаг 4) Режим выполнения команд - необходима возможность выполнять стандартные консольные команды от имени пользователя, который запустил программу. Обязательно использование шифрования команд и результатов команд!
(шаг 5) Режим socks5-прокси - стандартный функционал socks5-прокси.
===== Первая дополнительная программа (под linux) =====
Вместе с программой необходимо реализовать API-метод инициализация (программа, которая слушает определенный порт и добавляет запись в базу данных MySQL).
На вход принимает:
-IP-адрес, который слушает программа
-порт, который слушает программа
-идентификатор из конфиг файла
Таблица в базе данных MySQL:
CREATE TABLE `proxies` (
ip BIGINT(20) UNSIGNED NOT NULL,
port INT(11) UNSIGNED NOT NULL,
identity CHAR(40) NOT NULL,
first INT(11) UNSIGNED NOT NULL,
last INT(11) UNSIGNED NOT NULL,
PRIMARY KEY(ip)
) ENGINE = InnoDB;
поле ip - ip-адреса получаемые от mysql-функции вида: INET_ATON('127.0.0.1');
поле port - понятно;
поле identity - идентификатор из конфиг файла;
поля first, last - текущее время в формате TIMESTAMP.
Ошибки:
1 - Некорректный ip-адрес;
2 - Некорретный порт;
3 - Некорректный идентификатор, регулярка: ^[a-f\d]{32}$;
4 - Существующий ip-адрес в базе (при получении ошибки от mysql типа ~"дублирующееся поле ip" происходит вызов сторонней программы и повторная попытка записи в базу в случае неудачи, которой возвращается ошибка);
===== Вторая программа дополнительная программа (под linux) =====
Необходимо реализовать интерфейс для работы в режиме выполнения команд.
Эта программа запускается примерно так: /usr/bin/interface ip-адрес порт
Логин sadmin подставляется автоматически, а пароль берется из конфиг файла (для данной программы!).
Визуально не должно отличаться от обычной SSH-консоли.
===== Примерный конфиг файл =====
[main]
api = 8.8.8.8:43021;
identity = sha1('secret key');
[users]
sadmin = sha1('password-sadmin');
user1 = sha1('password-user1');
...
usern = sha1('password-usern');
Заявки фрилансеров
Похожие заказы
- Прикладное ПО4 заявкиЗакрыт10 лет назад
- $50
Не имею опыт работы с Git, необходимо добавить сеть публичных проектов на GitHub и 1 приватный проект на bitbucket Необходим человек, который поможет наладить инфраструктуру и научит пользоваться TortoiseGit и стандартным агентом GitHub ...
Прикладное ПО1 заявкаЗакрыт10 лет назад Написание ПО(или же доп. настроек браузера) для автоматического проставления ставок на спортивные события в различных букмекерских конторах(БК). Информацию о спортивном событии, размере ставки, букмекерской конторе выдает уже существующий сервис, с собственным встроенным браузером. ...
Прикладное ПО2 заявкиЗакрыт10 лет назадНужен исходник простого проекта, который делает следующее: при нажатии заданного нами клавиатурного сокращения копирует выделенный текст из приложения, которое сейчас является активным, и вставляет скопированный текст в контрол нашего приложения (выводя при этом наше приложение ...
Прикладное ПО6 заявокЗакрыт10 лет назадНеобходимо создать сортировщик списка улиц. Есть список улиц, каждой улице нужно привязать вес (значение). Когда мы вводим названия этих улиц в разбросанном порядке, программа должна их отсортировать по весу (значению).
Прикладное ПО1 исполнительЗакрыт10 лет назад- $200
И так суть программы, я указываю диапазон или список диапазонов IP адресов, программа ищет по диапазону IP адреса на 22 порт. При нахождение такового, выполняет определенные действия с ним, они описаны в прикрепленном тех задании. ...
Прикладное ПО5 заявокЗакрыт10 лет назад - $70
Есть модули на Delphi, которые получают cookies из всех известных браузеров - Google Chrome, Firefox и т.п. Но они устарели и на данный момент не работают. Необходимо обновить их, под современные версии данных браузеров. ...
Прикладное ПО3 заявкиЗакрыт10 лет назад Добрый день! есть анкеты, они в ворде, нужно их либо перевести в excel, что бы можно было формулами информацию вставлять, либо предлагайте варианты. на первой странице пишем необходимую информацию, а дальше ...
Прикладное ПО10 заявокЗакрыт10 лет назад