Привет.

Есть несколько смартфонов, где установлена программа SMS Forwarder. Она передаёт входящие смс на указанный http-адрес (urlencoded). Например, http://example.org/sms_in

Скрипт, обрабатывающий эти запросы, может выглядеть так:

#!/usr/bin/env python3

import sys

from urllib import parse

print('Content-Type: text/html\n\nok\n')

data = parse.parse_qs(sys.stdin.read())['msg'][0]

open('/tmp/sms_in_log', 'a').write(data.replace('\n', ' ') + '\n')


Тогда содержание /tmp/sms_in_log будет выглядеть так (после имени отправителя был перевод строки):

From : MyBank 14/03/24 23:47 A/C X-1234 Withdrawal 100.00 Outstanding Balance 1,000

From : rs.ge მოგესალმებით, გთხოვთ გაგვიზიაროთ თქვენი შეხედულება შემოსავლების სამსახურის

From : +79991234567 Привет


И есть скрипт, доступный по адресу http://example.org/show_sms По адресу заходят пользователи и скрипт показывает некоторые смс по фильтру. Он мог бы выглядеть так (weblancer.net съел пробелы):

#!/usr/bin/env python3

for line in open('/tmp/sms_in_log'):

if 'MyBank' in line:

print(line + '<br/>')

В такой реализации смс, полученные на телефон, можно будет посмотреть онлайн. Но реализация плоха: текстовый файл в /tmp, бесконечный лог и показ всех смс, очень грубый фильтр (если в тексте сообщения есть "MyBank", то оно будет показано) и т.п.


Нужно написать эти скрипты более качественно. Вероятно, sqlite, колонки для времени/отправителя/текста. Показ сообщений только за последний, например, час. Фильтрация входящих данных. Если оформите в виде Dockerfile - совсем хорошо. Только Python. Объёмы - несколько десятков смс в день. Дизайн не нужен.


Юзкейс - человек ездит между странами, везде симки и одноразовые пароли для банков/сервисов. Симок штук пять. Будут вставлены в смартфоны, смартфоны передают сообщения в этот скрипт. Потом их можно посмотреть онлайн. Можно дать кому-то пароль от условного Авито, и скопировать скрипт /show_sms , отредактировав фильтр как "отправитель == Авито" или карту с фильтром "текст содержит оплата картой *1234".

В ответе напишите, пожалуйста, сроки, цену и какие-то технические детали, чтобы я видел, что вы понимаете, что собираетесь делать.

год назад
Remoddy
Никита 
34 года
17 лет в сервисе
Был
10 месяцев назад

Выбранный исполнитель

az73
51 год
8 лет в сервисе
Был
2 дня назад
год назад
$50
3 дня
Escrow
Всё быстро, всё работает, общение легкое.
Все отлично прошло. Приятно было работать.

Заявки фрилансеров

az73
51 год
8 лет в сервисе
Был
2 дня назад
год назад
ТОП-5
Прикладное ПО
Андрей
 
39 лет
19 лет в сервисе
Был
37 минут назад
46 отзывов
год назад
Михаил
 
32 года
4 года в сервисе
Был
день назад
25 отзывов(-1)
год назад
ТОП-10
Прикладное ПО