README | 2 ++ README.RU | 2 ++ VERSION | 2 +- doc/contacts.texi | 4 +++- doc/download.texi | 11 ++++++++--- doc/news.ru.texi | 7 +++++++ doc/news.texi | 7 +++++++ makedist.sh | 4 ++++ ports/nncp/Makefile | 3 +-- src/cypherpunks.ru/nncp/cmd/nncp-stat/main.go | 19 +++++++++++++++---- diff --git a/README b/README index bf62e3b5440497304473fa4113c3ec02c4593c28f44eb3099d9a7364164d37c0..9ddd3e96d2ff2d5545236790801d51412b3ecb5e9d54d758d12b7cb3934abedf 100644 --- a/README +++ b/README @@ -18,6 +18,8 @@ conditions. It should work on all POSIX-compatible systems. Easy integration with existing SMTP servers. Single YAML configuration file. Home page: http://www.nncpgo.org/ +Also available as I2P service: +http://ryeyslcg6oajmyruje3weqayepze5e5oglxndhkavzfatgnxcd7q.b32.i2p/ Please send questions regarding the use of NNCP, bug reports and patches to nncp-devel mailing list: diff --git a/README.RU b/README.RU index dabfd57544e9e606ad857534605aa8ceb0f34ae5939213b814e48e7b507fc0b3..c17c5ed06d28831dced7b0be356f35461825ab142f8318286f7fec2f196f43b0 100644 --- a/README.RU +++ b/README.RU @@ -23,6 +23,8 @@ системах. Лёгкая интеграция с существующими SMTP серверами. Единственный конфигурационный YAML файл. Домашняя страница: http://www.nncpgo.org/ +Также доступная как I2P сервис: +http://ryeyslcg6oajmyruje3weqayepze5e5oglxndhkavzfatgnxcd7q.b32.i2p/ Пожалуйста все вопросы касающиеся использования NNCP, отчёты об ошибках и патчи отправляйте в nncp-devel почтовую рассылку: diff --git a/VERSION b/VERSION index 536306498832f2aaecf181328808f05a5017c75731dc888237eada0ff60c5b6e..4d90dd0d86e1583e51d6ec173213f5d38c5190f7222fdc6e90a169291afdb078 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.10 +0.11 diff --git a/doc/contacts.texi b/doc/contacts.texi index 6e0969825a3060beefa8b3e565f5ef638ff708324afbb656363eb095d7c27827..8e6e8076bcac60702ccfabcb44b6ecbec1445e9ea2cedfc455c2e79158bc327e 100644 --- a/doc/contacts.texi +++ b/doc/contacts.texi @@ -5,4 +5,6 @@ Please send questions regarding the use of NNCP, bug reports and patches to @url{https://lists.cypherpunks.ru/pipermail/nncp-devel/, nncp-devel} mailing list. Announcements also go to this mailing list. -Official website is @url{http://www.nncpgo.org/}. +Official website is @url{http://www.nncpgo.org/}, also available as +@url{https://geti2p.net/en/, I2P} service +@url{http://ryeyslcg6oajmyruje3weqayepze5e5oglxndhkavzfatgnxcd7q.b32.i2p/}. diff --git a/doc/download.texi b/doc/download.texi index c10d0c76f59b50d76d5abbc991e76a2b26e3eb05e5826a972dbfc8b1ce228010..4a8d4cdde97e4eb6fa84bb61e82d64309205a8c9a96e94cf1ed84739c51d54b5 100644 --- a/doc/download.texi +++ b/doc/download.texi @@ -1,15 +1,14 @@ @node Tarballs @section Prepared tarballs -You can obtain releases source code prepared tarballs from the links below -(or use @url{https://sourceforge.net/projects/nncp/files/, Sourceforge mirror}). +You can obtain releases source code prepared tarballs from the links below. Do not forget to check tarball @ref{Integrity, integrity}. Tarballs include all necessary required libraries: @multitable @columnfractions .50 .50 @headitem Library @tab Licence -@item @code{cypherpunks.ru/balloon} @tab GNU GPLv3+ +@item @code{cypherpunks.ru/balloon} @tab GNU LGPLv3+ @item @code{github.com/dustin/go-humanize} @tab MIT @item @code{github.com/flynn/noise} @tab BSD 3-Clause @item @code{github.com/go-check/check} @tab BSD 2-Clause @@ -23,6 +22,10 @@ @end multitable @multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} @headitem Version @tab Size @tab Tarball @tab SHA256 checksum + +@item @ref{Release 0.10, 0.10} @tab 949 KiB +@tab @url{download/nncp-0.10.tar.xz, link} @url{download/nncp-0.10.tar.xz.sig, sign} +@tab @code{DCE7C762 2F9281EB 282F1A67 5CA6500E 854F2DEC D60F3264 07872B91 4F4E6FA0} @item @ref{Release 0.9, 0.9} @tab 942 KiB @tab @url{download/nncp-0.9.tar.xz, link} @url{download/nncp-0.9.tar.xz.sig, sign} @@ -62,3 +65,5 @@ @tab @url{download/nncp-0.1.tar.xz, link} @url{download/nncp-0.1.tar.xz.sig, sign} @tab @code{8F71D65B 70865EBF FE802CDF A5C14D00 A9FD6559 FD722E60 5D97E82C 5E2412C2} @end multitable + +Also you can try its @ref{Contacts, .i2p} version. diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 42e55619e30a2a247d6d27f0018aed1ec1f44f67b838c0c3b1d04e02da829676..a842a6906182c1b5c9ab9050671160e067bb25983abdba3079891f5684768af6 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -1,6 +1,13 @@ @node Новости @section Новости +@node Релиз 0.11 +@subsection Релиз 0.11 +@itemize +@item +Вывод команды @command{nncp-stat} отсортирован по имены ноды. +@end itemize + @node Релиз 0.10 @subsection Релиз 0.10 @itemize diff --git a/doc/news.texi b/doc/news.texi index b6b3f268adb6e7a1631d54ea364f296a0ae7fae38bf674939442d4f9edc5e631..baf73452de83ca9a928a201044d437f6b1aaafe1899a000db09d43b5dd8d29b3 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -3,6 +3,13 @@ @unnumbered News See also this page @ref{Новости, on russian}. +@node Release 0.11 +@section Release 0.11 +@itemize +@item +@command{nncp-stat}'s command output is sorted by node name. +@end itemize + @node Release 0.10 @section Release 0.10 @itemize diff --git a/makedist.sh b/makedist.sh index 998a12876997c80f391f1762e0d9c8f906e10310484197c1047e30296bf895e4..30fbc9f9c4a64544d2c6272eb1c01c088150d63f79d56c86d4bc1e2c203ed2c9 100755 --- a/makedist.sh +++ b/makedist.sh @@ -126,6 +126,8 @@ ------------------------ >8 ------------------------ NNCP's home page is: http://www.nncpgo.org/ +Also available as I2P service: +http://ryeyslcg6oajmyruje3weqayepze5e5oglxndhkavzfatgnxcd7q.b32.i2p/ Source code and its signature for that version can be found here: @@ -173,6 +175,8 @@ ------------------------ >8 ------------------------ Домашняя страница NNCP: http://www.nncpgo.org/ +Также доступная как I2P сервис: +http://ryeyslcg6oajmyruje3weqayepze5e5oglxndhkavzfatgnxcd7q.b32.i2p/ Коротко об утилитах: http://www.nncpgo.org/Ob-utilitakh.html Исходный код и его подпись для этой версии находятся здесь: diff --git a/ports/nncp/Makefile b/ports/nncp/Makefile index f7c9ea8cba1b0909f3a8c0c51d7004f0b626182d9dee67983554c71ac0b0674c..bef9591dc4e714960b9639570a0d71528266fdce74c8686bdc082d5a2c8d7457 100644 --- a/ports/nncp/Makefile +++ b/ports/nncp/Makefile @@ -3,8 +3,7 @@ PORTNAME= nncp PORTVERSION= 0.10 CATEGORIES= net -MASTER_SITES= http://www.nncpgo.org/download/ \ - http://sourceforge.net/projects/nncp/files/ +MASTER_SITES= http://www.nncpgo.org/download/ MAINTAINER= stargrave@stargrave.org COMMENT= Utilities for secure store-and-forward files and mail exchanging diff --git a/src/cypherpunks.ru/nncp/cmd/nncp-stat/main.go b/src/cypherpunks.ru/nncp/cmd/nncp-stat/main.go index bdc051949b271a7082176860d64a486fadae56b24cac454df77670774c2daf91..e1cf12a1f78f9bfb1f485d55fb79a31549666dc0ef1d68556b8677b787a597eb 100644 --- a/src/cypherpunks.ru/nncp/cmd/nncp-stat/main.go +++ b/src/cypherpunks.ru/nncp/cmd/nncp-stat/main.go @@ -25,6 +25,7 @@ "fmt" "io/ioutil" "log" "os" + "sort" "cypherpunks.ru/nncp" "github.com/dustin/go-humanize" @@ -74,20 +75,30 @@ log.Fatalln("Invalid -node specified:", err) } } - for nodeId, node := range ctx.Neigh { - if nodeOnly != nil && nodeId != *nodeOnly.Id { + nodeNames := make([]string, 0, len(ctx.Neigh)) + nodeNameToNode := make(map[string]*nncp.Node, len(ctx.Neigh)) + for _, node := range ctx.Neigh { + nodeNames = append(nodeNames, node.Name) + nodeNameToNode[node.Name] = node + } + sort.Strings(nodeNames) + + var node *nncp.Node + for _, nodeName := range nodeNames { + node = nodeNameToNode[nodeName] + if nodeOnly != nil && *node.Id != *nodeOnly.Id { continue } rxNums := make(map[uint8]int) rxBytes := make(map[uint8]int64) - for job := range ctx.Jobs(&nodeId, nncp.TRx) { + for job := range ctx.Jobs(node.Id, nncp.TRx) { job.Fd.Close() rxNums[job.PktEnc.Nice] = rxNums[job.PktEnc.Nice] + 1 rxBytes[job.PktEnc.Nice] = rxBytes[job.PktEnc.Nice] + job.Size } txNums := make(map[uint8]int) txBytes := make(map[uint8]int64) - for job := range ctx.Jobs(&nodeId, nncp.TTx) { + for job := range ctx.Jobs(node.Id, nncp.TTx) { job.Fd.Close() txNums[job.PktEnc.Nice] = txNums[job.PktEnc.Nice] + 1 txBytes[job.PktEnc.Nice] = txBytes[job.PktEnc.Nice] + job.Size