LINUX.ORG.RU

Релиз Freenet 0.7.0 «Darknet»

 , ,


0

0

Восьмого мая вышел Freenet 0.7.0 "Darknet".

Freenet - это программа, которая позволяет осуществлять обмен информацией в интернете без цензуры и санкций. Freenet затрудняет установку личности того, кто публикует информацию, также он шифрует саму информацию. Сам проект стартовал в 1999 году, Freenet 0.1 вышел в марте 2000-го года и с тех пор активно развивался.

Уникальной особенностью Freenet является способ, с которым программа работает: при необходимости пользователи могут загрузить контент во Freenet и затем отключиться. Это, как показывает опыт, является ключевым требованием для многих пользователей. Как только контент загружен, он зеркалируется внутри сети Freenet, что затрудняет его выслеживание и уничтожение. Контент остается во Freenet пока он востребован, хотя Freenet не гарантирует, что контент будет храниться вечно.

Путь ко Freenet 0.7 начался в 2005 году, когда стало ясно, что для ряда самых слабозащищённых пользователей необходимо скрыть сам факт использования Freenet. В результате, Freenet был основательно изменен и переписан, добавлена возможность "darknet", которая позволяет пользователям ограничиться доверяемыми узлами ("trusted friends"), что значительно затрудняет третьим силам вычислять пользователей Freenet.

Кроме того, Freenet 0.7 включает в себя значительные улучшения почти во всех прочих аспектах работы (эффективности, безопасности, удобства).

Freenet работает под Linux, Windows и OSX. Его можно загрузить тут:

http://freenetproject.org/download.html.

Смотрите там "Linux and Unix-like instructions", а также "Source Code".

Смотрите также страничку http://freenetproject.org/developer.html.

Если у вас возникли сложности в работе с Freenet или любые другие вопросы, не освещенные в FAQ, присоединяйтесь к irc.freenode.net #freenet.

FAQ: http://wiki.freenetproject.org/Freque...

Большая часть кода под GPLv2. Есть участки, лицензированные под лицензией "modified BSD", совместимой (согласно FSF) с GPL.

>>> Подробности

Ответ на: комментарий от anonymous

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

Когда ты делаешь файлопомойку на ftp - gui для программы отдающей файлы не нужен. p2p сложная технология и управляться всем этим проще и удобнее в gui. именно про Freenet не знаю - я ничего не загружал туда.

tommy ★★★★★
()
Ответ на: комментарий от tommy

>p2p сложная технология и управляться всем этим проще и удобнее в gui.

чего там управлять? закинул торрент-файл в каталог и пошел пить кофей. вернулся - забрал из incoming скачанный.

Muromec ☆☆
()
Ответ на: комментарий от Muromec

например у меня не один диск и качаемое распределяется по ним в зависимости от контента. для некоторых торрентов я хочу сразу ограничить скорость или отдачи или скачивания. и тд и тп. и в отдачах мне удобнее смотреть что и как качается через gui.

tommy ★★★★★
()
Ответ на: комментарий от Voker57

>На джаве. Лесом.

>Qt

Что научился ваять формочки на Qt, и начитался бреда "великих, но почему-то непризнанных учёных-программистов"? Судя по твоим постам, ты даже в Си то, тольком ничего не понимаешь. А всё туда же, джава ему не понравилась... Не вонял бы ты тут, дерьмо собачье.

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

P.S: чтоб уж совсем тебя не позорить, предостерегу от попыток скопипастить текст из википедии или ещё от куда-нибудь. Гуглом мы тут пользоваться умеем, так что думай сам.

anonymous
()
Ответ на: комментарий от yankie

> Ну-ну, сколько у тебя купленных альбомов на винчестере?

У меня - 100% ^_^

А вот фильмы - спертые >_<

sv75 ★★★★★
()
Ответ на: комментарий от tommy

>для некоторых торрентов я хочу сразу ограничить скорость или отдачи или скачивания.

ууу..

>в отдачах мне удобнее смотреть что и как качается через gui.

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

Muromec ☆☆
()

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

Да.... это ЛОР.

ilnurathome
()
Ответ на: комментарий от anonymous

> офф// поздравляю русских с праздником, 9-ого мая!

офф// поздравляю немцев с праздником, 9-ого мая! Избавились от горстки фашистов захвативших власть и теперь впереди планеты всей.

