2222

Децентрализованный музыкальный проигрыватель

Всем привет. Хочу рассказать о проекте, над которым работаю в свободное время. Назвал я его «Патефон» и это полностью децентрализованный, распределённый, безсерверный, p2p музыкальный проигрыватель. Вот так выглядит актуальная версия программы:

Децентрализованный музыкальный проигрыватель

Обмен альбомами происходит напрямую между пользователями. Как только кто-то расшаривает альбом, приложение тут же начинает рассылать его остальным участникам сети. При этом рассылается не сама музыка, а только её метаинформация: название альбома / артиста, треклист, уникальные хэш-суммы обложек и аудио-файлов.


Сами файлы композиций будут скачаны только в том случае, если вы добавите соответствующие треки в плейлист. Таким образом каждый участник сети хранит и раздаёт только ту музыку, которую слушает сам. При этом доступность и скорость скачивания музыки напрямую зависит от количества раздающих её пользователей (как в торрентах).


P2P-системы известны своей устойчивостью к цензуре, блокировкам и региональным ограничениям. «Патефон» не исключение, поэтому будет работать хоть за Великим Китайским Фаерволом, хоть в КНДР, хоть на Марсе (наверное, не проверял).


Кроме того, если пользователю отключат интернет, он всё ещё сможет пользоваться приложением в своей домашней сети чтобы, например, слушать на ноутбуке музыку, расшаренную со стационарного PC.


Всё описанное выше доступно в актуальной версии приложения. Дальше я расскажу о запланированных нововведениях.


«Отложенный поиск» даст возможность создавать поисковые запросы, которые будут работать в фоне до тех пор, пока не появятся необходимые результаты. Как только это случится, пользователь получит уведомление и сможет незамедлительно приступить к прослушиванию. Пригодится для случаев, когда интересующий пользователся альбом ещё не вышел а пропустить не хочется.


Персональная фонотека - ещё одна из первостепенных задач. Пользователь сможет формировать коллекцию любимых альбомов. Такие альбомы будут загружаться на устройство пользователя в обязательном порядке и будут доступны для прослушивания в оффлайне. Также персональную фонотеку можно будет синхронизировать между устройствами при помощи Google Drive.


Настоящая версия «Патефона» является десктопным приложением, что с одной стороны обеспечивает автономность, с другой - не совсем удобно из-за необходимости установки и обновления программы вручную. По этой причине в планах разработать веб-версию проигрывателя с поддержкой мобильных устройств.


Кроме того, есть планы на «безголовую» версию приложения, которую можно будет запустить на домашнем медиасервере и подключаться к ней с остальных устройств через браузер. Если вы пользуетесь Plex, то знаете, насколько это удобно.


А теперь о недостатках:


- Скорость скачивания и музыкальное разнообразие растёт вместе с количеством пользователей, поэтому на ранних этапах будут проблемы и с тем и с другим.


- Каждый раз, когда вы расшарите альбом, он будет скопирован в специальную папку. Таким образом на каждый гигабайт опубликованной музыки будет занят ещё один гигабайт. Но это не навсегда.


- «Патефон» не обеспечивает анонимности пользователя. Не составит большого труда посмотреть, что вы раздаёте, и «вычислить вас по IP».


- Приложение всё ещё на ранней стадии развития, так что если словите баг - не удивляйтесь а смело репортите issue на GitHub.


- - - - - - - - - - - - - - -


Вот и всё. Если проект вас заинтересовал, то добро пожаловать на:


Сайт приложения

Твиттер

GitHub


Актуальные версии программы доступны как на сайте, так и на GitHub. Есть сборки для Mac, Linux и Windows.


- - - - - - - - - - - - - - -


Технические детали


«Патефон» использует современный протокол распределённого обмена данными IPFS («МежПланетарная Файловая Система»). Если вы смотрели «Кремниевую долину», то что-то очень похожее разрабатывают главные герои последние два сезона.


Само приложение написано на Electron.js — популярном кроссплатформенном фреймворке для создания десктопных приложений при помощи стандартных веб-технологий.


Спасибо за внимание! Отдельная благодарность @DEgITx за помощь в разработке и подготовке статьи к публикации.

87
Автор поста оценил этот комментарий

пегий дудочник

раскрыть ветку (1)
96
Автор поста оценил этот комментарий

ну а hooli

показать ответы
189
Автор поста оценил этот комментарий

