• Find a freelancer
  • Publish project
  • Find a job
  • Українська
  • Русский
  • Polski
  • Deutsch
Login Registration
  1. Freelance projects
  1. Freelance projects

HTTP-Shell repeater

C & C++ — incorrectly specified categories?
6 USD

Клиентская часть программы «HTTP-Shell repeater».

Техническое задание

 Задача программы — установить соединение по схеме №2 с сайтом, при получении в качестве ответа определенной команды, - направить ее командному интерпретатору Shell-а операционной системы linux, как будто эта команда введена через TUI, а результат, возвращаемый командным интерпретатором для TUI, получить и передать исходящим HTTP-запросом на сайт. В результате связка HTTP-сервер + программа-клиент должна предоставить возможность управления linux-компьютером аналогично тому как это делает putty ssh client. При этом управляемый компьютер может находится за несколькими NAT с серым IP адресом и без всяких пробросов портов.

Shell (Оболочка операционной системы)

TUI (Текстовый пользовательский интерфейс)


Схема №1. Стандартная схема соединения HTTP-сервера с программой-клиентом, где (з) — запрос, (о) — ответ.

 1. Отправка текста с командой для shell с помощью запроса от HTTP-сервера к программе-клиенту

(з) [HTTP-сервер] –> [интернет]–> [маршрутизатор–> [NAT]]–> [порт 80]–> [программа-клиент]

 2. Ответ программы-клиента HTTP-серверу (текстовые данные, возвращаемые shell-ом после выполнения)

(о) [HTTP-сервер] <– [интернет]<– [программа-клиент]

 Схема №1 нам не подходит из-за невозможности проброса 80 порта с маршрутизатора на компьютер, в котором находится наша  программа-клиент. Поэтому необходима другая схема - схема №2.


Схема №2. Нестандартная схема соединения HTTP-сервера с программой-клиентом, где (з) — запрос, (о) — ответ.

 1. Каждые 1-2 секунды отправка исходящего запроса к серверу, цель которого получить в ответ текст с командой для shell

(з) [программа-клиент]—>[интернет]—>[HTTP-сервер]

 2. Отправка текста с командой для shell с помощью ответа от HTTP-сервера к программе-клиенту

(о) [программа-клиент]<—[порт 80]<—[маршрутизатор<— [NAT]]<—[интернет]<—[HTTP-сервер]

 3. Ответ программы-клиента HTTP-серверу с помощью отправки HTTP-запроса (текстовые данные, возвращаемые shell-ом после выполнения)

(з) [программа-клиент]—>[интернет]—>[HTTP-сервер]


 Программа-клиент также должна поддерживать все основные linux-системы и запускаться вместе с компьютером в режиме демона (службы/сервиса).

Интервал между запросами должен быть в миллисекундах равен случайному числу между 1000 и 2000, должна быть возможность переключить между плавающим интервалом или точным.

Для того чтобы компьютеры можно было различить между собой программа должна будет передать токен.

 Адрес сервера, токен, интервал между повторами, переключатель точное/случайное число поместить в файле настроек /etc/http-shell_repeater.conf

 Для взаимодействия программы с сервером “HTTP-console” будет предоставлена документация по API.

Proposals 1
Yaroslav Yerstenyuk

Yaroslav Yerstenyuk

Winning proposal
5 0
  • Projects -
  • Rating -
  • Rating 176

Budget: 250 UAH Deadline: 3 days

+

Copy 2 September 2016

Proposals are currently absent

Freelancers are reviewing the task — proposals will appear here soon.
    Add Comment
Loading...
Loading...
Client
Vyacheslav Pospelov
  • Vyacheslav Pospelov
  • Melitopol, Ukraine
  • Projects 1
  • Rating -
  • Rating 87
Publish a similar project
Information
  • Published: 2 September 2016, 17:05
  • Views: 27
  • Freelance projects RSS
  • All freelancers
  • Contests RSS
  • Freelancer works
  • Safe
  • All clients
  • Plus
  • Registration
  • Forgot password?
  • Service status
  • Site map
  • Knowledge base
  • [email protected]
Language
  • Українська
  • Русский
  • Polski
  • Deutsch
We Accept Payments
Visa Mastercard Google Pay Apple Pay PayPal
Language
  • Українська
  • Русский
  • Polski
  • Deutsch
We Accept Payments
Visa Mastercard Google Pay Apple Pay PayPal
We are on social networks
Service Rules Privacy
Made in Ukraine © 2005-2026 v34.312
Menu
Find a freelancer Publish project Find a job
  • Українська
  • Русский
  • Polski
  • Deutsch
    Make a proposal
Loading...
Client
Vyacheslav Pospelov
  • Vyacheslav Pospelov
  • Melitopol, Ukraine
  • Projects 1
  • Rating -
  • Rating 87
Loading...
Information
  • Published: 2 September 2016, 17:05
  • Views: 27
Loading...
Status
Loading...
Loading...