anonymous
()
Ответ на: комментарий от tommy

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

И что дальше? Миллионы пользователей сидят на венде, но это не отменяет того факта, что все они быдланы, а я Д'Артаньян.

anonymous
()
Ответ на: комментарий от anonymous

Те кто написал вендовые p2p клиенты - хоть что-то сделали. Да, и мне это не нравится - вот у меня запущена в виртуалбоксе венда с одним из таких клиентов. Вот есть теория о правильных сетях и правильном софте, а есть реальность. Кто вам мешал сделать лучше. А наезды на программы на Java - это просто детское непонимание. Да и споры о том, на чём писать кроссплатформенные программы наверное будут вечно. Пока одни спорят - другие пишут на Java и это работает. Быстро и надёжно. Может вырастут - поймут.

tommy ★★★★★
()
Ответ на: комментарий от anonymous

Re^2: Релиз Freenet 0.7.0 "Darknet"

В джаве мне не нравится проприетарная (ну, или кривая опенсорцная) виртуальная машина и связанные с ней тормоза. Ссылок на сравнение производительности с С++ не имею — умеющие да возгуглят.

Voker57 ★★
()
Ответ на: комментарий от tommy

Re^2: Релиз Freenet 0.7.0 "Darknet"

> В современном мире, когда каждый компьютер в сети по мощности мало уступает серверу

Можно поставить на него яву, чтобы он особо не разгонялся

Voker57 ★★
()
Ответ на: комментарий от tommy

>А наезды на программы на Java - это просто детское непонимание.

Да посмотри, кто здесь наезжает та - великие админы локалхоста и высокооплачиваемые Lisp кодеры. Вообще забавно смотреть, как ЛОРовские дети смеются над энтерпрайзом. Я прям сразу себе представляю такого провинциального студента-эникейщика, меняющего клавиатуры в бухгалтерии за миску риса в день, который завидует взрослым дядям Java программистам с верхнего этажа.

И вот этот эникейщик выходит на ЛОР и кричит тут, что энтерпрайз фигня, Java для быдла, а настоящие Д'Артаньяны должны на Си ядра кодить.

anonymous
()
Ответ на: Re^2: Релиз Freenet 0.7.0 "Darknet" от Voker57

>В джаве мне не нравится проприетарная (ну, или кривая опенсорцная) виртуальная машина и связанные с ней тормоза. Ссылок на сравнение производительности с С++ не имею — умеющие да возгуглят.

У меня нет слов, господа. Поздравляю, ты жидко обосрался на глазах всего ЛОРа.

anonymous
()
Ответ на: комментарий от Voker57

>На джаве. Лесом.

можете сколько угодно не соглашаться, однако Freenet работает, а это главное.

Из фака:

Java is by far the most efficient cross-platform language available today, with modern JIT compilers it can compete with, and even out-do native compiled langauges such as C, all while remaining cross-platform. Of course we have work to do to_make_Freenet_easier_to_install_on_a_variety_of_platforms.

Критиковать выбор инструмента,когда сделана вся работа на отлично...

Идите лесом. ;-)

record ★★★★★
() автор топика
Ответ на: комментарий от anonymous

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

Однако, никакой иной технологии для реализации проекта вроде freenet, кроме JVM (не обязательно Java), нет на данный момент и в ближайшем будущем не предвидится.

anonymous
()
Ответ на: Re^2: Релиз Freenet 0.7.0 "Darknet" от Voker57

> В джаве мне не нравится проприетарная (ну, или кривая опенсорцная) виртуальная машина и связанные с ней тормоза.

Мальчик, ты очень дурак? Или пока ещё только учишься у великих клоунов прошлого? Лавры Тарапуньки и Штепселя покоя не дают?

anonymous
()
Ответ на: Re^2: Релиз Freenet 0.7.0 "Darknet" от Voker57

Можно поставить на него яву, чтобы он особо не разгонялся

Я меняю компютеры/процессоры на более мощные только для того чтобы видео смотреть. Java программы не требуют супер производительного компьютера, а программы работают быстро. Виснущие же и жрущие память и занимающие все 100% ядра процессора (к великому счастью они не все многопоточные) проги на C++ регулярно приходится отстреливать.

tommy ★★★★★
()
Ответ на: комментарий от tommy

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

Жжёшь. Это типа спама то ли?

Gular
()
Ответ на: комментарий от anonymous