Будет как с ВК, пользователи начнут выкладывать музыку в низком качестве или говноремиксы, в итоге перед тем как найти нужную песню придется перерыть тонны говен. Да и в платных сервисах лично мне нравятся подборки и режим радио на основании твоего вкуса, можно много интересных исполнителей найти о которых ты возможно никогда бы не услышал. Искать по названию это уже не актуально имхо

раскрыть ветку (1)
26
Автор поста оценил этот комментарий

Радио в планах есть, как и анализ предпочтений пользователя. Это не сложно сделать.


На качество контента влиять можно, и вариантов довольно много. Какие из них будут работать ещё предстоит узнать. Для начала надо базу активных пользователей набрать.

показать ответы
49
Автор поста оценил этот комментарий

Надо замутить фильтры поиска - например, искать композиции только с битрейтом не ниже 256 кб/с, чтобы отсеять низкое качество. Также можно прикрутить популярность файла - чем у большего количества юзеров, тем выше в поиске.

раскрыть ветку (1)
18
Автор поста оценил этот комментарий

Было до 1.4 версии, пока убрал по техническим причинам. К тому же не защищает от апконвертов.

показать ответы
12
Автор поста оценил этот комментарий
Постойте, есть же DC++ , который работает аналогичным образом, разве нет?
раскрыть ветку (1)
16
Автор поста оценил этот комментарий

Последний раз, когда я пользовался DC++, пользователи находили друг друга при помощи хабов. Потом уже по p2p обменивались кусками файлов.

показать ответы
23
Автор поста оценил этот комментарий

А откуда изначально берется музыка? Грузят пользователи? Ну тогда здравствуй, 10 версий одного трека, отличающихся частотой, обложкой, символом в названии или еще чем-то подобном.

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

План пока такой:


- пойманные альбомы формируют кэш-ленту ограниченных размеров (сейчас 50 000), она регулярно обновляется (вкладка Discover)

- из этого кэша пользователь будет доставать то, что его интересует в коллекцию любимых альбомов

- при добавлении альбомов в любимое все данные в обязательном порядке скачиваются, проверяются на адекватность каким-нибудь musicbrainz... в общем, проходят серию простых тестов

- в какой-то момент патефон плавно меняет пропорции рассылки альбомов: начинает рассылать реже из кэша, чаще из "любимых"

- пространство данных будет постепенно оздаравливаться при условии, что большинство пользователей пользуются им без злого умысла и не флудят специально мусором


Есть альтернативные предложения или дополнения - смело предлагаейте.

показать ответы
3
Автор поста оценил этот комментарий

Поддержка ласт.фм планируется?

раскрыть ветку (1)
7
Автор поста оценил этот комментарий

Можно. Почему бы и нет.

показать ответы
10
Автор поста оценил этот комментарий
P2P-системы известны своей устойчивостью к цензуре, блокировкам и региональным ограничениям.

при этом прекрасно показывают источник шары

«Патефон» не исключение, поэтому будет работать хоть за Великим Китайским Фаерволом, хоть в КНДР, хоть на Марсе (наверное, не проверял).

верим в чудеса. и в то что в китае лохи делали защиту

P/s

поиск как я понимают тоже по названиям ? тогда что мешает как и раньше в ослике порно и ли иные фалы шарить под другими названиями

ну к примеру альбом тимати назвать кругом,высоцким или иным исполнителем ?

вить не кто не будет удалять такой бред  из сети

раскрыть ветку (1)
7
Автор поста оценил этот комментарий

p2p трафик по Китаю вроде как хорошо ходит.


Флудить в распределённых системах ничто никому не мешает, на то они и распределённые. Варианты как с этим бороться есть.


Например, раздавать только альбомы, добавленные в персональную коллекцию. Это дополнительный уровень проверки контента пользователем.

показать ответы
3
Автор поста оценил этот комментарий

а почему бы шифрование не добавить?

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

У команды IPFS есть в планах поддержка транспортов tor и i2p. https://github.com/ipfs/ipfs/blob/master/ROADMAP-TO-1.0.0.md (там, где libp2p). Сам я в этом не шарю.

показать ответы
Автор поста оценил этот комментарий
По идее, теоретически (не знаю, не программист) можно прикрутить верификацию файла через системы распознавания песен типа "ок, гугл, что играет", если такие сервисы имеют api для сторонних программ. Не спасёт от плохого качества, но спасёт от фальшивок.
А рекомендации могут быть через api того же ластфм или его аналогов
Повторюсь, не программист, не знаю, насколько это легко реализуемо
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Есть такая база, musicbrainz называется. У них ещё прога есть Picard, которая автоматом теги проставляет.


