IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2023/12/18
~dr|z3d
@RN
@T3s|4
@T3s|4_
@eyedeekay
@orignal
@zzz
+Hikari
+Minogami
+Unbur
+Xeha
+acetone
+profetikla
+snex
+uop23ip
+weko
An0nm0n
Arch
DeltaOreo
FreefallHeavens
Gid
Irc2PGuest13871
Irc2PGuest2974
Leopold
Liorar_
Nausicaa
Onn4l7h
StormyCloudInc
admin
anon
anontor
anu
cheddah
itsjustme_
j6
limak
not_bob_afk
poriori_
qend-irc2p_
u5657
orignal new day same shit. openssl did it again
orignal people started comlaining why i2pd doesn't work with openssl 3.2.0
dr|z3d here's China!
China HAHA
dr|z3d all good?
China I'm learning about i2p+
dr|z3d good stuff. /help/ section useful?
China Yes it's useful, but there's still a need part that isn't made clear.
dr|z3d well, as we discussed before, let me know where you think more info is required, and I'll consider adding the info.
China The /help/ part is not enough for the Chinese, there are important parts and not so important parts to make them clear and tell them what to do. Then they will understand.
China Yeah, I'll do that.
dr|z3d you can start with any questions you think should be added to the faq if you want.
China I'm trying to add a socks4/4a/5 tunnel I see that there are options in there that are needed, should I turn those on?
dr|z3d you're creating a server, or a client?
China Server
dr|z3d ok, and what options are you having difficulty understanding?
dr|z3d there's no specific socks tunnel server, you'd just select standard.
China Use the export proxy plugin instead of the proxy listed above
dr|z3d well, that's client.
China Whether or not to turn it on、
dr|z3d no. that's only useful if you've got the socks plugin installed and you want to use a different socks proxy.
dr|z3d Tor, for example, for your clearnet traffic.
China Is my understanding that it's just a matter of filling in the name, description, and the port and access address of the access point and (auto-starting the tunnel)?
dr|z3d for the client, sure. assuming you've specified the server correctly.
China Got it.
China I have compiled a list of commands to install from the start, I'll send it to you and you can see if it's correct, it's based on debian12,
China (16:49:21) China: su - root
China (16:49:25) China: adduser i2p
China (16:49:29) China: usermod -aG sudo i2p
China (16:49:32) China: su - i2p
China (16:49:37) China: sudo apt install mlocate openjdk-17-jdk-headless fonts-open-sans wget
China (16:49:47) China: mkdir ~/i2p/ && mv install.jar ~/i2p/
China (16:49:50) China: cd ~/i2p/
China (16:49:53) China: java -jar ./install.jar -console
China (16:49:57) China: nano ~/i2p/i2prouter
China (16:50:01) China: RUN_AS_USER=i2p
China (16:50:05) China: sudo /home/i2p/i2p/i2prouter install
China (16:50:11) China: sudo service i2p start
China nano /home/i2p/.i2p/router.config
China routerconsole.advanced=true
China Are important steps missing or omitted
dr|z3d that looks pretty spot on.
China I feel the same way.
dr|z3d good work *thumbs up*
China HAHA
China Once installed, it's time to use it, and I'll go ahead and organize some of the things I use.
China After installation and reboot we can SSH to the remote VPS and access the i2p+ web management page
China ssh -L 6666:127.0.0.1:7667 i2p@X.X.X.X.X
China This command is meant to forward the remote port 127.0.0.1:7667 to the local port which is not 6666.
China So you can access the i2p+ web by opening 127.0.0.1:6666
China The first thing we have to do is to change the language and the theme we like.
China You can add your account and password to the username and password section of this page so that you need to enter them every time you log in (it's more secure).
China The second step is to change the listening address of i2p+ to the Wireguard address so that we don't need to use SSH (if you don't know how to do this, check out my previous videos on psense and routeros).
China Change the address of the I2P+ routing console in there to your Wireguard's address
China net.i2p.router.web.RouterConsoleRunner -s 7667 127.0.0.1 -s 10.0.6.1 7667 . /webapps/
China (10.0.6.1 is the server address of my VPS-Wireguard, my local address is 10.0.6.2)
China It's important to note that this switch is not clickable once you're in there, so we'll have to go to SSH and turn it on in Super Mode.
China sudo nano /home/i2p/.i2p/router.config
China Add a line at the bottom and then save and exit to reboot
China routerconsole.advanced=true
China You can also change the login address directly under SSH:
China sudo nano /home/i2p/.i2p/clients.config.d/00-net.i2p.router.web.RouterConsoleRunner-clients.config
China The above two modifications achieve the same result.
China Here is the i2p+ email login address, you can also register your own email address
China If you are in China GFW is blocking the whole world, so we need a front proxy for i2p+ to replenish the seeds and links if you are deployed on a VPS that does not have this problem.
China Reboot and shutdown (here are some ways to reboot and shutdown)
China I'm writing them out.
dr|z3d ok, good stuff. when you have the finished document, let me know, I'll work out where we want to put it.
China Setting the broadband quota for the router Here's the download speed and upload speed Is there a recommendation or specific instructions for network sharing? Are there any advantages to their size?
dr|z3d the more you share, the better your client performance will be, the more cover traffic you'll have for your own activities.
dr|z3d and 80% of the totally allocated upstream bandwidth is about right.
dr|z3d *total
China Tunnel Options in the
China Probe Tunnel Inbound Length Quantity Outbound Leap Point Quantity What about these settings?
China I see what you mean.
dr|z3d for beginners, the defaults are normally fine.
dr|z3d what you do want to configure, though, is the new keys on reopen option in the http proxy client tunnel
China Since China's internet censorship is pretty sick, I wanted to teach them the most secure settings as well as methods.
dr|z3d reduce tunnels on idle to one, after say 10m, close on idle after 15m, new keys on reopen, yes!
China Where can I set this up?
dr|z3d tunnel manager -> I2P HTTP Proxy (client)
China What are the changes that need to be made here?
dr|z3d > reduce tunnels on idle to one, after say 10m, close on idle after 15m, new keys on reopen, yes!
China There are two options for scaling down the number of tunnels when idle
China and to close the tunnels when idle (not on).
dr|z3d this gives your proxy client a new b32 every time it starts after closing on idle, which prevents correlation between sites.
dr|z3d enable both as I've just indicated.
dr|z3d then enable new keys on reopen.
China Understand if it also applies to socks proxies
dr|z3d there's a short delay when the tunnel wakes up after it's closed, but it's an acceptable compromise.
dr|z3d sure, same deal.
dr|z3d Blinded message
dr|z3d Blinded message
dr|z3d Blinded message
China There's the start of the gibberish. After the reboot.
China ????? CVE-2023-36325 ???? CVE-2023-36325 ????????????????????? ????????? messageID ? I2NP ?????? messageID ??????? ???????????????????????????? ???????????????????? ??????????????????? ??????????? messageID ????????????????????????? ???????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????? ???? Java I2P ?????????????????????????????????????????????????
China ?????????????? not_bob ???????hosts?????notbob.i2p?ramble.i2p?????????????????????????? ????????????????IP??????????????????? ? sybil ???????????????????????????????????????????????????? ??????????????????????????????????API???????GUI(DTG)????? ???????????????????????????????????????????????????????? ???????????????????????
dr|z3d did you try the alternative font on /configui ?
China Switching languages?
China I don't see switching fonts, only languages.
dr|z3d top section.
dr|z3d (tickbox)
dr|z3d or slider, more correctly. "use alternative display font.."
China Using Alternative Display Fonts in Console and WebApps
dr|z3d see if enabling that helps.
China I installed a lot of Chinese fonts restarted as well as changed themes have not solved or gibberish state.
dr|z3d ok, that's strange.
dr|z3d I can't reproduce the issue here if I switch to Chinese in the console. If you browse to /news China, is the first entry right at the bottom, the welcome to i2p+ entry, also gibberish?
China The bottom is normal no nonsense
China 欢迎来到 I2P+! 在 I2P+ 启动和搜索对等节点时,请保持耐心。等待的过程中,请到配置页面调整您的带宽设置。 您还可以通过设置向导来运行带宽测试,以帮助确定带宽,并在帮助部分中提供新用户指南和其他文档(包括FAQ)。您也可以在更新配置页面中启用 I2P+ 更新。同时您也可以设置您的浏览器使用 I2P 代理访��
China 需在您的浏览器设置中输入 127.0.0.1(或 localhost)端口 4444 作为 http 代理即可。 请不要作为 SOCKS 代理使用。 详情请参见 I2P 浏览器代理设置页面。将您的 IRC 客户端指向 localhost:6668 并在 #saltR 上和我们打招呼。
China He's displaying it normally.
dr|z3d ok, so a possible upstream issue with encoding, then.. zzz, eyedeekay, do you want to see if there's an encoding issue with the news feed?
China I also see the garbled code in the performance charts
zzz but you havent reproduced, what can I do?
zzz get his full version info, I dont know where you moved it in plus
dr|z3d do I need to delete my existing news.xml in ~/.i2p/feed to pull the translations, assuming I've set the console language?
dr|z3d no, apparently not.
dr|z3d just a language change and a update news does the trick.
zzz ok I thought maybe you'd have to remove the timestamps in advanced config
dr|z3d ok, so not an upstream issue I'm thinking. news items display fine in chinese here. maybe an OS charset thing.
China Yes he can be normal reality at times. I rebooted and it stopped displaying properly
dr|z3d it's the ccp playing with you, China :)
zzz need full version info to see encoding
China Yeah, is there any way I can get them killed?
dr|z3d Can you open /info in the console, China, and tell use what the JSTL line reports.
zzz not jstl - encoding, charset
dr|z3d that'll give us all that.
zzz or have you changed that too
dr|z3d > JSTL:standard-taglib 1.2.0 Encoding: UTF-8 Charset: UTF-8
zzz sigh
dr|z3d (single line)
dr|z3d oh do behave yourself, zzz ;)
zzz we also have a CLI now to fetch and extract news of any language
zzz newshandler -l xx
zzz which looks fine from here
dr|z3d yeah, I'm tending towards thinking it's an OS-level issue.
dr|z3d because, as I said, chinese looks fine for the news, at least, I get boxes though for the graphs.
zzz maybe some strange xml thing but we appear to get it right>
zzz <?xml version='1.0' encoding='UTF-8'?>
zzz <feed xmlns:i2p="http://geti2p.net/en/docs/spec/updates" xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
dr|z3d yeah, that all looks fine.
China I2P:2.3.0-120+ API: 0.9.59 Wrapper: 3.5.51  Built by: dr|z3dRevision:2fdc9a60 (Build date: 2023-12-16 03:33:50 UTC)Platform:Linux amd64 6.1.0-16-amd64Processor:ZEN  Ryzen 7  [Jcpuid version: 3]Java:Debian 17.0.9 (OpenJDK Runtime Environment 17.0.9+9-Debian-1deb12u1)Jetty:9.3.30.v20211001 Servlet: Jasper JSP 2.3 EngineJBigI:Locally optimized library libjbigi-linux-zen_64.so loaded from
China GMP: 6.2.0JSTL:standard-taglib 1.2.0 Encoding: ANSI_X3.4-1968 Charset: US-ASCII
China standard-taglib 1.2.0 Encoding: ANSI_X3.4-1968 Charset: US-ASCII
China JSTL:standard-taglib 1.2.0  Encoding: ANSI_X3.4-1968 Charset: US-ASCII
dr|z3d that's likely the issue, China.
zzz maybe
zzz but I'd also go thru your entire CSS font list and validate for zh chars
China Is something wrong?
dr|z3d not a font issue, already been validated for chinese chars.
dr|z3d have a look at that link I just posted, China, see if following the instructions there helps.
dr|z3d let me qualify that. console font should be a.ok in chinese, the graph text may be a different matter.
dr|z3d China: can you also make sure you have the noto fonts installed.
dr|z3d apt install fonts-noto fonts-noto-cjk fonts-noto-cjk-extra
China I set it up the way you linked. Rebooting still messes up the code
dr|z3d ok, did you install, have you installed the fonts?
dr|z3d > apt install fonts-noto fonts-noto-cjk fonts-noto-cjk-extra
dr|z3d what's strange is that the rest of the console displays fine, just not the news.
China Yes, I installed them.
dr|z3d if it was a straight up font issue, all of it would render fine, or none of it.
China sudo apt install fonts-noto fonts-noto-cjk fonts-noto-cjk-extra
China Reading package lists... Done
China Building dependency tree... Done
China Reading state information... Done
China fonts-noto is already the newest version (20201225-1).
China fonts-noto-cjk is already the newest version (1:20220127+repack1-1).
China fonts-noto-cjk-extra is already the newest version (1:20220127+repack1-1).
China 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
China Yeah it's a weird question.
dr|z3d you could try sudo dpkg-reconfigure locales and adding chinese there if it's not already.
dr|z3d I don't have it explictly enabled and yet chinese displays fine in the console news section in chinese, so I'm just clutching at straws.
zzz may have found something
China Yes this step I have just added
dr|z3d what you got, zzz?
China Hello ZZZ
zzz if you cd to ~/.i2p/docs/feed/news and zcat or zmore one of the files does it look good or bad
China ZZZ love to
zzz this one is the 2.3.0 news: news-zXBMGD6inEu5IqmncJa-fHi2gGvdYwpAHc6kejBsz7s=.xml.gz
China cd i2p/
China root@amd:/home/i2p/i2p#
China root@amd:/home/i2p/i2p# ls
China INSTALL-headless.txt certificates eepsite hosts.txt i2ptunnel.config licenses webapps
China LICENSE.txt clients.config eepsite-jetty9.3 i2ping install.jar locale wrapper.config
China Uninstaller docs geoip i2prouter lib man wrapper.config.commented
China blocklist.txt eepget graceful_update i2psnark.config libjbigi.so runplain.sh
China blocklist_tor.txt eephead history.txt i2psvc libjcpuid.so scripts
China root@amd:/home/i2p/i2p#
China root@amd:/home/i2p/i2p#
China root@amd:/home/i2p/i2p# cd docs/
China root@amd:/home/i2p/i2p/docs#
China root@amd:/home/i2p/i2p/docs#
China root@amd:/home/i2p/i2p/docs# ls
China initialNews proxy readme startconsole.html themes
dr|z3d China, ~/.i2p/
China root@amd:/home/i2p/i2p/docs#
China root@amd:/home/i2p/i2p/docs#
China root@amd:/home/i2p/i2p/docs# cd
China initialNews/ proxy/ readme/ startconsole.html themes/
China root@amd:/home/i2p/i2p/docs#
dr|z3d not ~/i2p/
dr|z3d note the .
China There is no such folder.
dr|z3d cd ~/.i2p/docs/feed/news/
China root@amd:~# cd ~/.i2p/docs/feed/news/
China bash: cd: /root/.i2p/docs/feed/news/: No such file or directory
dr|z3d you're in root, not the i2p user account.
dr|z3d su - i2p
dr|z3d never run i2p as root.
China i2p@amd:~/.i2p/docs/feed/news$ ls
China 'news--KnFPPLAAqiB3NhN-KLb~SH9FeuI5dAc8hGVgovp51Q=.xml.gz' 'news-QvEmGDFBExZoEDpTmDm6~k6AjwvTIdNKACJfJNcVbc4=.xml.gz'
China 'news-1rqn2ZHnmh2VTtcTymsBim3sgG-Y33kqVraMMWvzvkU=.xml.gz' 'news-TQd1rhaoZgev8Th8Libe1V5cxoOHHr4eqo-JkM8vzrM=.xml.gz'
China 'news-3cCCKnnE4rXPRJIBP9g08uRJc7YT~51y0-bJ9HeM~-4=.xml.gz' 'news-TtbXvfhKDKArTtV8fwjswci1l3INS3PyF1uZGETCtLs=.xml.gz'
China 'news-50brgLMUN6t0Kr9uadwK86PrC-EYTtaB~fJrOl2gELg=.xml.gz' 'news-XCZjceucYonP6dXSzES26IbB7aH8hOBa39pRq-A2FbA=.xml.gz'
dr|z3d except via service start..
China 'news-5CovhsfHqi5-pS8rkYh4Rq5Bmb7h-a-3mUfRXtIiOi8=.xml.gz' 'news-ZubtWQDW8Lh1ZRgookErXlSmH-Zfy~x-SuuUmCEusXg=.xml.gz'
China 'news-5KZTFP1q3RDRjiB33w1OLailFocg51S7Bsjj7Rx-HUE=.xml.gz' 'news-c2wqX61WAgfnjIUEZkGqQa06RUbDAAMKGn9-m1fwPQs=.xml.gz'
China 'news-5ymba6bQGU-ZsCwq5UywU-iglUzwiregkC0K-iZ0RMg=.xml.gz' 'news-cWZv~gT3eCz9Kz0c9OiM~mLj6wBXdW1BfY8tUrZNsVs=.xml.gz'
China 'news-8kNoCig7jUwkzZK6LZqmYVVOWBVZ8s~oeJqY45IsarI=.xml.gz' 'news-cffrO71zUU473scRNWRQhSVP4Ko6uUt3XqM5X3y53lQ=.xml.gz'
China 'news-AbSphKLsnyBK8zOrTAIk0TyikRUt6XzrOR6WwpefreA=.xml.gz' 'news-efy~wAU4Oi-LT6kqbzjbFXZl4mC1To2yY3gHbh3Ujf4=.xml.gz'
China 'news-BD28V4xReX5gBMf6WuPyyM9AQ11SpJVWirqy59pWilE=.xml.gz' 'news-ehcvAXP~yAkSbqLUG~2ElOdRFW3PZb-YnA7jZAI1YKk=.xml.gz'
dr|z3d just zcat one of those files and see what the display looks like.
China _^k^H^@^@^@^@^@^@ ^mS n 0^L} W^Hz^]l ^ 4^A- ^L(P` 0l^_ ^K^Sk^ueA^v^z&_?%^y ^D ^\^z ^_4 #7 ^t<K^Egd SfS ^U ^E^r n'Qu28
China Au oM B$yV^h ^r ( 3^d @ &) e^z^W ^PN^@^F ^~:^y^k HD^l ,_ ^Q D^x)X^G ^oN ^G^r ^^ xC^x^S h| ^r ^} ^r ~ \b X^|>
China P 5~f ' T j ^G^R O ^G^h- X^C^@^@
China i2p@amd:~/.i2p/docs/feed/news$ cat news-KswApBgrEBkpEikPPqz~hqpk4npTub8Oyy8VPyJeDSY\=.xml.gz
China ��S�n�0
China }�zl�^�4-�
China (P`�0l�
China k�eA��&_?%���� �������4�#7�є<KgdڱSfS��������n'Qu28�
China Au�oMֶ�B$yV���풺�(�ע�����3��@��&)�e���N�՞:���HD���,_ ���D�)XߏN������xC��h|�������~�\b��X��L%キ+��v�n����@�\.afڇ?|�wjTm�O����<�]��ɊT���R�*/�O��_�c��3pn�-�YxC����؆Fe�^���I>ď�!���I��ܲ�����mb���n}�@=n�
China �{�/�TOę#]�Z{r&ng q
zzz zcat, not cat
China They're garbled.
China i2p@amd:~/.i2p/docs/feed/news$ zcat news-KswApBgrEBkpEikPPqz~hqpk4npTub8Oyy8VPyJeDSY\=.xml.gz
China <?xml version="1.0" encoding="utf-8"?>
China <entry><id>urn:uuid:5b1ccc70-2160-44cd-ad1e-2f0be6beb621</id><title>0.9.26 ??</title><updated>2016-06-07T12:00:00+00:00</updated><author><name>zzz</name></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>0.9.26 ??????????????????????????????????? Debian/Ubuntu ???????</p><p>??????????? GMP 6.0.0?????????????????????????
China ?????????????? GMP ???????????
China ?????GMP ????????? Debian/Ubuntu ????????? 0.9.27 ????????</p><p>?? Debian/Ubuntu ????????????????? Jetty 8 ? geoip????????????</p><p>????????????????????????????????????
China ???????????????????????
China ???????????????????????</p></div></content><link href="http://i2p-projekt.i2p/en/blog/post/2016/06/07/0.9.26-Release" rel="alternate" /><summary>0.9.26 ????????Debian ???????????</summary><published>2016-06-07T12:00:00+00:00</published></entry>i2p@amd:~/.i
dr|z3d for comparison:
dr|z3d zcat ./news-1rqn2ZHnmh2VTtcTymsBim3sgG-Y33kqVraMMWvzvkU\=.xml.gz
dr|z3d <?xml version="1.0" encoding="utf-8"?>
dr|z3d <entry><id>urn:uuid:6ed561d0-0f78-49e3-ab95-c6a10167155f</id><title>0.9.40 已发布</title><updated>2019-05-07T12:00:00+00:00</updated><author><name>zzz</name></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>0.9.40 支持新的租契集格式。
dr|z3d 我们已禁用旧的 NTCP 1 传输协议。
dr|z3d 有一个新的 SusiDNS 导入功能,以及一个用于传入连接的新的脚本化过滤机制。</p><p>我们对 OSX 原生的安装程序做了很多改进,以及更新了 IzPack 安装程序。
dr|z3d 继续使用新的图标焕新控制台。
dr|z3d 如往常一样,我们还修复了许多缺陷!</p><p>如往常一样,我们建议您升级到这个版本。维护安全并帮助网络的最佳方式就是运行最新版本。</p></div></content><link href="http://i2p-projekt.i2p/en/blog/post/2019/05/07/0.9.40-Release" rel="alternate" /><summary>0.9.40 有新的图标</summary><published>2019-05-07T12:00:00+00:00</published></entry>
China Yours is realistically normal and mine is wrong.
dr|z3d yeah, hang tight, zzz's got his thinking hat on.
China HAHAHAHA
China What version of Linux are you using?
dr|z3d debian-based.
China ubuntu ?
dr|z3d opsec. never reveal more info than required. debian-based :)
China Are there any third-party plug-ins for i2p+ that would be useful?
dr|z3d if you want to run a blog, have a look at railroad.
China Yes I understand and am supportive
zzz yeah the workaround is to fix your OS encoding/charset to be UTF-8, and delete all the routerconsole.news* in advanced config, and restart and refetch news
zzz the fix on our side is:
zzz diff --git a/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java b/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java
zzz index c209fc571..f4ca28dc5 100644
zzz --- a/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java
zzz +++ b/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java
zzz @@ -74,7 +74,7 @@ class PersistNews {
zzz rv = true;
zzz Writer out = null;
zzz try {
zzz - out = new OutputStreamWriter(new GZIPOutputStream(new SecureFileOutputStream(file)));
zzz + out = new OutputStreamWriter(new GZIPOutputStream(new SecureFileOutputStream(file)), "UTF-8");
zzz out.write(XML_START);
zzz XMLParser.toString(buf, entry);
zzz out.write(buf.toString());
dr|z3d ok explicitly writing out as utf-8. good catch.
dr|z3d China: did you understand zzz's instructions?
zzz OutputStreamWriter defaults to platform encoding
China Yes I see, is this a targeting error?
dr|z3d it's an encoding issue.
dr|z3d when the news is fetched, it's written to disk in the file system's default encoding, which, if it's not utf-8, can cause issues with news display for languages that expect utf-8.
China I see. I'll move on to other matters.
dr|z3d once you've followed zzz's intstructions, the news should display correctly, and he's also supplied a fix so it shouldn't happen in future.
China Yes, I'm trying to fix them.
dr|z3d you could also just change the console language to english, go to /configupdate, hit the "check for updates" button, wait for the news to be displayed in english, then change the console language back to chinese, hit check for updates again on /configupdate
dr|z3d that should have the same effect.
China Do I need to set up anything special or turn off or on anything on a VPS without IPV6?
China Don't mind my questions, I'm just trying to wholeheartedly make this tutorial more complete so that more people can read it
dr|z3d have a look at /confignet
dr|z3d disable ipv6, also "use ssu IP address detection only"
dr|z3d and assuming you've correctly opened your i2p port, you can select the "Always use auto-detected IP address (not firewalled)" option.
dr|z3d Reminder: until upstream publishes the 2.4.0 update on postman's tracker, if you update to I2P+ 2.4.0+ do NOT let anyone know you have.
T3s|4_ lols dr|z3d - will remember -121+ as one for the ages :D