Re^2: Релиз Freenet 0.7.0

> Однако, никакой иной технологии для реализации проекта вроде freenet, кроме JVM (не обязательно Java), нет на данный момент и в ближайшем будущем не предвидится.

Это почему? Для реализации кроссплатформенного проекта нужна VM? Интересная новость.

Voker57 ★★
()
Ответ на: Re^2: Релиз Freenet 0.7.0 от Voker57

>Для реализации кроссплатформенного проекта нужна VM? Интересная новость.

Бугага, напиши, обязательно напиши ихним программистам. Людям тоже же нужно отдохнуть, вот пусть и посмеются. Предложи им всё это на плюсах написать с Qt. И ответ пожалуйста сюда запости.

anonymous
()
Ответ на: комментарий от Gular

> Жжёшь. Это типа спама то ли?

Нет, это не типа спама. Принцип распределенного хранения заключается в том, что каждый клиент выделяет определенное количество дискового пространства под хранилище данных. У меня оно было размером в 10 гигабайт, что, в общем-то, немного. Если человек хочет предоставить свой файл другим участникам сети, он "заргужает" его в сеть. В процессе загрузки файл криптуется и разбивается на кусочки, каждый из которых получает определенный ключ. После чего кусочки случайным образом распределяется в хранилища других участников сети, причем никто из них не знает, кусочки каких именно файлов находятся у них в хранилище. После того, как файл разбит и распределен, на руках у давальца находится ключ к "мастер-кусочку", который знает все ключи частей файла. Этот мастер-ключ можно сообщить другому человеку, и он сможет собрать исходный файл на своей стороне.

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

Uncle_Theodore ★★
()
Ответ на: комментарий от tommy

Re^4: Релиз Freenet 0.7.0 "Darknet"

> Виснущие же и жрущие память и занимающие все 100% ядра процессора (к великому счастью они не все многопоточные) проги на C++ регулярно приходится отстреливать.

Криво можно написать везде, просто на яве это проще...

Voker57 ★★
()
Ответ на: Re^2: Релиз Freenet 0.7.0 от Voker57

> Это почему?

По целому ряду причин. Во первых, нужна бинарная кроссплатформность, поскольку для такого проекта нет никакой возможности поддерживать бинарные сборки под разные платформы. Уже одно только это резко сокращает выбор. Во вторых, нужна надёжность без дополнительных усилий со стороны разработчика - поскольку атаки на эту сеть будут, и очень серьёзные. Прецеденты были. Так что надёжная, верифицируемая VM - это must have.

> Для реализации кроссплатформенного проекта нужна VM? Интересная новость.

Детко, я тебя предупреждаю - прекращай позориться. Ты и так уже сделал всё, чтобы тебя сочли идиотом.

anonymous
()
Ответ на: Re^4: Релиз Freenet 0.7.0 "Darknet" от Voker57

> Криво можно написать везде, просто на яве это проще...

Заблуждаешься, идиотик. На жабе это как раз таки существенно сложнее, просто в силу того, что программисту не дают доступа к низкому уровню.

anonymous
()
Ответ на: Re^4: Релиз Freenet 0.7.0 "Darknet" от Voker57

> Криво можно написать везде

Ты тому живое свидетельство.

>просто на яве это проще...

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

anonymous
()
Ответ на: комментарий от anonymous

>откуда информация для столь безаппеляционных заявлений?

Скорее всего, на базаре сказали)))

anonymous
()
Ответ на: комментарий от anonymous

> Заблуждаешься, идиотик. На жабе это как раз таки существенно сложнее, просто в силу того, что программисту не дают доступа к низкому уровню.

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

А вот язык — по мне так довольно мерзенький, когда что-то пытаешься сделать — как будто со связанными руками пишешь. Если есть желающие — чем зря какашками кидаться, можно выдумать какую-нибудь простую задачку на пол-часика быдлокодерства, да посмотреть как оно будет выглядеть на разных языках. Практически уверен (по крайней мере так всегда получалось) что как язык, семантически, Java нищевата (и потуги это поправить пошли только недавно) и в итоге приходится для одной и той же задачи писать больше кода.

Разумеется, сравнивать надо не с C (это такой очень хороший кроссплатформенный ассемблер), а с высокоуровневыми языками.

Discuss?

anonymous
()
Ответ на: комментарий от anonymous

> Низкий уровень здесь не при чем