Попробую, но боюсь за производительность.

показать ответы
7
DELETED
Автор поста оценил этот комментарий
Что то Napster напомнило. А его вполне успешно прикрыли.
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Насколько я знаю, Napster не был полностью p2p. Там только файлы напрямую передавались, коррдинация была централизованной.

показать ответы
5
Автор поста оценил этот комментарий
Касательно шаринга - а разве не удастся хранить саму музыку в той папке, которая является "дублирующей"?
Просто, как пример, 100гб металла у меня есть, которыми я готов делиться.
А вот ещё 100 - уже физически нет.
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

IPFS хранит данные по кускам внутри специальной папки. Работать с ними нормально не получится.

показать ответы
2
Автор поста оценил этот комментарий

А есть какие-то децентрализованные средства получения информации о пирах? К примеру, раздача адресов известных пиров вместе с метаинформацией об альбомах, или что-то вроде того?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Так оно примерно уже и работает.


Когда IPFS на вашем компе стартует, он связывается со специальным сервером, у которого забирает список актуальных пиров, а так же просит добавить ваш комп в этот список. После этого он берёт этот список и стучится по всем указанным там адресам, те в свою очередь отдают ему свои списки пиров. Таким образом обновляется и поддерживается карта сети.


Информация характерная для конкретного приложения распространяется уже поверх этой карты. Вместе с адресами известных участников IPFS-ноды постоянно раздают два списка: список данных, которые вы хотите отдать, и список данных, которые у вас уже есть. И дальше всё работает как рынок.

показать ответы
0
Автор поста оценил этот комментарий

Вот бы больше технических подробностей насыпать. А может даже статью на хабре.

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

https://habr.com/post/344410/


Вторая часть на подходе.

1
Автор поста оценил этот комментарий

То есть это торрент для музыки, но чем плох просто торрент?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Торрент: хочу музло - иду на сайт - ищу музло - кликаю магнитку - открывается приложение - качается - скачалось - открываю папку - открываю папку в плеерере - слушаю. Много кликов плюс цепочка действий завязана на центральизованный ресурс (торрент-каталог типа рутора).


Патефон: хочу музло - открываю патефон - ищу музло - кликаю играть - слушаю.


По крайней мере к этому я стремлюсь. Вдохновил меня Google Music, на который я пересел года четыре назад и до сих пор не слажу только потому, что в плюс-минус два клика могу начать слушать то, что захочу на любом подручном устройстве.

2
Автор поста оценил этот комментарий
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Значит умеет, kademlia входит в libp2p.

4
Автор поста оценил этот комментарий

в смысле как повезет? какой-то синхронизации с метаданными, которые раздаются - нет? и можно так годами сидеть-висеть тупо с одним своим альбомом?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Синхронизация есть, постоянного источника есть. Если во всём итнернете всего два патефона, то да, можно и годами просидеть без результата.

показать ответы
0
Автор поста оценил этот комментарий

нифига не решается IPFS-GET-INFO: NON-ZERO EXIT CODE 1 WHILE RUNNING: C:\USERS\DMI\APPDATA\LOCAL\PROGRAMS\PATHEPHONE-DESKTOP\RESOURCES\APP.ASAR\NODE_MODULES\SUBCOMANDANTE\SUBCOM 740 C:\USERS\DMI\APPDATA\LOCAL\PROGRAMS\PATHEPHONE-DESKTOP\RESOURCES/GO-IPFS/IPFS.EXE DAEMON --ENABLE-PUBSUB-EXPERIMENT ERROR: SERVEHTTPGATEWAY: MANET.LISTEN(/IP4/127.0.0.1/TCP/8080) FAILED: LISTEN TCP4 127.0.0.1:8080: BIND: AN ATTEMPT WAS MADE TO ACCESS A SOCKET IN A WAY FORBIDDEN BY ITS ACCESS PERMISSIONS.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Решится не сама собой, а патчем)

10
Автор поста оценил этот комментарий

спасибо что без блокчейна

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

я старался)

3
Автор поста оценил этот комментарий

