<?xml version="1.0" encoding="windows-1251" ?>
<rss version="2.0">
<channel>
	<title><![CDATA["Главная" ветка + Другое]]></title>
	<description>Новости форума, Всё о Direct Connect, Ваши проекты, Общалка aka Флуд, Гостевой форум, DC-клиенты, Отдельные боты</description>
	<link>http://mydc.ru/index.html</link>
	<pubDate>Tue, 07 Sep 2010 11:13:16 +0400</pubDate>
	<ttl>60</ttl>
	<item>
		<title>Почему прикрутили Lua, а не Tcl ?</title>
		<link>http://mydc.ru/topic3854.html</link>
		<description><![CDATA[Почему прикрутили Lua, а не Tcl ?<br />Ведь Tcl позволяет создавать приложения с виндовым интерфейсом, в отличие от текстовых, а-ля доступных, IRC-подобных, где в чате пишут слово и его можно лишь оформить стандартными параметрами шрифта, ну еще, для полного кайфа добавить смайлики.<br />Как крайность вспомнить ASCII-графику, без уверенности, что у клиентов стоит такой же шрифт, который не сведёт всю многочасовую подгонку пробелов на нет...<br />Имеем в итоге: ирка плюс обмен файлами. Всё!<br />В ирке (IRС) было всё то же самое...  И это было в 20-ом (!) веке.<br />А ведь у нас 21-й век, если что...<br /><br />Создать удобоваримое, оконное приложение в окне чата технологии-то позволяют...<br />Почему мы этим не пользуемся?<br /><br />Представьте - одна закладка - общий чат, другая закладка - игра танчики, да, давно знакомая и всеми любимая, в онлайне, так, сказать.<br />В других закладках - Судоку, Покер, Виселица, и прочее, и прочее.<br />И все без прокрутки экрана. Вы помните жалкие потуги таких игр из века текстовых игр, когда необходимо было вводить символ, а потом отматывать назад, чтобы "поймать" нить разговора или вспомнить свой ход?<br />С привлечением игроков не один-на-один, а пару-на-пару, трое-на-трое и т.д.<br />Возможности не ограничены.<br />Ограничены лишь мы, пользователи. :(<br />Почему?]]></description>
		<pubDate>Tue, 07 Sep 2010 01:01:13 +0400</pubDate>
		<guid>http://mydc.ru/topic3854.html</guid>
	</item>
	<item>
		<title>DC++ Hub Hosting</title>
		<link>http://mydc.ru/topic3839.html</link>
		<description><![CDATA[Предлагаю к вашему вниманию Windows хаб-хостинг.<br />Имею возможность хостить DC++ хабов на следующем хаб-софте:<br />PtokaX,HeXHub.<br />Расположение серверов - США и Украина.<br />Каналы от 10 до 100 мегабит<br />В скором времени будет возможность хостить и linux хабы.<br />Оплата через Webmoney.Возможен индивидуальный подход к клиенту.<br />При покупке хостинга порт не важен.<br />Тарифы (актуальность спрашивать в аське)<br />500 users - 8$ (250р)<br />1000 users - 12$ (370р)<br />1500 users - 14$ (430р)<br />2000 users - 16$ (500р)<br /><br /><b>Связь со мной - icq 2934446</b>]]></description>
		<pubDate>Sun, 29 Aug 2010 22:01:02 +0400</pubDate>
		<guid>http://mydc.ru/topic3839.html</guid>
	</item>
	<item>
		<title>подскажите</title>
		<link>http://mydc.ru/topic3811.html</link>
		<description>Помогите советом скачал дс++ клиент  а файлы для скачивания не открываются! Расшарил свои файлы до 75 гигов! что делать?</description>
		<pubDate>Sat, 21 Aug 2010 23:12:52 +0400</pubDate>
		<guid>http://mydc.ru/topic3811.html</guid>
	</item>
	<item>
		<title>Домены 3-его уровня в зоне hub21.ru</title>
		<link>http://mydc.ru/topic3736.html</link>
		<description><![CDATA[Я не жадный, сделаю и свой вклад в этот тематический раздел. <img src="http://mydc.ru/style_emoticons/default/big_smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="big_smile.gif" /> <img src="http://mydc.ru/style_emoticons/default/big_smile1.gif" style="vertical-align:middle" emoid=":D" border="0" alt="big_smile1.gif" /> <br />Многие могут спросить, что значит цифра 21 в домене. 21 - это номер региона, Чувашия.<br /><br /><div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Сейчас уже заняты домены</div></div><div class="sp-body"><div class="sp-content"><br />adc.hub21.ru<br />adc-ew.hub21.ru<br />cheb.hub21.ru<br />dc.hub21.ru<br />dc-cool.hub21.ru<br />ew.hub21.ru<br />ew.cheb.hub21.ru<br />ewcool.hub21.ru<br />ewdc.hub21.ru<br />ewsaymon.hub21.ru<br />files.hub21.ru<br />files-ew.hub21.ru<br />forum.hub21.ru<br />forum-ew.hub21.ru<br />images.hub21.ru<br />images-ew.hub21.ru<br />p2p.hub21.ru<br />p2p-ew.hub21.ru<br />stat.cool.hub21.ru<br />www.hub21.ru<br />www.cool.hub21.ru<br />www.stat.cool.hub21.ru<br />mail.hub21.ru<br />test-rus.hub21.ru<br />конечно пока не все домены использую, но в переди планов море <img src="http://mydc.ru/style_emoticons/default/big_smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="big_smile.gif" /><br /><div class="clear"></div></div></div></div><br /><br />PS. После добавления домена, я не буду писать пост, что ваш домен был добавлен. Смотрите в списке выше.]]></description>
		<pubDate>Thu, 05 Aug 2010 19:42:58 +0400</pubDate>
		<guid>http://mydc.ru/topic3736.html</guid>
	</item>
	<item>
		<title>UserVPS)</title>
		<link>http://mydc.ru/topic3725.html</link>
		<description>Ребят, никто не согласится похостить хаб за умеренную плату? Что-то вроде vps хостинга...</description>
		<pubDate>Wed, 04 Aug 2010 11:19:25 +0400</pubDate>
		<guid>http://mydc.ru/topic3725.html</guid>
	</item>
	<item>
		<title>Может кто-нибудь разбанит? :)</title>
		<link>http://mydc.ru/topic3717.html</link>
		<description><![CDATA[Привожу лог с хаба dc.mydc.ru:<br /><br /><!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->[22:37:26] &lt;Alexey&gt; так всё русским языком написано, пояснения излишни<br />[22:37:35] &lt;Васек.444&gt; там [CENSORED]абольство было<br />[22:37:39] &lt;Васек.444&gt; написано<br />[22:37:54] &lt;Alexey&gt; [CENSORED]абольство у тебя в черепной коробке<br />[22:38:05] &lt;Alexey&gt; а там всё доходчиво написано<br />[22:38:31] &lt;Васек.444&gt; вот спасибо<br />[22:38:35] &lt;Васек.444&gt; ща <br />[22:38:57] &lt;Qwik&gt; где-где [CENSORED]абольство?<br />[22:39:09] &lt;Qwik&gt; я плохо вижу<br />[22:40:06] &lt;Васек.444&gt; и нету такого<br />[22:44:37] &lt;Tsd&gt; ругаться матом плохой знак<br />[22:49:03] &lt;Qwik&gt; какой на[CENSORED] мат?<br />[22:49:16] &lt;Qwik&gt; никакого [CENSORED] мата<br />[22:49:24] &lt;Qwik&gt; оно само<br />[22:49:34] &lt;X-Sky&gt; Шалим?<br />[22:49:48] &lt;X-Sky&gt; Ещё мат - идём на йух с хаба<br />[22:49:59] &lt;Qwik&gt; немножко) но не нарушаем [CENSORED<br />[22:50:14] &lt;Qwik&gt; блин, не докопировал скобочку...<br />[22:50:34] &lt;Qwik&gt; все короче  [CENSORED]<br />[22:50:59] * Qwik ощущает себя заядлым матершинником<br />[22:51:06] &lt;X-Sky&gt; Ты надо мной угарать решил или сомневаешься во мне?<br />[22:51:09] &lt;Qwik&gt; :рад:<br />[22:51:45] &lt;Qwik&gt; ага... я телепат)<br />[22:52:02] &lt;Qwik&gt; знал, что ты читаешь и тут, решил лично над тобой поугарать<br />[22:52:37] &lt;Qwik&gt; железная логика...<br />[22:52:48] &lt;Tsd&gt; Qwik: где ты прочитал что этот хаб для отморозков?<br />[22:53:26] &lt;Qwik&gt; Tsd: говори прямо, кто отморозок и по каким причинам)<br />[22:53:43] &lt;Tsd&gt; дуй на свой там и выливай понос<br />[22:54:01] &lt;Tsd&gt; тут не надо, тут тематический хаб<br />[22:54:06] &lt;X-Sky&gt; Со своей железной логикой добро пожаловать на другие хабы<br />[22:54:08] &lt;Qwik&gt; какой понос? я ещё ничего оскорбительного не сказал =)<br />[22:54:12] &lt;Tsd&gt; поправьте если неправ<br />[22:54:13] &lt;Qwik&gt; кроме слова "понос"<br />[22:54:29] &lt;Qwik&gt; и матного тем более)<br />[22:55:15] &lt;Qwik&gt; полный [CENSORED], короче.<br />[22:55:17] &lt;Tsd&gt; а сензоред это что<br />[22:55:25] &lt;Tsd&gt; вот вот<br />[22:55:27] &lt;Qwik&gt; это я копирую сам<br />[22:55:36] &lt;Qwik&gt; я не могу слово "[CENSORED]" написать?<br />[22:55:45] &lt;Tsd&gt; можете<br />[22:55:50] &lt;Qwik&gt; кто-то тут перегрелся)<br />[22:55:56] &lt;Tsd&gt; но нежелательно тут<br />[22:55:57] &lt; Дворецкий &gt; Вы были забанены по причине: Докопировался.<br />[22:55:58] *** Соединение закрыто<br />[22:55:58] *** Соединение с hub.mydc.ru...<br />[22:55:59] *** Соединён<br />[22:55:59] &lt; Дворецкий &gt; Вы были временно забанены на этом хабе! Вам осталось ждать: 27 дней 23 часов 59 мин 59 сек<br />IP: 95.26.30.91<br />Причина: Докопировался<br />Кем забанен: X-Sky<br />Добро пожаловать в местную баню! ;)<!--QuoteEnd--></div><!--QuoteEEnd--><br /><br />Как понятно, что мата не было, а просто вставка слова "[CENSORED]". Интересная политика - банить за такое, по-моему.<br /><br />Решил зайти на хаб X-Sky:<br /><br /><!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->[22:59:51] &lt;Qwik1&gt; эх ты... сурьёзный дядька LOL<br />[23:00:35] &lt;Zrachok&gt; пацаны с днем ВДВ<br />[23:00:37] &lt;X-Sky&gt; Qwik1: Сюда пришёл показать себя?<br />[23:00:49] &lt;Shuldiner_79&gt; :эххе:<br />[23:00:50] &lt;Qwik1&gt; X-Sky: неа... я такими вещами не занимаюсь<br />[23:01:05] &lt;Qwik1&gt; показывать себя)<br />[23:01:20] &lt;X-Sky&gt; Qwik1: Ну вот и всё. Прошу покинуть хаб по хорошему, либо же сидеть без выебонов.<br />[23:01:31] &lt;Qwik1&gt; а вот кто-то решил показать себя...<br />[23:01:39] &lt;Qwik1&gt; ниодного не было<br />[23:01:52] &lt;Zrachok&gt; доброй ночи<br />[23:01:57] &lt;X-Sky&gt; Zrachok: Доброй<br />[23:02:17] &lt;Qwik1&gt; слово "выебон" само по себе недопустимо... да толку, я то проживу и без этого хаба и без того<br />[23:02:25] &lt;Zrachok&gt; что ругаетесь?<br />[23:02:41] &lt;X-Sky&gt; Qwik1: Я тебе по-русски написал, сиди спокойно общайся, иначе будешь получать за свои "копированые" [CENSORED].<br />[23:02:41] &lt;Qwik1&gt; а тем более от человека следящим за порядком :(<br />[23:03:15] &lt;X-Sky&gt; Zrachok: Человек пришёл отношения выяснять. Сидим толкуем что-почём.<br />[23:03:48] &lt;Qwik1&gt; я даже не начинал ругаться и не начну)<br />[23:03:56] &lt;Qwik1&gt; нет повода и темы<br />[23:04:10] &lt;Qwik1&gt; а кто-то решил свою "власть" показать, эх...<br />[23:04:16] &lt;X-Sky&gt; Qwik1 Вот и всё, закрыли тему значит.<br />[23:04:34] &lt;X-Sky&gt; Власть? Я тебе покажу щас власть, выводить меня пытаешься чтоли?<!--QuoteEnd--></div><!--QuoteEEnd--><br /><br />Как-то очень сурово выглядит... Или я всё же не прав?]]></description>
		<pubDate>Sun, 01 Aug 2010 23:26:17 +0400</pubDate>
		<guid>http://mydc.ru/topic3717.html</guid>
	</item>
	<item>
		<title>Игнор по IP</title>
		<link>http://mydc.ru/topic3713.html</link>
		<description>Скажите, реально ли написать скрипт игнорирования по IP-адресу?</description>
		<pubDate>Sat, 31 Jul 2010 12:43:19 +0400</pubDate>
		<guid>http://mydc.ru/topic3713.html</guid>
	</item>
	<item>
		<title>Новая сказка про репку</title>
		<link>http://mydc.ru/topic3711.html</link>
		<description><![CDATA[<b><div align='center'><!--sizeo:6--><span style="font-size:24pt;line-height:100%"><!--/sizeo-->Новая сказка про репку <!--sizec--></span><!--/sizec--></div></b><br /><br /><b>Все мы выросли на ”Сказке про репку&#8221;. Это была самая первая сказка, что мы усвоили с рождения. Мудрая, отполированная поколениями, она призвана задать детям правильные жизненные ориентиры, заложить основы представлений о труде и работе в коллективе. </b><br /><br />Суть сказки мы все помним: некто Дед вложился в проект, который оказался ему не по силам. Увы, так бывает. Это тоже необходимо знать малышам с рождения. Но это не беда дед не отступился, не махнул рукой, не продал бизнес. Он принялся расширять производственные мощности, заинтересовав партнеров. Малышам пока не важно, на каких долевых паях строилось сотрудничество, но очевидно, что в итоге репки хватило всем. <br /><br />Важно другое: каждый следующий партнер приводил в проект своего знакомого специалиста, и тот активно включался в работу. Помните: ”Мышка за Кошку, Кошка за Жучку, Жучка за Внучку, Внучка за Бабку, Бабка за Дедку, Дедка за Репку вытянули...&#8221; <br /><br />Интересен в сказке образ Мышки. Ведь мышь самое маленькое и слабое существо. Однако именно ее вклад в коллективную работу привел к успеху всего предприятия! Что тоже является для малыша важным жизненным уроком ведь он пока сам такая же мышка в мире взрослых. Также следует отметить безупречную организацию труда: скажем, попади Мышка между Дедкой и Бабкой, ее бы разорвало. Но производство спланировано грамотно, и силы распределены по убыванию. Когда в детстве нам мамы читали сказку, мы, не умеющие читать, изучали картинки, где выстраивались в цепочку по уменьшению роста и сил Дедка, Бабка, Внучка, Жучка, Кошка, Мышка... Глядя на эту интуитивно понятную экспоненту, мы понимали, что это правильно организованное дело, так и надо. <br /><br />Прошли годы, в обществе появились неведомые нам когдато проблемы, чтото безнадежно разладилось, и, как следствие, разладилась детская литература. Ведь литература и искусство крайне болезненно реагируют на процессы в обществе. Я сейчас не говорю о качестве современных детских стишков, когда при чтении вслух пытаешься их редактировать, чтобы не было так стыдно перед ребенком за чудовищные рифмы и непопадание в падежи. Я не говорю о качестве современных картинок. Вы все это знаете и без меня, а если нет загляните в любой ларек с детскими книжками. <br /><br />Но я был крайне удивлен, когда выяснилось, что сегодня купить годовалому сыну традиционную ”Сказку о репке&#8221;  большая проблема. Разумеется, сказка имеется, причем в широком ассортименте. Но книжки эти, увы, продукт нынешней эпохи. Полистав несколько книжек подряд, мы обнаружили, что хоть текст болееменее сохранился (согласитесь, в нем трудно чтото испортить), но у современных оформителей в голове безнадежно разладилось понимание главного. Они не понимают смысла сказки! На современных иллюстрациях не найти привычной нам ”экспоненты&#8221;, нет цепочки коллективного труда. Но это тоже полбеды. Беда в том, что вместо этого на бумагу полезло коллективное бессознательное всех тех процессов, которые царят сегодня в стране и головах. <br /><br />Дело не в художественном стиле. Пусть в каждый рисунок ручной техники (отсканированный на халяву со старых книг, что ли?) <br /><br />прилепляют на компьютере пару аляповатых цветочков и идиотское солнышко, выдранные из какогото клипарта, и пускают на прилавок этот наспех слепленный для продажи гибрид цифрового и аналогового <br /><br />к такому мы привыкли. Это тоже, конечно, диагноз эпохи, ведь все наши раскраски Штирлица и пересъемки ”Мушкетеров&#8221;  репка с того же огорода. Но дело даже не в этом. <br /><br />Для примера рассмотрим одну из книжек, что продаются сегодня. Они на самом деле почти все такие. Но эта особенно показательна. В ней, как в зеркале, все то, что происходит в России. <br /><br /><a href='http://mydc.ru/ipb.html?act=attach&type=post&id=4788'>http://mydc.ru/ipb.html?act=attach&type=post&id=4788</a><br /><br />Дед, одетый в шапку не по сезону, тянет репку и вытянуть не может. Пока все правильно. Обратим внимание на остальных персонажей, они все герои нашего времени. Бабку Дед не зовет она и так здесь числится с самого начала, но Деду не помогает. Персонаж Бабка нам знаком и понятен ведь это старый неувольняемый сотрудник предприятия. Бабка ни на что не способна нет сил, нет энергии, не умеет, не понимает, а учиться поздно. Чтобы ее не выгнали, оставив без репки, Бабка пытается изображать свою причастность как умеет: пустой суетой, охами и жестами. То, что называют симбурде (симуляция бурной деятельности). Такой она будет в каждом рисунке до конца книжки. Мы видим и Внучку, которую по тексту должна позже привести Бабка, но Внучка тоже здесь с самого начала, а дело Деда ей по барабану. Наконец, мы видим Мышку. Мышка ворует лук открыто, цинично, пока Деду не до того. При полном попустительстве Бабки и за спиной Внучки. <br /><br /><a href='http://mydc.ru/ipb.html?act=attach&type=post&id=4789'>http://mydc.ru/ipb.html?act=attach&type=post&id=4789</a><br /><br />Работа на рисунке не движется с полным непопаданием в текст. Дед, простите за выражение, курит. Бабка симбурде. Внучка, если трактовать рисунок буквально, ”чешет репу&#8221;. Внучка здесь классический образ молодого сотрудника, взятого на ставку по родственной линии: работать еще не умеет, но уже и не хочет. Обратим внимание на Мышку сегодня Мышка тырит с предприятия морковь. Фактически это единственный постоянно работающий персонаж, но только на свой карман, мимо общего дела. <br /><br /><a href='http://mydc.ru/ipb.html?act=attach&type=post&id=4790'>http://mydc.ru/ipb.html?act=attach&type=post&id=4790</a><br /><br />Здесь апофеоз все современные проблемы вскрыты окончательно. Дед, отчаявшись получить помощь, снова безуспешно работает в одиночку. Бабка симбурде. Внучка занята своими делами. И у нас добавились еще два персонажа Жучка и Кошка. Это шикарные персонажи. Кто они? Сразу оговорюсь: мне бы очень не хотелось получить какието упреки в неполиткорректности. Но, согласитесь, ведь и ”лицами славянской национальности&#8221; их тоже называть некорректно? Это братские нам народы, но в старой сказке это не имело никакого значения для нас не было решительно никакой разницы между Внучкой и Жучкой, потому что все были заняты одним общим делом. Сегодня ситуация поменялась: распалось былое единство, а собака и кошка, предоставленные самим себе, конечно же, вспомнили старинную вековую вражду. Какая тут работа? Со всем своим животным темпераментом они принялись выяснять отношения. Жучка дерет Кошку, Кошка шипит и пускает когти, а Внучка радуется и подзуживает. <br /><br />Ну, а теперь обратим внимание на Мышку. Ту самую Мышку, про которую мы тоже уже давно все поняли. У Мышки все хорошо. Зачем ей репа? Кому вообще в наше время нужна дурацкая, реликтовая репа? Кто сегодня хочет питаться репой, если имеется лук, морковь, тыква... <br /><br />Имелись. Но пока вбухивались огромные силы в бессмысленное вытягивание нелепой, грандиозной и безнадежно устаревшей отечественной репы, Мышка подобрала под себя весь лук, всю морковь и, наконец, оккупировала тыкву, которая размерами намного превышает даже пресловутую репу, ”большуюпребольшую&#8221;. <br /><br />Задумаемся, откуда взялась эта тыква? Ведь еще недавно на этом самом месте стоял дом! Дом с окошком, трубой, завалинкой! Фактически это было центральное офисное здание, вся недвижимость, числившаяся на балансе этого несчастного предприятия! Как? В какую такую полночь недвижимость превратилась в тыкву и оказалась целиком под какойто Мышкой?! Поразительный фокус, который, к сожалению, давно стал частью привычной нам реальности. Сказать, что Мышка довольна,  значит, ничего не сказать. Естественно, она торжествует, ее лыба шире плеч, а щеки приходится крепко держать, чтоб не лопнули! Мышка пальцует хвост штопором и дразнится, высунув язык, корчит рожи издалека. Ничего подобного этот тихий зверек себе раньше не позволял Мышка свои дела проворачивала молча, изображая на мордочке умильность. Откуда вдруг такая безнаказанность? И мы понимаем: художник изобразил ее на самом дальнем плане картинки, подчеркивая, что Мышка давно вне досягаемости. Фактически в Лондоне. <br /><br />И даже не так обидно, что оформители простодушно (я уверен, это выплеснулось бессознательное) изобразили сегодняшние реалии. Но на таких книжках растут новые дети! Кем вырастут они? Внучкой? Жучкой и Кошкой? Мышкой? <br /><br /><a href='http://mydc.ru/ipb.html?act=attach&type=post&id=4791'>http://mydc.ru/ipb.html?act=attach&type=post&id=4791</a> <br />Леонид КАГАНОВ]]></description>
		<pubDate>Fri, 30 Jul 2010 21:56:34 +0400</pubDate>
		<guid>http://mydc.ru/topic3711.html</guid>
	</item>
	<item>
		<title>WMP</title>
		<link>http://mydc.ru/topic3710.html</link>
		<description><![CDATA[Добрый день всем. <br />Хочю спросить, почему WMP 11 через DC++ часто нехочет показывать артиста, а только название трека? Может есть какой нормализатор тегов? И что конкретно надо переделывать?]]></description>
		<pubDate>Fri, 30 Jul 2010 11:44:23 +0400</pubDate>
		<guid>http://mydc.ru/topic3710.html</guid>
	</item>
	<item>
		<title><![CDATA[lock2key для hublist'а]]></title>
		<link>http://mydc.ru/topic3705.html</link>
		<description><![CDATA[Итак, по порядку. Известно что хаблисты используют схему $Lock-$Key. Основная проблема заключаеться в том, что этот алгоритм чуть-чуть отличается от обычного. Если быть точным, ровно на первый байт.<br /><br />В интернете видел информацию, что большинство хаблистов благополучно игнорируют правильность этого кода и есть там один, особо задиристый. Однако, чем черт не шутит. Поэтому наваял свою реализацию на PHP.<br /><br />Но, буду последователен. Исходником послужил код из исходников PtokaX хаба:<br /><!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->uint16_t lport =&nbsp;&nbsp;&#40;uint16_t&#41;ntohs&#40;addr.sin_port&#41;;<br />char cMagic = &#40;char&#41; &#40;&#40;lport&0xFF&#41;+&#40;&#40;lport&#62;&#62;8&#41;&0xFF&#41;&#41;;<br /><br />// strip the Lock data<br />char *temp;<br />if&#40;&#40;temp = strchr&#40;sBuffer+6, ' '&#41;&#41; != NULL&#41; {<br />&nbsp;&nbsp;&nbsp;&nbsp;temp&#91;0&#93; = '&#92;&#48;';<br />}<br /><br />// Compute the key<br />memcpy&#40;sMsg, &#34;$Key &#34;, 5&#41;;<br />sMsg&#91;5&#93; = '&#92;&#48;';<br />size_t iLen = temp-sBuffer;<br />char v;<br /><br />// first make the crypting stuff<br />for&#40;size_t i = 6; i &#60; iLen; i++&#41; {<br />&nbsp;&nbsp;&nbsp;&nbsp;if&#40;i == 6&#41; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v = sBuffer&#91;i&#93; ^ sBuffer&#91;iLen&#93; ^ sBuffer&#91;iLen-1&#93; ^ cMagic;<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v = sBuffer&#91;i&#93; ^ sBuffer&#91;i-1&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;// Swap nibbles &#40;0xF0 = 11110000, 0x0F = 00001111&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;v = &#40;char&#41;&#40;&#40;&#40;v &#60;&#60; 4&#41; & 0xF0&#41; | &#40;&#40;v &#62;&#62; 4&#41; & 0x0F&#41;&#41;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;switch&#40;v&#41; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 0&#58;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat&#40;sMsg, &#34;/%DCN000%/&#34;&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 5&#58;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat&#40;sMsg, &#34;/%DCN005%/&#34;&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 36&#58;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat&#40;sMsg, &#34;/%DCN036%/&#34;&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 96&#58;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat&#40;sMsg, &#34;/%DCN096%/&#34;&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 124&#58;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat&#40;sMsg, &#34;/%DCN124%/&#34;&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 126&#58;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat&#40;sMsg, &#34;/%DCN126%/&#34;&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&#58;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strncat&#40;sMsg, &#40;char *&#41;&v, 1&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<!--c2--></div><!--ec2--><br />На старте задается lport как локальный порт хаба, в подключении к хаблисту. У хаблиста порт, естественно, 2501. У нас же, тот что назначит система, а значит случайный.<br />sBuffer - содержит исходный $Lock код. sMsg - по завершении будет содержать нужный $Key код.<br /><br />Теперь собственно код на PHP:<br /><!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->function lock2key&#40;$_LOCK, $port&#41;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;$lockLength = strlen&#40;$_LOCK&#41;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;$LockToKey = '';<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for &#40;$j = 0; $j &#60; strlen&#40;$_LOCK&#41;; $j++&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&#40;$j == 0&#41; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$h = ord&#40;$_LOCK{0}&#41; ^ 0 ^ ord&#40; $_LOCK{ $lockLength - 1} &#41; ^ &#40;$port % 256 + &#40;$port&#62;&#62;8&#41; % 256&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$h = ord&#40;$_LOCK{$j}&#41; ^ ord&#40;$_LOCK{$j-1}&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$h = $h % 256;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a = &#40;&#40;$h&#60;&#60;4&#41; & 240&#41; | &#40;&#40;$h&#62;&#62;4&#41; & 15&#41;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&#40;$a == '126' or $a == '124' or $a == '96' or $a == '36' or $a == '5' or $a == '0'&#41; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$LockToKey .= &#34;/%DCN&#34;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if &#40;$a &#60; 100&#41; $LockToKey .= &#34;0&#34;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if &#40;$a &#60; 10&#41; $LockToKey .= &#34;0&#34;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$LockToKey .= $a;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$LockToKey .= &#34;%/&#34;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$LockToKey .= chr&#40;$a&#41;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return $LockToKey;<br />}<!--c2--></div><!--ec2--><br />Из заметных отличий от стандартного следующие:<br /><!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->$h = ord&#40;$_LOCK{0}&#41; ^ 0 ^ ord&#40; $_LOCK{ $lockLength - 1} &#41; ^ &#40;$port % 256 + &#40;$port&#62;&#62;8&#41; % 256&#41;;<!--c2--></div><!--ec2--><br />Используется связка первого символа с нулем (вместо последнего символа), а затем с последним символом (вместо предпоследнего). Также, вместо константы 5, используется магический байт вычисляемый как сумма верхнего и нижнего байта шестнадцетиричного представления номера порта.<br />Все остальные "отличия" - экономия "на спичках" + изменения форматирования, не меняющие алгоритма работы.<br />Функция принимает два параметра, строку $Lock и номер порта.<br /><br />Было бы неплохо этот код обосновать в соответствующей теме, описания протокола.]]></description>
		<pubDate>Thu, 29 Jul 2010 02:10:23 +0400</pubDate>
		<guid>http://mydc.ru/topic3705.html</guid>
	</item>
</channel>
</rss>