Как это не при чём? 99% всех ошибок и узких мест - в низком уровне зарыто. Некорректная работа с памятью, например.

> он такой программе и близко не нужен

Именно. И если программахер вынужден (поскольку выбрал неправильную технологию, например C++) в этот низкий уровень лезть, тогда как к предметной области он никакого отношения не имеет непосредственно, то он обязательно наглючит. Неизбежно.

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

?!?

Я в шоке. Ты что, предлагаешь померяться, кто сможет написать наиболее кривой код?!? :-O

anonymous
()
Ответ на: комментарий от anonymous

> Как это не при чём? 99% всех ошибок и узких мест - в низком уровне зарыто. Некорректная работа с памятью, например.

Я о том же и говорю. Автоматичекое управление памятью не есть зло, а даже наоборот. Позволяет, как минимум, не заниматься тем, что способна сделать машина сама. А уже если плохо делает где-то — там и разбираться потом.

> Я в шоке. Ты что, предлагаешь померяться, кто сможет написать наиболее кривой код?!? :-O

С чего это ты взял?

anonymous
()
Ответ на: комментарий от anonymous

>Discuss?

По мне так, ООП вообще плохая штука с точки зрения простоты и красоты кода. На мой взгляд тут всё происходит так - предположим двум конторам(Вилларибо и Виллабаджо) нужно сделать один и тот же проект, в котором понадобится кроссплатформенность, GUI и куча всяких энтерпрайз-ориентированных технологий. В Вилларибо много аналитиков с ЛОРа и они сразу решают - писать будем на православных сях. А в Виллабаджо сидят мерзенькие жабобыдлокодеры, уровень которых естественно много ниже чем у Вилларибовских ЛОР-аналитиков.

Что в итоге? Жабабыдло за день-два набросало Swing гуй, о кроссплатформенности они не думали(случаи использования jni будем считать экзотикой), а в остальное время сидели и писали бизнес-логику. Прога число Пи вычислять не пытается, поэтому тормозов особых не заметно. Проект сдан, зарплата получена, все счастливы.

А в Вилларибо до сих пор прикручивают кутэ...

anonymous
()
Ответ на: комментарий от anonymous

> Автоматичекое управление памятью не есть зло, а даже наоборот

Ты хотя бы смотришь вообще в какую тему отвечаешь?

Тут идёт обсуждение, что в жабе якобы проще написать кривой код.

> С чего это ты взял?

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

anonymous
()

1. По сравнению с TOR'ом намного безопаснее. Т.к. если держишь exit-ноду, то можно поиметь нехилое количество проблем с правоохранителями. В России же exit-ноды вообще держать не рекомендуется...

2. По сравнению с torrent сетями намного меньше шансов вычислить как IP отправителя, так и получателя.

3. Твое хранилище данных шифровано и можно сделать так, что доказать наличие такого хранилища будет невозможно.

4. Трафик шифрован. Доказать использование freenet'а возможно только если ты подконнектишься к скомпрометированной ноде, что из-за архитектурных особенностей сети маловероятно.

5. Freenet не ориентирован на хранение тяжелого контента.

6. По сравнению с TOR намного сложнее скомпрометировать информацию. Т.к. она защищена либо хешем, либо ЭЦП.

К сожалению, я не смог найти какого-то технического описания FreeNet, в частности какой алгоритм шифрования и ЭЦП используется.

Macil ★★★★★
()
Ответ на: комментарий от Macil

> К сожалению, я не смог найти какого-то технического описания FreeNet, в частности какой алгоритм шифрования и ЭЦП используется.

http://wiki.freenetproject.org/FreenetSpecifications

http://wiki.freenetproject.org/FreenetZeroPointSevenSecurity

Uncle_Theodore ★★
()
Ответ на: комментарий от Uncle_Theodore

Вспоминая как когда-то грузился модем, мне кажется что фринет грузицо еще медленней

anonymous
()
Ответ на: комментарий от anonymous

за идею зачет за контент низачот

anonymous
()

Опять эта ошибка природы.

Практически НИ ОДНА из заявленных авторами Freenet целей не выполняется.

Например, Freenet никогда не был "darknet", т.е. сетью, в которой невозможно узнать IP-адреса участников. В университетах делали статьи со статистикой работы и связей, просто запустив одну программку, которая собирала несколько дней данные участников сети.