А это от чего-то зависит? Я далеко не эксперт в p2p, объясните, как происходит поиск раздающих?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Я тоже далеко не эксперт в p2p. В общих чертах нашим устройствам нужно оказаться в одном рое, чтобы иметь возможность общаться друг с другом. Случится это или нет - зависит от топологии сети, настроек моего и Вашего роутеров и черт знает чего ещё.


p2p-сети образуются труднопредсказуемыми пузырями, которые регулярно меняют свою структуру и не обязательно соприкасаются друг с другом.

показать ответы
1
Автор поста оценил этот комментарий

А мобильные версии приложения планируются? Со встроенным плеером, преферансом и куртизанками? Или только адаптивная веб-версия?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Нативные приложения и затратно, и я в них не умею. Progressive Web App кажется оптимальнее по всем параметрам.

показать ответы
1
DELETED
Автор поста оценил этот комментарий

Объясните плиз, а то я не понял, чем оно лучше того же Spotify?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Без проблем. Оно работает в моей стране.

показать ответы
1
Автор поста оценил этот комментарий

Запустил, в альбомах пусто. Можно сделать какой-нибудь лоадер, сколько клиентов подключено, сколько композиций и вообще отобразить процесс поиска?

Добавил свой альбом, нигде не отображается как [моё]. Поискал его же в поиске, включил. Он думает, видимо качается. Как мне проиграть музыку со своего компа?

Короче такие мелкие недостатки надо исправлять в угоду пользователям в ближайшем будущем.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Вышла 2.0.2. Невозможность слушать локальную музыку должна быть исправлена.

4
DELETED
Автор поста оценил этот комментарий

Автор, мое почтение! Возникло несколько вопросов.
1) Почему копируется контент? Какая в этом техническая необходимость?
2) Как формируется база данных по музыке? Используется ли picard? Или же по тегам? Или по названиям файлов?

3) Если я захочу написать альтернативный клиент на Java или C++/Qt, или же вообще под андроид, могу ли я использовать какое-либо api?

Я меломан и любимые группы выкачиваю целиком, скачанное прогоняю через picard, строго слежу за единообразием в файловой системе и тегах. Пытаюсь понять чем мне может быть полезен проект, или я проекту.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
1) Особенность работы IPFS-репозитория, точнее не скажу.

2) Теги из файлов.

3) Пока нет. В планах выделить "безголовый" демон для серверов.

1
Автор поста оценил этот комментарий

Мне очень понравилась ваша идея. Мне как раз чего-то подобного недостает сейчас.

Рекомендую обратить внимание на сайт rateyourmusic.com
Там можно брать подробную метаинформацию об исполнителях и релизах. Это по-моему самый популярный сайт по этой теме. Его по принципу вики сами пользователи заполняют данными, голосуют за жанры, теги. Система жанров там самая адекватная, как по мне, иерархическая. Проверил по своей любимой группе, на RYM голосов за жанр в сто раз больше, чем на musicbrainz. Сравните сами: https://musicbrainz.org/release-group/44818c20-67ee-37d2-a8b...
https://rateyourmusic.com/release/album/autechre/amber/ (нажать vote on genres, правда, нужен аккаунт). 
Ну еще оценочки было бы круто видеть сразу в приложении.
А если в программе будет API, то я бы запилил интеграцию c RYM. Типа послушал альбом и он автоматически добавился в мой личный каталог на RYM. А то с таким объёмом прослушанного я тупо забываю ставить оценки, а они нужны мне для рекомендаций и поиска "единомышленников". Это как раз то, чего мне сильно не хватает в гугломузыке.
Еще сейчас они разрабатывают новый сайт, в которой будет API.
Пока он в версии beta 4.
Продемонстрирую его сразу ссылкой на этот же альбом:
https://sonemic.com/release/album/autechre/amber/
Обратите внимание на то, как теги сгруппированы по категориям:

Atmosphere

Mysterious Cold Mechanical Futuristic

Style

Atmospheric Repetitive Rhythmic


Form

Instrumental

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
А вот это может пригодиться, спасибо.
показать ответы
0
Автор поста оценил этот комментарий

Не нашёл куда дублируютя файлы..Где искать эту специальную папку?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Windows: c:\Users\%USERNAME%\AppData\Roaming\Pathephone

Linux: ~/.config/Pathephone

Mac: ~/Library/Application Support/Pathephone


папка называется ipfsRepo

показать ответы
0
Автор поста оценил этот комментарий
со специальным сервером,

достаточно положить этот айпи сервера и всё ? сети больше не будет

