<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/index.php?action=history&amp;feed=atom&amp;title=User%3AChaser_Zaks%2Flsl_dns</id>
	<title>User:Chaser Zaks/lsl dns - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/index.php?action=history&amp;feed=atom&amp;title=User%3AChaser_Zaks%2Flsl_dns"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Chaser_Zaks/lsl_dns&amp;action=history"/>
	<updated>2026-06-07T14:49:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Chaser_Zaks/lsl_dns&amp;diff=1204521&amp;oldid=prev</id>
		<title>Chaser Zaks at 05:00, 16 August 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Chaser_Zaks/lsl_dns&amp;diff=1204521&amp;oldid=prev"/>
		<updated>2016-08-16T05:00:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:00, 15 August 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You may also want to see the [[#See_also|other LSL DNS options]]. If this doesn&amp;#039;t suit your needs, maybe the others will. Or maybe they will just look more appealing to you.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You may also want to see the [[#See_also|other LSL DNS options]]. If this doesn&amp;#039;t suit your needs, maybe the others will. Or maybe they will just look more appealing to you.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Eyy, time to fix some stuff:&amp;lt;br/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Running on Debian Jessie x64, Written in Python 3, served off Apache, with MySQL as a database.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Running on Debian Jessie x64, Written in Python 3, served off Apache, with MySQL as a database.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Supports proxying and non-proxying(via 307 Temporary Redirect and Location header).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Supports proxying and non-proxying(via 307 Temporary Redirect and Location header).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* XHR supported, must be enabled via headers.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* XHR supported, must be enabled via headers.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Made to use as little LSL code size as possible.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Made to use as little LSL code size as possible.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Domains are accessible through UUID or a custom name(which is optional)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Documentation==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Documentation==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Chaser Zaks</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Chaser_Zaks/lsl_dns&amp;diff=1204520&amp;oldid=prev</id>
		<title>Chaser Zaks at 05:00, 16 August 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Chaser_Zaks/lsl_dns&amp;diff=1204520&amp;oldid=prev"/>
		<updated>2016-08-16T05:00:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:00, 15 August 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You may also want to see the [[#See_also|other LSL DNS options]]. If this doesn&amp;#039;t suit your needs, maybe the others will. Or maybe they will just look more appealing to you.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You may also want to see the [[#See_also|other LSL DNS options]]. If this doesn&amp;#039;t suit your needs, maybe the others will. Or maybe they will just look more appealing to you.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Eyy, time to fix some stuff:&amp;lt;br/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Running on Debian Jessie x64, Written in Python 3, served off Apache, with MySQL as a database.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Running on Debian Jessie x64, Written in Python 3, served off Apache, with MySQL as a database.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Supports proxying and non-proxying(via 307 Temporary Redirect and Location header).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Supports proxying and non-proxying(via 307 Temporary Redirect and Location header).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l178&quot;&gt;Line 178:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 178:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If an error occurs, the &amp;quot;err&amp;quot; object will be set. An easy way to check for this is: integer errorOccured = (llGetJsonType(res, [&amp;quot;err&amp;quot;]) != JSON_INVALID);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If an error occurs, the &amp;quot;err&amp;quot; object will be set. An easy way to check for this is: integer errorOccured = (llGetJsonType(res, [&amp;quot;err&amp;quot;]) != JSON_INVALID);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Source code will be available eventually, but not right now. Not until I iron out all the bugs and comment it(It&amp;#039;s a single wsgi script with 682 lines).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Source code will be available eventually, but not right now. Not until I iron out all the bugs and comment it(It&amp;#039;s a single wsgi script with 682 lines).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* A object can only have ONE CUSTOM DOMAIN NAME, and it cannot be a UUID. UUIDs are reserved for object keys.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Chaser Zaks</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Chaser_Zaks/lsl_dns&amp;diff=1204518&amp;oldid=prev</id>
		<title>Chaser Zaks: Created page with &quot;Yes, I know several already exist. I wanted one with specific features and security, so I made my own. If you have any questions or concerns, or maybe an idea, shoot me a mess...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Chaser_Zaks/lsl_dns&amp;diff=1204518&amp;oldid=prev"/>
		<updated>2016-08-16T04:57:24Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Yes, I know several already exist. I wanted one with specific features and security, so I made my own. If you have any questions or concerns, or maybe an idea, shoot me a mess...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Yes, I know several already exist. I wanted one with specific features and security, so I made my own.&lt;br /&gt;
If you have any questions or concerns, or maybe an idea, shoot me a message at http://my.secondlife.com/chaser.zaks (Send me a IM, they do not get capped. I do not read the SL facebook thing.)&lt;br /&gt;
&lt;br /&gt;
You may also want to see the [[#See_also|other LSL DNS options]]. If this doesn&amp;#039;t suit your needs, maybe the others will. Or maybe they will just look more appealing to you.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
* Running on Debian Jessie x64, Written in Python 3, served off Apache, with MySQL as a database.&lt;br /&gt;
* Supports proxying and non-proxying(via 307 Temporary Redirect and Location header).&lt;br /&gt;
* Content type overriding(Proxy mode only, allows to serve HTML from LSL scripts).&lt;br /&gt;
* XHR supported, must be enabled via headers.&lt;br /&gt;
* Made to use as little LSL code size as possible.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
====PUT http://lsl.softhyena.com/====&lt;br /&gt;
----&lt;br /&gt;
//Used to register a entry&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{&lt;br /&gt;
    (OPTIONAL) &amp;quot;domain&amp;quot;: string address, //Still accessable from uuid.lsl.softhyena.com&lt;br /&gt;
    (OPTIONAL) &amp;quot;title&amp;quot;: string title, //Unused, used for indexing later(See flags)&lt;br /&gt;
    (OPTIONAL) &amp;quot;auth&amp;quot;: [string username, string password], //Unused, HTTP Authentication(See flags)&lt;br /&gt;
    (OPTIONAL) &amp;quot;flags&amp;quot;: integer mask, //See below&lt;br /&gt;
    (OPTIONAL) &amp;quot;ttl&amp;quot;: integer minutes, //Minutes for it to stay active, defaults to 24 hours.&lt;br /&gt;
    &amp;quot;address&amp;quot;: string LSL_Address //Address received from llRequestURL() or llRequestSecureURL()&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Response:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{&lt;br /&gt;
    &amp;quot;ttl&amp;quot;: integer UTC_expire, //How long the server will allow&lt;br /&gt;
    &amp;quot;address&amp;quot;: string address //UUID address, or subdomain if specified.&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====POST http://lsl.softhyena.com/====&lt;br /&gt;
----&lt;br /&gt;
//To update the TTL without sending extra data(preferred)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{&lt;br /&gt;
    (OPTIONAL) &amp;quot;ttl&amp;quot;: integer &lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Response:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{&lt;br /&gt;
    &amp;quot;ttl&amp;quot;: integer UTC_expire //How long the server will allow&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DELETE http://lsl.softhyena.com/====&lt;br /&gt;
----&lt;br /&gt;
//To delete a subdomain(BOTH THE UUID AND CUSTOM):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Response:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GET http://lsl.softhyena.com/====&lt;br /&gt;
----&lt;br /&gt;
//Return info(THIS IS DIFFERENT THAN GET FROM A BROWSER):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Response:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{&lt;br /&gt;
    &amp;quot;ttl&amp;quot;: integer UTC_expire,&lt;br /&gt;
    &amp;quot;domain&amp;quot;: string address,&lt;br /&gt;
    &amp;quot;flags&amp;quot;: integer flags,&lt;br /&gt;
    &amp;quot;address&amp;quot;: string assigned_url&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LSL Functions==&lt;br /&gt;
====Register a domain====&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lsl2&amp;quot;&amp;gt;key registerDomain(list params){&lt;br /&gt;
    /*[&lt;br /&gt;
        (OPTIONAL) &amp;quot;domain&amp;quot;, string address, //Still accessable from uuid.lsl.softhyena.com&lt;br /&gt;
        (OPTIONAL) &amp;quot;flags&amp;quot;, integer mask, //See below&lt;br /&gt;
        (OPTIONAL) &amp;quot;ttl&amp;quot;, integer minutes, //Minutes for it to stay active, defaults to 24 hours.&lt;br /&gt;
        &amp;quot;address&amp;quot;, string LSL_Address //Address received from llRequestURL() or llRequestSecureURL()&lt;br /&gt;
    ]*/&lt;br /&gt;
    return llHTTPRequest(&amp;quot;http://lsl.softhyena.com&amp;quot;,[HTTP_METHOD, &amp;quot;PUT&amp;quot;],llList2Json(JSON_OBJECT, params));&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
====Refresh TTL====&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lsl2&amp;quot;&amp;gt;key refreshDomain(integer ttl){&lt;br /&gt;
    list q;&lt;br /&gt;
    if(ttl)q=[&amp;quot;ttl&amp;quot;,llAbs(ttl)];&lt;br /&gt;
    return llHTTPRequest(&amp;quot;http://lsl.softhyena.com&amp;quot;,[HTTP_METHOD, &amp;quot;POST&amp;quot;],llList2Json(JSON_OBJECT,q));&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
====Delete a domain====&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lsl2&amp;quot;&amp;gt;key deleteDomain(){&lt;br /&gt;
    return llHTTPRequest(&amp;quot;http://lsl.softhyena.com&amp;quot;,[HTTP_METHOD, &amp;quot;DELETE&amp;quot;],&amp;quot;&amp;quot;);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Flags==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0;}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
| Domain Flags&lt;br /&gt;
| V&lt;br /&gt;
| Description&lt;br /&gt;
| Notes&lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_HIDDEN&lt;br /&gt;
| 1&lt;br /&gt;
| Real URL cannot be grabbed from info&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_LSL_ONLY&lt;br /&gt;
| 2&lt;br /&gt;
| Only LSL objects can make request to this URL&lt;br /&gt;
| This applies to the &amp;quot;info.&amp;quot; prefix as well&lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_NO_PROXY&lt;br /&gt;
| 4&lt;br /&gt;
| Bypass our proxy and force a redirect&lt;br /&gt;
| May not work with post requests?&lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_INDEX&lt;br /&gt;
| 8&lt;br /&gt;
| Used to index domains, opt-in for obvious reasons.&lt;br /&gt;
| Not implemented&lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_AUTH&lt;br /&gt;
| 16&lt;br /&gt;
| Only allow authenticated requests&lt;br /&gt;
| Not implemented&lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_SECURE&lt;br /&gt;
| 32&lt;br /&gt;
| Force HTTP requests to upgrade to HTTPS requests.&lt;br /&gt;
| No effect on HTTPS LSL URLs.&lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_PRIVACY&lt;br /&gt;
| 64&lt;br /&gt;
| Server will strip headers sent by LL that may reveal where your server is located in world.&lt;br /&gt;
| Not implemented&lt;br /&gt;
|-&lt;br /&gt;
| DOMAIN_FLAG_DEBUG&lt;br /&gt;
| 128&lt;br /&gt;
| Enables various debugging headers and system logging.&lt;br /&gt;
| Used internally.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Added headers==&lt;br /&gt;
{| {{Prettytable|style=margin-top:0;}}&lt;br /&gt;
{{!}}- {{Hl2}}&lt;br /&gt;
| Header&lt;br /&gt;
| Description&lt;br /&gt;
| Example value&lt;br /&gt;
|-&lt;br /&gt;
| via&lt;br /&gt;
| Version of the proxy&lt;br /&gt;
| lsl.softhyena.com (&amp;lt;version number&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| x-forwarded-for&lt;br /&gt;
| IP address of the originating request&lt;br /&gt;
| 67.140.140.92&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Info prefix==&lt;br /&gt;
====Human readable====&lt;br /&gt;
----&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/&lt;br /&gt;
====Json====&lt;br /&gt;
----&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/json&lt;br /&gt;
====Key/values====&lt;br /&gt;
----&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/address&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/owner&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/owner_name (Does not work yet)&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/ttl&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/title&lt;br /&gt;
    http://info.&amp;lt;subdomain OR uuid&amp;gt;.lsl.softhyena.com/flags&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
* If you give the server a secure LSL URL, you MUST use HTTPS when accessing this proxy, or you will receive an error.&lt;br /&gt;
* This is a free service and will remain free forever.&lt;br /&gt;
* The TTL for all parts of this subdomain are set to 2 minutes, so if a URL isn&amp;#039;t working when it should, wait about 2 minutes.&lt;br /&gt;
* Any object you own can request a domain in use by you, but no one can take a domain you requested unless you free it or it expires.&lt;br /&gt;
* Domains are first come first serve, I will not free domains if you fail to keep yours.&lt;br /&gt;
* If an error occurs, the &amp;quot;err&amp;quot; object will be set. An easy way to check for this is: integer errorOccured = (llGetJsonType(res, [&amp;quot;err&amp;quot;]) != JSON_INVALID);&lt;br /&gt;
* Source code will be available eventually, but not right now. Not until I iron out all the bugs and comment it(It&amp;#039;s a single wsgi script with 682 lines).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[User:Darien_Caldwell/HTTP-DNS]] A Dynamic DNS service running on Google App Engine, ran by Darien Caldwell.&lt;br /&gt;
* [[Public_Object_DNS]] A dynamic DNS service using GAE, ran by Liandra Ceawlin.&lt;br /&gt;
* [[Silverday_ObjectDNS]] A easy to use dns-mapping-service with many configurable options (password protection, write protection, etc.) and an optional web-interface, ran by Till Stirling.&lt;/div&gt;</summary>
		<author><name>Chaser Zaks</name></author>
	</entry>
</feed>