FREENET - ПОЛНОСТЬЮ ОТКРЫТАЯ СЕТЬ в смысле возможности отследить и выделить участников

2. FREENET - абсолютно цензурируемая сеть, потому что использует протоколы и алгоритмы, которые перекрываются любым ISP в секунду, если он того пожелает (сегодня ISP уже вынуждены были признать, что они следят за существованием P2P и отключают их traffic)

<b>Freenet НЕ СПОСОБЕН ВЫПОЛНИТЬ НИ ОДНУ ИЗ КЛЮЧЕВЫХ СВОИХ ЦЕЛЕЙ</b> Это - разводка (вроде Tor'а).

anonymous
()
Ответ на: комментарий от anonymous

Чушь какая. Никто никогда и не утверждал, что во Фринете нельзя узнать IP участников. Очень даже легко их узнать. А вот чего сделать почти невозможно, так это связать IP с контекстом, как запрашиваемым, так и предлагаемым. И эту задачу Фринет прекрасно выполняет.

Uncle_Theodore ★★
()
Ответ на: комментарий от petrosha

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

anonymous
()
Ответ на: комментарий от Uncle_Theodore

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

Интересно, с какой целью оно "криптуется"? Любой желающий ведь может дешифровать нужный файл, какой смысл?

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

Да прям - не знает. А кто знает тогда? Файл из кусков собирается? Собирается. Значит информация доступна.

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

Это если не распространять. Но так и в обычном инете легко делать. Речь-то про раздающиеся посторонним фалы.

>Бфли попытки построить схему, которая не давала бы держать в хранилище кусочки файлов, которые хозяину неприятны, но она не очень надежна.

Ну то есть в том, что всякого дерьма на твой винт напихают, можно не сомневаться. Лет на 10 с конфискацией.

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

anonymous
()
Ответ на: комментарий от prizident

>даже бровзер? или торрент клиент?

торрент клиенты гуевые я вообще не пойму кто пользуется только садомазохитсы разве что

xargs ★★★
()
Ответ на: комментарий от Uncle_Theodore

>Никто никогда и не утверждал, что во Фринете нельзя узнать IP участников. Очень даже легко их узнать. А вот чего сделать почти невозможно, так это связать IP с контекстом, как запрашиваемым, так и предлагаемым. И эту задачу Фринет прекрасно выполняет.

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

И кто куда "спрятался"?

anonymous
()
Ответ на: комментарий от anonymous

>Скорее среди бездельников, которым очень жалко бедных китайцев за то, что те не могут узнать про события на площади Тяньанмень.

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

Скажем, что может быть проще, чем раздача rss на jabber-аккаунты? Элементарно и удобно. При желании можно и более продвинутый интерфейс реализовать.

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

anonymous
()
Ответ на: комментарий от anonymous

>Интересно, с какой целью оно "криптуется"? Любой желающий ведь может дешифровать нужный файл, какой смысл?

Если только знает ключ. Нода ключ не знает.

>Да прям - не знает. А кто знает тогда?

Знает сеть, но не конкретная нода или достаточно большая их совокупность.

>Ну то есть в том, что всякого дерьма на твой винт напихают

Не напихают. Для параноиков можно сделать так, что доказать сам факт наличия хранилища будет невозможно.

Почитай про архитектуру Freenet, чтобы не задавать глупых вопросов.

Macil ★★★★★
()
Ответ на: комментарий от anonymous

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

И что мы им предъявим? И самое главное как докажем, что они распространяли файл? Предъявим суду N 32 килобайтных шифрованных кусков с некими неизвестно откуда взятыми ключами шифрования? Да я таких кусуов из /dev/random или числа "Пи" наберу сколько угодно.

Нашим российским провайдерам FreeNet пока не по зубам. У нас даже вроде самого обычного deep packet inspection нету, ибо дорого. А free net можно только по размеру распознать, ибо DH рулит.

Macil ★★★★★
()
Ответ на: комментарий от anonymous

> Не пойму, о чём это. Вот смотри, я хочу скачать некий файл, за который распространяющему турьма положена. Начинаю качать - получаю список айпишников, хозяева которых хранят куски.

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

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

> При необходимости повторяю несколько раз. Потом к данным людям высылаем наряды.

Почитайте доки к Фринету. Хотя бы для собственного удовольствия. Действительно, идея весьма интересная. Только воплощение медленное.

Uncle_Theodore ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.