а вычислить его особого труда не составит

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Нет, просто вместо пары секунд потребуется пара минут чтобы найти других пиров. Читайте вот эту ветку #comment_117494436

2
Автор поста оценил этот комментарий

например, да, так. Лавинными запросами "ты свой?". И каждая встреченная отдает после коннекта все известные другие

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Может IPFS так тоже умеет, не интересовался.

показать ответы
2
Автор поста оценил этот комментарий
Скачал установил, сперва список был пуст, добавил 1 свою папку, нажал сохранить, никакой реакции, перешёл в поиск, 160 альбомов, попытался послушать, не скачалось ничего, ждал ждал, попробовал другой альбом, ждал ждал скачку, полоска загрузки долго крутилась на месте и так ничего и не скачалось ( печаль беда
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да, работы прилично.

2
Автор поста оценил этот комментарий

нет. Только при наличии управляющего сервера, а он есть далеко не всегда

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

И как ноды находят друг друга? Перебором ip?

показать ответы
2
Автор поста оценил этот комментарий

в заголовке поста, в другой форме.

это не децентрализованная сеть.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ну тогда ни одна сеть, которая использует DHT, не является децентрализованной.

показать ответы
2
Автор поста оценил этот комментарий

таки сервак таки есть. Именно его вы назвали децентрализатором?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

А где я это слово использовал?

показать ответы
1
Автор поста оценил этот комментарий

ну, если 2 источника, то мы просто обязаны обменяться метаданными. если 101 источник - я должен получить метаданные от 100 источников - нет?


если нет - вот главный вопрос, по важности наравне с анонимностью (имхо, даже важнее, т.к. существуют легальные к распространению композиции, которые в данной сети нельзя найти "потому что не повезло").

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Не обязаны. В p2p сетях участники не знают друг о друге заранее, связи устанавливаются опосредованно.


Это не является в случае патефона проблемой, потому что цель сети в распределении информации среди большого количества участников, чтобы не было важно "у кого" а имело значение только "что" ты хочешь скачать. Успешный "точечный" обмен здесь не важен.

0
Автор поста оценил этот комментарий

Если бы была приложуха на андроид было бы удобно) планируешь?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Именно нативное приложение делать не планирую. PWA приложение в планах есть.

показать ответы
1
Автор поста оценил этот комментарий

Мммм криптовалюты. Имхо, но фича ради фичи - ненужное излишество. Попкорнтайму как-то не особо понадобилась интеграция с криптовалютами.

Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Каюсь, больше хайпа ради. Конкретных планов пока нет.

показать ответы
0
Автор поста оценил этот комментарий

Залез в гитхаб и увидел что проект на js и css. Очень удивился, что десктопное приложение на таких технологиях. Не подскажите, как это сделано? Просто хочу тоже сваять что то типа простенького менеджера фоток под линь, но технологию не выбрал.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Эта магия называется Electron.js

показать ответы
0
Автор поста оценил этот комментарий

IPFS-GET-INFO: NON-ZERO EXIT CODE 1 WHILE RUNNING: C:\USERS\USERNAME\APPDATA\LOCAL\PROGRAMS\PATHEPHONE-DESKTOP\RESOURCES\APP.ASAR\NODE_MODULES\SUBCOMANDANTE\SUBCOM 15208 C:\USERS\USERNAME\APPDATA\LOCAL\PROGRAMS\PATHEPHONE-DESKTOP\RESOURCES/GO-IPFS/IPFS.EXE DAEMON --ENABLE-PUBSUB-EXPERIMENT ERROR: SERVEHTTPGATEWAY: MANET.LISTEN(/IP4/127.0.0.1/TCP/8080) FAILED: LISTEN TCP4 127.0.0.1:8080: BIND: ONLY ONE USAGE OF EACH SOCKET ADDRESS (PROTOCOL/NETWORK ADDRESS/PORT) IS NORMALLY PERMITTED.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да, есть такая проблема. Думаю, в скором времени решится.

показать ответы
7
Автор поста оценил этот комментарий

Не сочти за оскорбление/неуважение к твоей работе(хотя она очень даже хороша), но бОльшую популярность и аудиторию ты получишь с пользователей мобильных телефонов

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

С пользователей мобильных телефонов - да. Но для этого не обязательно делать нативное приложение. PWA как раз даёт возможность зайти на сайт и одним кликом добавить приложение на главный экран, после чего оно будет работать как нативное.

показать ответы
4
Автор поста оценил этот комментарий

