Лучше объяснить на примере. Допустим у вас есть файл в 20 мб.
Http/s
Get /files/file.mp3
и сервер отдает 20 мегабайт. Если произошел обрыв то клиент может послать запрос отдайка мне файл с 10 мегабайта. Проблема в том что не все сервера это поддерживают.
В итоге нагрузка на сервер FileSize * N * 1.5
В случае торрента. Файл бьется на чанки (части), там считается как весь хэш файла, так и хэши частей.
Дальше что происходит.
Seeder разбивает файл на чанки пусть будет по 2 мб.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Lecher 1
скачивает 0 и ставит на загрузку 1
Lecher 2
Опрашивает всех вокруг, мол у кого есть? начинает качать с Lecher 1 чанк 0
Lecher 3
Опрашивает всех вокруг, мол у кого есть? начинает качать с Lecher 2 чанк 1
Так в идеале нагрузка на Seeder будет FileSize.
Все остальное передадут друг другу личи. Поэтому часто можно видеть сообщение не уходите с раздачи. То есть вы скачали файл и если нет сидера, то скачивать будут через вас.
Смотрите в сторону настроек. Там есть что то типа allowinlineeduting . У ячеек по моему есть событие oneditstar ed, oneditend ed, и так далее. Кроме того есть события окончания редактирования строки. По сути вам нужно подписаться на последнее и запихать в датасорс изменённую строку.
Сделайте следующее
Post /api/tempfile url:, passkey
Get /api/tempfile/url/passkey
Del /api/tempfile/url/passkey
Дополнительно можете извращаться с чанками то есть разбить файл на части по 2 мегабайта и смотреть в заголовок contentrange Удаляя части после скачивания
Заказчику не нужен сайт, ему нужно решение. Поэтому обговариваете хостинг, домен и все прочее. В любом случае должен быть документ как это сделать специалисту. Плюс вам какие то деньги. А заказчику меньше головной боли.
Это встроенная фигня называется родительский контроль. Есть прям из коробки. Можно выставит рейтинги по возрасту, ограничение на время, куча другого. Кроме этого есть много программ этой же направленности. Ну и у большой тройки есть геолокация для телефона с алармист если выходит из безопасной зоны