https://club.hugeping.ru/rOf069UX8K24yAzvWa9N
Пока работают только на этом конкретном сервере написанном на Go - надо такое в мою PHP-ноду тоже добавить...
P.S. Например там отображаются добавленные в текст сообщения картинки в формате XPM

Moderator: Shaos
Настроил Rewrite чтобы урл для ii-клиентов был проще - теперь вместо домен/ii-point.php?q=/ можно просто писать домен/iii/Shaos wrote:Перенёс тему в подфорум "Проект nedoPC"
P.S. Интересным побочным эффектом перетаскивания ноды IDEC на сервер спринтернета стало то, что теперь к ней стало можно обращаться и по https://![]()
https://sprinternet.io/iii-web.php
P.P.S. Блин, гугол начал активно индексировать там контент через https://
Code: Select all
Last day top uplinks: tavern 41.7MB (5/hr), tgi 4.1MB (2/hr), ping 3.2MB (5/hr), Google 0.8MB (1/hr), Facebook 0.1MB
см. https://sprinternet.io/iii-web.php?echo=spnet.statsTOP10 VISITORS:
[1] Google point=108 web=899 26.6MB <--- Google (4/hr)
[2] 62.109.31.x point=48 web=0 16.4MB <--- tavern (2/hr)
[3] DataForSeoBot point=0 web=26 8.3MB
[4] 92.63.98.x point=72 web=0 4.7MB <--- tgi (3/hr)
[5] 95.165.9.x point=144 web=0 3.7MB <--- ping (6/hr)
[6] 95.217.57.x point=0 web=1 1.1MB
[7] 24.6.124.x point=3 web=46 0.4MB
[8] 92.246.138.x point=0 web=1 0.1MB
[9] YandexBot point=0 web=17 0.1MB
[10] 172.56.46.x point=0 web=4 0.0MB
Ради интереса посчитал статистику по соответствию хешей названиям мессаговShaos wrote:Далее по всему этому считается хэш SHA256 (32 байта), бинарное представление которого переводится в base64 (что даёт 43 символа), от которого берутся первые 20 символов (46.9% от всей строки), но т.к. base64 наряду с буквами A...Z a...z и цифрами 0...9 ещё имеет 2 дополнительных небуквоциферных символа + и / для пущей читабельности они заменяются на символы A и z (именно так - большая A и маленькая z) - уникальность хэша от этого немного портится (покрытие уменьшается в 1.88 раз с 64^20 до 62^20, что даёт 7e35 вариаций), но хэш становится "безопасным" для передачи как угодно.
...
P.S. А вот относительно новый сервер ii-go, написанный на Go, заменяет небуквоциферные символы на A и Z (большую) - собственно так и было написано в документации (как пример). И плюс к этому разрешает редактировать сообщение после того как ему уже присвоен ID и оно сохранено на сервере (и даже уже передано на другие сервера) - при этом содержимое сообщения меняется, но его хэш остаётся прежним, что несколько противоречит всей концепции.
P.P.S. Если бы не последнее исключение (и ряд старых сообщений, в которых хэш считался как-то иначе), то имя сообщения можно было бы использовать как уникальный адрес объекта в сети IDEC - на всём этом можно было бы городить распределённое хранилище файлов и т.д.
Автор зарелизил облегченный ii-сервер, в составе которого уже есть эха retro.talks на почитатьShaos wrote:Автор сети и протокола ii (теперь он ходит в сеть ii под ником iiii) воссоздал эху про старые компьютеры у себя на узле http://ii.blcat.ru, составив её из старых сообщений старых эх oldpc.51t.ru (2020) и old.pc (2022) - я держу копию эхи у себя:
https://sprinternet.io/iii-web.php?echo=retro.talks
iiii wrote:Nastene Retro 98 : версия сервера для старых систем. Для python 2.5-2.7, только lite интерфейс, вырезано всё, что можно.
Идеальный вариант для ваших серверов с Debian Etch (или в Etch максимум 2.4? тогда ничего не поделаешь, придётся обновиться до Lenny)
В комплекте архив эхи retro.talks, будет что почитать долгой зимней ночью. И на станции уже сразу есть контент. К сожалению, заметки о Debian Sarge туда не попали в связи с их ненаписанностью, но будут доступны позже в эхе.
http://ii.blcat.ru/s/nastene-retro-98.tar.gz
Для отправки сообщения от клиента к узлу ii/IDEC с самого начала применяется следующий формат:Shaos wrote:Интересный способ идентификации сообщений выбран в ii (перекочевавший затем в IDEC и использующийся в двух самых старых серверах реализующих этот протокол - ii-php написанном на PHP и iing написанном на Python) - сервер формирует текст сообщения для сохранения добавляя к нему заголовки, а именно:
Пример из документации:
- tags - теги (используются только для `repto` и для идентификатора `ii/ok`)
- echoarea - основная эхоконференция, в которую помещается сообщение
- date - число секунд от эпохи unix, в utc
- msgfrom - отправитель
- addr - адрес отправителя (практического смысла не имеет, служит для того, чтобы узнавать, с какой станции пришло сообщение)
- msgto - пользователь, которому предназначено сообщение (либо All)
- subj - тема сообщения
- пустая строка
- и далее - текст сообщения
(в данном случае наличие ключевого слова repto в тегах означает, что это сообщение является ответом на сообщение с указанным ID - здесь IZXhLBKJx0rhx0lXYu3L)Code: Select all
ii/ok/repto/IZXhLBKJx0rhx0lXYu3L im.16 1455789357 Vasya Lunar, 2 Pupkin Re: Мое первое сообщение в эху текст сообщения
Далее по всему этому считается хэш SHA256 (32 байта), бинарное представление которого переводится в base64 (что даёт 43 символа), от которого берутся первые 20 символов (46.9% от всей строки), но т.к. base64 наряду с буквами A...Z a...z и цифрами 0...9 ещё имеет 2 дополнительных небуквоциферных символа + и / для пущей читабельности они заменяются на символы A и z (именно так - большая A и маленькая z) - уникальность хэша от этого немного портится (покрытие уменьшается в 1.88 раз с 64^20 до 62^20, что даёт 7e35 вариаций), но хэш становится "безопасным" для передачи как угодно.
При передаче сообщения между сервером и клиентом также используется base64 (но только всего сообщения) - в виде base64url, в котором + заменяется на - а / заменяется на _
Пример:If repto starts with @repto:, the node places the tag repto. Otherwise the string belongs to the message text.
- echoarea
- msgto
- subject
- empty string
- repto
- message text
Это сообщение заворачивается в base64url и засылается на узел либо через метод GET:im.16
All
Тестируем
@repto:2hEUbMAxKSA83vcmgU4s
И вот я пишу своё первое письмо в нашу секту.
Меня видно?
А тем временем появилась новая нода fox на движке от отвалившегося hugeping на языке Go и она фетчит все эхи какие может найти, включая мои:Shaos wrote:2 последних старожила IDEC отвалились - это hugeping.tk / club.hugeping.ru (нода ping) и idec.spline-online.ru (нода tavern)
осталась относительно новая нода tgi - https://tgistation.ru (создана в 2021 году, но её сисоп не выходит на связь)
и моя нода, которая недавно сменила название на spnet - https://sprinternet.io/iii/![]()
а также уже месяц существует новый вебсайт-нода http://ii.blcat.ru от создателя ii (соответственно эта нода не поддерживает навороты IDEC)...
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/english.talks/-1:1
retro.talks
XOjs0DTBN77YYkJT2drY
english.talks
HOYW7nXXHb3HPKAFLz1w
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/-2:2/english.talks/-1:1
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
HOYW7nXXHb3HPKAFLz1w
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/zx.spectrum/-2:2/english.t…
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
zx.spectrum
1cKGi833VgPtcN7D7uDs
ZryriIaG5IJqKHX3C6kl
english.talks
HOYW7nXXHb3HPKAFLz1w
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/-3:3/english.talks/all/zx.…
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
ZryriIaG5IJqKHX3C6kl
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/5B3Tra1DRJEcymDcA6Gi/engli…
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
ZryriIaG5IJqKHX3C6kl
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/5B3T/english.talks/all/zx.…
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
ZryriIaG5IJqKHX3C6kl
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/lim/3/retro.talks/english.talks/zx.spe…
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
MPaCqYswUePWAAfiioBL
1cKGi833VgPtcN7D7uDs
ZryriIaG5IJqKHX3C6kl
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/-4:4/lim/3/english.talks/z…
retro.talks
H50pJyclcYjeJbXBAi8k
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
MPaCqYswUePWAAfiioBL
1cKGi833VgPtcN7D7uDs
ZryriIaG5IJqKHX3C6kl
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/english.talks/zx.spectrum/…
retro.talks
english.talks
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
Code: Select all
> curl -XGET https://sprinternet.io/iii/lim/3/u/e/retro.talks/english.talks
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
Code: Select all
> curl -XGET https://sprinternet.io/iii/u/e/lim/3/retro.talks/english.talks
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w