Каждый раз, когда вы расшарите альбом, он будет скопирован в специальную папку. Таким образом на каждый гигабайт опубликованной музыки будет занят ещё один гигабайт. Но это не навсегда.


А вот это расстроило - не очень рационально как-то получается...есть у меня терабайтнчек с музыкой и видео, забитый под завязку и что, теперь еще один диск вешать в систему, что бы люди могли качать...не наш метод, однако.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Согласен, неудобно.

показать ответы
0
Автор поста оценил этот комментарий

Не возникала ли мысль как-то переиспользовать то, что уже залито на рутрекер?
Мне кажется, что малое кол-во доступной музыки отпугивает новых пользователей.
А на рутрекере обычно и теги правильно проставлены.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Все варианты как-то подстегнуть развитие экосистемы сводятся к поднятию круглосуточного сервака, который будет раздавать какой-то объём музыки. А музыку эту, да, можно выкачивать с рутрекера скриптом, но это уже детали.


Мне такая идея не нравится по ряду причин, главные из которых это затратность и компрометация идеи децентрализации. Но полностью исключать вариант тоже не буду.

0
Автор поста оценил этот комментарий

@negamaxi целесообразнее будет добавить альтернативный шлюз для ipfs. Простой прокси просто не особо нужен - даст тот же самый эффект. Вот если говорить об какой-то обфускации - то да, тут есть смысл) но у автора роадмап такой, что криптосвистелки будут в самом конце.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А можно уточнить, что подразумевается под обфускацией?

показать ответы
0
Автор поста оценил этот комментарий

Так а как он ищет другие плееры? Вот я сижу за NATом дома. В локалке у меня ком и ноут, приложение ставлю впервые, как он найдет хотя бы один первый хост для обмена?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Насколько я понимаю, при помощи вот этого https://ru.bmstu.wiki/NAT_Traversal_(Network_Address_Transla....


Если интересуют технические детали, то вот библиотека, отвечающая за маршрутизацию в IPFS https://libp2p.io/.

0
Автор поста оценил этот комментарий

У меня небольшие подозрения. Ну тоесть окей я скидываю альбом скажем группы Zнаки. Получается у меня 2 альбома ага... Тоесть 1 остаётся мне для личного пользования, а второй потоково уходит в интернет. Когда я уходя на работу выключаю компуктер все кто слушал этот альбом перестают его слушать и в теории его даже найти нельзя, ага... Я сейчас пользуюсь яндекс музыкой у меня там ещё подписки на пол года. (успел по старой цене взять когда они не ввели свои "Яндекс сервисы"... Фишка не в этом... Что у меня есть. Тоесть приложение на win 10 в котором интегрируется мой плэй лист с web мордочным интерфейсом... Отсутствие рекламы. HD звук... Возможность сделать "соавтора" плэйлиста. Тоесть я могу расшарить человеку свой плэйлист чтобы он не только слушал но и добавлял туда песни. Просто расшарить свой плэйлист по ссылке чтобы другие слушали.... Ну как бэ при этом можно не опасаться что в какой-то момент меня накроют дядьки и скажу "Слыш пацанчик мы тебя по айпи вычислили".... Как бы в этом моменте я ничего не нарушаю и у них есть возможность "скачать" песни... Как это выглядит... Песни улетают в кэш... Тоесть не в прямом смысле тебе качаются в mp3 формате а заготовка под песню... Дальше даже при отсутствии интернета есть возможность слушать эту музыку...

   И как бы я слушаю музыку с детства и действительно ищу разные варианты прослушивания, но пока мне сложно понять как это будет работать... Хорошо предположим есть условный альбом как я писал выше зеленаграда я решил его послушать, он мне априори скачивается в двух вариантах чтобы слушать и раздавать дальше? 

   Извините я пока не могу так прям сразу понять что это такое... После работы посмотрю повнимательнее.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Удалённые альбомы слушаются без дублирования. Это как кэш в браузере. Послушали - забыли, со временем само удалится. Альбомы, которые пользователь сам публикует - да, копируются в эту кэш-папку и, следовательно, занимают дополнительное место.

0
Автор поста оценил этот комментарий
Я совсем глупый и не разбираюсь в таких сложностях, но мне стало очень интересно - будет ли это портировано на мобильные платформы? Или уже есть такие плееры?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Мобильная версия в виде сайта есть в планах. Насколько это будет полноценное самодостаточное приложение - вопрос. У мобильных устройств вопрос энергопотребления и прожорливости намного блее критичный.

0
Автор поста оценил этот комментарий

Не совсем понял откуда при первом плеер знает где качать метаданные? Или что-то все же не децентрализовано?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

При первом запуске плеер ищет другие плееры, после чего они начинают обмениваться списками альбомов.

показать ответы
0
Автор поста оценил этот комментарий
Автор, респект и зачёт тебе.
Вопрос, про Tribler слышал?)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Теперь да)

