111 Кб, 700x720
Давайте запилим собственный протокол, и будет там сидеть перекидываться всякими байтами.
Работать будет всё на голом TCP, потому отправлять файлы другим участникам сети можно и через netcat.
В целом принцип как IRC, но вместо строк - любые данные.
Формат отправляемых сообещений:
Первая строчка, заголовок:
channel mime length
- channel: название канала. Не должен содержать пробелов. К примеру cats.pics, random.pics, 2ch.chat, libre.soft
- mime - mime-тип, тут понятно.
- length - сколько байтов передаем/принимаем.
Всё остальное - сами данные.
Как вам идея?
Работать будет всё на голом TCP, потому отправлять файлы другим участникам сети можно и через netcat.
В целом принцип как IRC, но вместо строк - любые данные.
Формат отправляемых сообещений:
Первая строчка, заголовок:
channel mime length
- channel: название канала. Не должен содержать пробелов. К примеру cats.pics, random.pics, 2ch.chat, libre.soft
- mime - mime-тип, тут понятно.
- length - сколько байтов передаем/принимаем.
Всё остальное - сами данные.
Как вам идея?
охуенно. но обычный клиент-сервер это как-то скучно. Да и не хочу палить я свой IP реальный. Если только создать echo-сервер, который будет все сообщения принятые дублировать на все подключенные TCP сеансы.
предлагаю так
2chp - контрольная фраза - 32 63 68 70
1 - версия протокола - 31
тема до 16 байт прим cats.pics, random.pics, 2ch.chat, libre.soft
mime - mime-тип, тут понятно.
length - сколько байтов передаем/принимаем
и еще надо бы над защитой подумать. передавать в чистом виде опасно
предлагаю так
2chp - контрольная фраза - 32 63 68 70
1 - версия протокола - 31
тема до 16 байт прим cats.pics, random.pics, 2ch.chat, libre.soft
mime - mime-тип, тут понятно.
length - сколько байтов передаем/принимаем
и еще надо бы над защитой подумать. передавать в чистом виде опасно
>>154
Провайдеры не хотят вводить IPv6.
Добро пожаловать в I2P и Tor. У IRC нет ни шифрования, ни какой-то хитровыебанной маршрутизации, однако им активно пользуются в ш2з.
Шифрование это вообще дело отдельного протокола, мы не должны над таким заебываться, изобретать велосипеды не нужно.
Впрочем вести приватные переписки на каком-то канале крайне просто - gpg.
Я об этом и говорю. Можно взять любой echo-сервер с открытым исходным кодом, и это будет работать. Потому что серверу вообще не нужно ничего делать, кроме как ретранслировать данные.
> охуенно. но обычный клиент-сервер это как-то скучно.
Провайдеры не хотят вводить IPv6.
> и не хочу палить я свой IP реальный.
Добро пожаловать в I2P и Tor. У IRC нет ни шифрования, ни какой-то хитровыебанной маршрутизации, однако им активно пользуются в ш2з.
Шифрование это вообще дело отдельного протокола, мы не должны над таким заебываться, изобретать велосипеды не нужно.
Впрочем вести приватные переписки на каком-то канале крайне просто - gpg.
> Если только создать echo-сервер
Я об этом и говорю. Можно взять любой echo-сервер с открытым исходным кодом, и это будет работать. Потому что серверу вообще не нужно ничего делать, кроме как ретранслировать данные.
1,1 Мб, 1132x1559
>>156
Система будет слишком переусложнённой ИМХО. Проще будет общаться в IRC over I2P
А вот нихуя. Я не хочу, чтобы мои сообщения остались в СОРМ-3
Ну так пиши свой сервер. Буду его дудосить неткатом и пингами. Алсо где гарантия, что ты не сольешь мой IP? Ну-ну. А если ты ляпнешь про I2P, то см. выше
> Добро пожаловать в I2P и Tor.
Система будет слишком переусложнённой ИМХО. Проще будет общаться в IRC over I2P
> Шифрование это вообще дело отдельного протокола
А вот нихуя. Я не хочу, чтобы мои сообщения остались в СОРМ-3
> Я об этом и говорю. Можно взять любой echo-сервер с открытым исходным кодом, и это будет работать. Потому что серверу вообще не нужно ничего делать, кроме как ретранслировать данные.
Ну так пиши свой сервер. Буду его дудосить неткатом и пингами. Алсо где гарантия, что ты не сольешь мой IP? Ну-ну. А если ты ляпнешь про I2P, то см. выше
>>157
Переусложненной она будет, если начнем придумывать велосипед с щифрованием и маршрутизацией.
IRC может передавать только строки, и заточен под чатики. Stockings более общий протокол, задача которого просто обмениваться данными. Любыми. Поверх Stockings можно сделать чатик, mmo-rpg, что угодно.
> Система будет слишком переусложнённой ИМХО
Переусложненной она будет, если начнем придумывать велосипед с щифрованием и маршрутизацией.
> Проще будет общаться в IRC over I2P
IRC может передавать только строки, и заточен под чатики. Stockings более общий протокол, задача которого просто обмениваться данными. Любыми. Поверх Stockings можно сделать чатик, mmo-rpg, что угодно.
>>157
Но IRC до сих пор жив, и у протокола нет ни каких защитных мер от спама. И ничего, собираются небольшой кучкой людей по интересам и общаются.
Если сервер находится в i2p у меня нет технических возможностей для этого.
> Буду его дудосить неткатом и пингами.
Но IRC до сих пор жив, и у протокола нет ни каких защитных мер от спама. И ничего, собираются небольшой кучкой людей по интересам и общаются.
> Алсо где гарантия, что ты не сольешь мой IP?
Если сервер находится в i2p у меня нет технических возможностей для этого.
>>160
Так не выполняй ничего из того, что транслируется из каналов. К неткату у тебя тоже подобные претензии?
Так не выполняй ничего из того, что транслируется из каналов. К неткату у тебя тоже подобные претензии?
>>161
Я про то, что могу скачать какой-то файл и там будет вирус. Сервер же не будет чекать на вирусы. Это просто ретранслятор.
IRC лишен таких заморочек. Там просто текст
Алсо ты же ведь в курсе про пинач, да?
Я про то, что могу скачать какой-то файл и там будет вирус. Сервер же не будет чекать на вирусы. Это просто ретранслятор.
IRC лишен таких заморочек. Там просто текст
Алсо ты же ведь в курсе про пинач, да?
>>162
Чтобы вирусу что-то делать, ему надо сначала выполниться, пока он это не сделает это просто String.
> что могу скачать какой-то файл и там будет вирус.
Чтобы вирусу что-то делать, ему надо сначала выполниться, пока он это не сделает это просто String.
>>163
Ну давай тогда, выкатывай версию протокола, стандарт, мб имлементацию. Будем думать
Ну давай тогда, выкатывай версию протокола, стандарт, мб имлементацию. Будем думать
Релейный (брокерный) сервер поднять легко.
Для этого нужен VPS (или домашний сервер с белым айпи).
На сервере запускаешь `ncat -l -p ${PORT} --broker`.
Всё, релейный сервер готов.
Для этого нужен VPS (или домашний сервер с белым айпи).
На сервере запускаешь `ncat -l -p ${PORT} --broker`.
Всё, релейный сервер готов.
>>183
Это протоколы для чатов. Stockings это про транспорт и передачу файлов.
Это протоколы для чатов. Stockings это про транспорт и передачу файлов.
>>249
Бамп вопросу. Че там, когда спецификация будет?
Бамп вопросу. Че там, когда спецификация будет?
929 Кб, 1200x1200
У меня появилась гениальная идея. Распределённый дата-блок. Условно говоря это что-то типа стены, куда все желающие могут срать своими байтами.
На сервере есть цельный дата-блок размером N килобайт с ячейками одинакового размера. Сервер работает по принципу пула запросов от клиентов. В течение времени t сервер принимает запросы, а по окончании применяет изменения для данного дата-блока. Более ранние запросы имеют более высокий приоритет. Запрос представляет собой таблицу T ограниченным размером Ts, состоящую из формата {адрес Ta: значение Tv}, где Ta адрес записываемого значения в дата-блоке на сервере, Tv - значение ячейки дата-блока. Соответственно Ts это кол-во пар и размер сообщения.
Как вам?
На сервере есть цельный дата-блок размером N килобайт с ячейками одинакового размера. Сервер работает по принципу пула запросов от клиентов. В течение времени t сервер принимает запросы, а по окончании применяет изменения для данного дата-блока. Более ранние запросы имеют более высокий приоритет. Запрос представляет собой таблицу T ограниченным размером Ts, состоящую из формата {адрес Ta: значение Tv}, где Ta адрес записываемого значения в дата-блоке на сервере, Tv - значение ячейки дата-блока. Соответственно Ts это кол-во пар и размер сообщения.
Как вам?
>>268
UPD
Как дата-блок можно использовать картинку. По сути jpg или bmp контейнер, в котором будут закодированы байты. Таким образом новая картинка это новый дата-блок. Туда можно закодировать вообще все что-угодно. И с каждой новой итерацией картинка будет наполняться новой инфой и так будет твориться история.
UPD
Как дата-блок можно использовать картинку. По сути jpg или bmp контейнер, в котором будут закодированы байты. Таким образом новая картинка это новый дата-блок. Туда можно закодировать вообще все что-угодно. И с каждой новой итерацией картинка будет наполняться новой инфой и так будет твориться история.
11,9 Мб, 2236x2236
>>271
И да, и нет. У меня идея скорее создать распределённую таблицу.
Картинка как формат просто как предложение. Формально говоря, можно использовать любой. Просто когда у тебя картинка, то как-то проще и нагляднее выглядит дата-блок. Типа вот тут какой-то анон записал какой-то файлик, вот тут другой анон что-то еще написал. Круто же
Но для простоты можно и без формата, да
UPD:
Начав работу над серваком узнал, что оказывается в джаве нельзя создать беззнаковую переменную. Кек.
Алсо делать протокол на голых сокетах это сложно. Т.е. довольно сложно. Проще сделать очередное вебговно на json. Для этого дохуя и больше либ. Но весь шарм, конечно, если перекидываться голыми байтами, да? Пилить tcp сервер на c++ пизда извращение. Там ебал я рот что-то делать.
Алсо нашел где можно найти SQL дб буквально за даром. Но не уверен, как это можно использовать
> пиксельспейс
И да, и нет. У меня идея скорее создать распределённую таблицу.
Картинка как формат просто как предложение. Формально говоря, можно использовать любой. Просто когда у тебя картинка, то как-то проще и нагляднее выглядит дата-блок. Типа вот тут какой-то анон записал какой-то файлик, вот тут другой анон что-то еще написал. Круто же
Но для простоты можно и без формата, да
UPD:
Начав работу над серваком узнал, что оказывается в джаве нельзя создать беззнаковую переменную. Кек.
Алсо делать протокол на голых сокетах это сложно. Т.е. довольно сложно. Проще сделать очередное вебговно на json. Для этого дохуя и больше либ. Но весь шарм, конечно, если перекидываться голыми байтами, да? Пилить tcp сервер на c++ пизда извращение. Там ебал я рот что-то делать.
Алсо нашел где можно найти SQL дб буквально за даром. Но не уверен, как это можно использовать
>>273
Тогда какаой смысл в твоем поделии?
>Алсо делать протокол на голых сокетах это сложно
> Пилить tcp сервер на c++ пизда извращение. Там ебал я рот что-то делать.
Тогда какаой смысл в твоем поделии?
>>279
Я не знаю. Я просто поддерживаю идею ОПа (хуя, который походу забросил тредж). Но просто было бы прикольно такое делать. Я просто не очень хорошо знаю с++. Плюс, как я понял, там нет кроссплатформенного варианта для сокетов. Там чет как-то сложно. Мб писать на расте будет проще. Я хз
Да и вообще пососал бы ты. Я хотя бы что-то предлагаю
Я не знаю. Я просто поддерживаю идею ОПа (хуя, который походу забросил тредж). Но просто было бы прикольно такое делать. Я просто не очень хорошо знаю с++. Плюс, как я понял, там нет кроссплатформенного варианта для сокетов. Там чет как-то сложно. Мб писать на расте будет проще. Я хз
Да и вообще пососал бы ты. Я хотя бы что-то предлагаю