показать ответы
0
Автор поста оценил этот комментарий

Не крутит шарманка! Девелоперы криворукие видать:

скрин https://screencast.com/t/d9WygWA4n9sn

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Да. Зарелизил 2.0.2, должно быть исправлено.

1
Автор поста оценил этот комментарий

Я сломал

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Зарелизил 2.0.2. Там эта ошибка должна быть исправлена.

0
Автор поста оценил этот комментарий

IPFS-GET-INFO: NON-ZERO EXIT CODE 1 WHILE RUNNING: C:\USERS\USERNAME\APPDATA\LOCAL\PROGRAMS\PATHEPHONE-DESKTOP\RESOURCES\APP.ASAR\NODE_MODULES\SUBCOMANDANTE\SUBCOM 15208 C:\USERS\USERNAME\APPDATA\LOCAL\PROGRAMS\PATHEPHONE-DESKTOP\RESOURCES/GO-IPFS/IPFS.EXE DAEMON --ENABLE-PUBSUB-EXPERIMENT ERROR: SERVEHTTPGATEWAY: MANET.LISTEN(/IP4/127.0.0.1/TCP/8080) FAILED: LISTEN TCP4 127.0.0.1:8080: BIND: ONLY ONE USAGE OF EACH SOCKET ADDRESS (PROTOCOL/NETWORK ADDRESS/PORT) IS NORMALLY PERMITTED.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В версии 2.0.2 исправлено. Может работать с занятым 8080.

4
Автор поста оценил этот комментарий

У go-ipfs в консоли для команды add есть флаг --nocopy который позволяет не копировать данные в репозитарий. Только нужно в конфиге включить:

ipfs config --json Experimental.FilestoreEnabled true


А ещё --chunker=rabin самое то для mp3

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В консоли есть, в js-api ещё не привезли (пулл реквест висит). Надо будет костыль делать.

0
Автор поста оценил этот комментарий
а не легче ли в данные папки кидать "ссыль" на реальное местонахождение?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не легче, но можно. Попробую реализовать.

0
Автор поста оценил этот комментарий

то бишь её не переназначить?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Сейчас такой возможности нет. В ближайшее время добавлю.

0
Автор поста оценил этот комментарий

Выглядит здорово.
А почему не ts?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Если речь про typescript то я с ним дела пока не имел. В планах есть попробовать Flow, но пока ещё точно не решил.

0
Автор поста оценил этот комментарий

Может я не прав, если так, прошу поправить, но возникает несколько вопросов:

1) Имеет ли смысл для такого проекта делать кроссплатформенную оболочку, не лучше ли будет сделать ядро с нормальным API? Оболочки, мне кажется, лучше делать нативными.

2) Не знаю подробностей IPFS, нельзя ли сделать не копиями файлов, а ссылками?

3) Без анонимности в наших реалиях никуда, может в России еще как-нибудь получится, но в Европе/Штатах быстро покарают за раздачу пиратского контента. Как минимум поддержку прокси было бы неплохо добавить.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
1) Здравая мысль. В планах разбить приложение на автономные модули.

2) Можно. Будет сделано.

3) У команды IPFS в планах добавить поддержку tor и i2p транспортов.

Автор поста оценил этот комментарий

@moderator,  баян. Причём старый. На хабре был пост с аналогичным содержанием. Если ТС реально автор, то он должен об этом знать.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я автор того поста на хабре. По содержанию - две разные статьи.
показать ответы
0
Автор поста оценил этот комментарий

А ограничение по количеству треков в альбоме есть? Пытаюсь залить 131, пишет вот так

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Да, сейчас ограничено 100. Сделаю нормальное сообщение.
1
DELETED
Автор поста оценил этот комментарий

К слову, попытался загрузить свои 21гб в вашу прогу , так она начала жрать оперативку в геометричекской прогрессии пока не сожрала всю доступную(умдурилась даже хром обогнать и уронить). К тому же написал название альбома и нажав "TAB" словил 100 нагрузку проца и в итоге краш всей системы. Чота люто как по мне, но может это все таки из за 21гб музыки

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо за инфу, потестирую.

1
Автор поста оценил этот комментарий

@negamaxi

Если вы можете, постарайтесь добавить возможность чтения  .cue

И вообще в этот плеер .flac есть смысл заливать или он слишком много весит?

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Заливать можно любой формат, который понимает браузер. Над .cue подумаю.

показать ответы
0
Автор поста оценил этот комментарий

ключевой тут пока ? типа пока наберем аудиторию ?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А как большая аудитория поможет с криптой? Cryptocurrencies integration подразумевала кошельки всякие для доната артистам и всё такое.

0
DELETED
Автор поста оценил этот комментарий

Если отталкиваться от того, что вам помогал наш Капитан, то я так понимаю, что ваша программа будет долбиться в роутер без возможности пробиться и получить полную скорость(Тобишь порты открыть роутера не сможет), верно?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

За обнаружение и обмен данными в патефоне отвечает IPFS с дефолтным конфигом. У Капитана что-то своё, если речь про торрент-поисковик. Больше ничего сказать не могу, потому что сам не шарю в этой теме.

показать ответы
1
Автор поста оценил этот комментарий
Мне всегда было интересно, как такая программа находит другие компьютеры с этой программой, что бы скачать или поделиться обложкой, есть какой то центральный сервер?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Центральный сервер (на самом деле их несколько) есть на очень низком уровне. Они позволяют быстро получить список других пользователей и больше ни в чём не участвуют. Почитайте про p2p сети, DHT, ну или вот мой коммент для общего представления #comment_117494436 .

0
Автор поста оценил этот комментарий

а для тех кто не "на ты" с кодингом?)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну нативные приложения это которые из маркета ставятся, PWA - это просто веб сайт у которого своя кнопка в меню андроида и который умеет работать в оффлайне.

0
DELETED
Автор поста оценил этот комментарий

А система плагинов присутствует, можно ли воять свои?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Нет и планов таких пока не имею.

0
DELETED
Автор поста оценил этот комментарий

Интересно, а как будет происходить выставление тегов к композициям, ведь в одной и той же песни может быть по-разному написано название альбома?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Сейчас теги берутся из файлов и проставляются автоматически. Если у треков название альбома не совпадает, пользователю предлагается ввести его вручную.

1
DELETED
Автор поста оценил этот комментарий

Так можно же на любую другую страну зарегистрировать. 160 руб/мес всего за премиум или бесплатно с огр возможностями

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Я Google Music уже 4 года пользуюсь.


Если серьёзно, то сейчас ничем не лучше, потому что базы пользователей у патефона нет и музыки, соответственно, тоже. Если вопрос о том, чем такое приложение впринципе может быть лучше Spotify:

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

- нет ограничений по качеству

- может полноценно работать в изолированных сетях без выхода в интернет

показать ответы
0
Автор поста оценил этот комментарий

Автор молоток.

А любителям lossless там ловить нечего?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Шарить можно аудио-файлы любого понятного браузеру формата. Индикаторы качества в последних версиях отключены.

0
Автор поста оценил этот комментарий

Автор, а у тебя электронная почта есть? Или другой вариант связаться?)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

pathephone.player@gmail.com

2
Автор поста оценил этот комментарий

идея хороша, но отсутствие анонимности и оно не запускается на винде (у меня)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

можете оформить issue на гитхабе со всеми подробностями https://github.com/pathephone/pathephone-desktop/issues

показать ответы
2
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Мой ноут раздаёт пачку. Поймаете или нет - как повезёт.

показать ответы
1
Автор поста оценил этот комментарий

1. Требуется ли белый статический IP-адрес, или приложение будет работать за NAT?

2. Зачем копирование, почему программа не может использовать файлы непосредственно из указанной пользователем папки с музыкой?

3. Дизайн уныл, напоминает iTunes.

4. Слово "патефон" на английский переводится как gramphone или phonograph.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

1. Сейчас я нахожусь за NAT и успешно передаю альбомы между устройствами в домашней сети. Была как минимум одна успешная передача от неизвестного пользователя. Были и случаи, когда двум копиям приложения не удавалось обнаружить друг друга вообще.

2. Особенность работы IPFS. Обойтись без копирования можно, но эта возможность пока плохо реализована.

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества