Compare commits
3 Commits
92f7d3d52a
...
17070b30b3
Author | SHA1 | Date | |
---|---|---|---|
|
17070b30b3 | ||
|
c0006e40ce | ||
|
36052de0c1 |
@ -5,7 +5,7 @@ backend (e.g. a git repository), all with no account needed. The user only
|
||||
inputs their domain name, their desired backend, and then adds two entries to
|
||||
their DNS server.
|
||||
|
||||
[Demo which may or may not be live](https://domani.mediocregopher.com)
|
||||
[Demo](https://domani.micropelago.net)
|
||||
|
||||
Domani supports serving domains using the following protocols:
|
||||
|
||||
@ -197,17 +197,11 @@ immediately available at:
|
||||
|
||||
## Roadmap
|
||||
|
||||
* Better web interface design.
|
||||
* Tutorials aimed at beginner users.
|
||||
|
||||
* Support for more backends than just git repositories, including:
|
||||
* IPFS/IPNS
|
||||
* Small static files (e.g. for well-knowns)
|
||||
* Google Drive
|
||||
* Dropbox
|
||||
|
||||
* Automatic HTTP/gemtext rendering for markdown files.
|
||||
* Automatic HTTP rendering for gemtext files.
|
||||
|
||||
* Ability to disable the web interface.
|
||||
* Ability to disable HTTP completely.
|
||||
|
@ -253,7 +253,6 @@ impl Service {
|
||||
dns_records: &'a [service::ConfigDNSRecord],
|
||||
challenge_token: String,
|
||||
|
||||
domain_is_zone_apex: bool,
|
||||
dns_records_have_cname: bool,
|
||||
}
|
||||
|
||||
@ -274,8 +273,6 @@ impl Service {
|
||||
}
|
||||
};
|
||||
|
||||
// TODO this is wrong, e.g. something.co.uk
|
||||
let domain_is_zone_apex = args.domain.as_rr().num_labels() == 2;
|
||||
let dns_records_have_cname = self.config.dns_records.iter().any(|r| match r {
|
||||
service::ConfigDNSRecord::CNAME { .. } => true,
|
||||
_ => false,
|
||||
@ -297,7 +294,6 @@ impl Service {
|
||||
dns_records: &self.config.dns_records,
|
||||
challenge_token: settings_hash,
|
||||
|
||||
domain_is_zone_apex,
|
||||
dns_records_have_cname,
|
||||
},
|
||||
)
|
||||
|
@ -18,9 +18,64 @@
|
||||
<link rel="stylesheet" type="text/css" href="/static/bamboo.css" />
|
||||
|
||||
<style>
|
||||
|
||||
:root {
|
||||
--domani-bg: #fffef9;
|
||||
--domani-blue: #1a477e;
|
||||
--domani-orange: #c35136;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--domani-bg);
|
||||
padding-bottom: 3rem;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h1 a {
|
||||
color: var(--domani-blue);
|
||||
}
|
||||
|
||||
hr {
|
||||
color: var(--domani-blue);
|
||||
background-color: var(--domani-blue);
|
||||
border: none;
|
||||
height: 0.5rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--domani-orange);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
button, input[type="submit"] {
|
||||
color: var(--domani-bg);
|
||||
background-color: var(--domani-orange);
|
||||
}
|
||||
|
||||
input {
|
||||
background-color: white;
|
||||
border: 1px solid var(--domani-blue);
|
||||
}
|
||||
|
||||
form {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
form fieldset {
|
||||
border: 1px dotted var(--domani-blue);
|
||||
}
|
||||
|
||||
form fieldset legend {
|
||||
font-weight: bold;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
@ -28,8 +83,8 @@
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<h1><a href="/">Domani</a></h1>
|
||||
<blockquote>The universal, zero-authentication hosting service</blockquote>
|
||||
<h1><a href="/">☀️ Domani</a></h1>
|
||||
<hr/>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
@ -58,8 +58,7 @@ automatically updated too!</p>
|
||||
<input name="domain_setting_add_path_prefix"
|
||||
type="text"
|
||||
placeholder="directory/sub-directory"
|
||||
value="{{ data.settings.add_path_prefix }}"
|
||||
required />
|
||||
value="{{ data.settings.add_path_prefix }}" />
|
||||
</label>
|
||||
</p>
|
||||
</fieldset>
|
||||
|
@ -5,7 +5,7 @@ administrator of the Domani server:</p>
|
||||
|
||||
<form method="{{ form_method }}" action="/domain_sync.html" id="syncForm">
|
||||
<input name="domain" type="hidden" value="{{ data.domain }}" />
|
||||
{{ #each data.flat_domain_settings }}
|
||||
{{ #each data.url_encoded_domain_settings }}
|
||||
<input name="{{ @key }}" type="hidden" value="{{ this }}" />
|
||||
{{ /each }}
|
||||
|
||||
@ -58,11 +58,11 @@ query for your domain name. It can be <strong>one or more of</strong>:</p>
|
||||
{{ /each }}
|
||||
</table>
|
||||
|
||||
{{ #if data.domain_is_zone_apex }}{{ #if data.dns_records_have_cname }}
|
||||
{{ #if data.dns_records_have_cname }}
|
||||
<p>(Please note that not all DNS providers support putting a CNAME at the zone
|
||||
apex, while others support it via an alternative record type like ALIAS or
|
||||
ANAME.)</p>
|
||||
{{ /if }}{{ /if }}
|
||||
{{ /if }}
|
||||
|
||||
<p>Once both entries are installed, you can hit the following button to check
|
||||
your configuration and set up your domain.</p>
|
||||
|
@ -1,17 +1,11 @@
|
||||
<p>Domani connects your domain to whatever you want to host on it, all with no
|
||||
account needed. Just input your desired backend, add two entries to your DNS
|
||||
server, and you're done!</p>
|
||||
|
||||
<p><strong>YOU SHOULD NOT USE THIS FOR ANYTHING YOU CARE ABOUT AT THIS
|
||||
TIME.</strong></p>
|
||||
|
||||
<p>Domani is currently only a proof-of-concept with limited features,
|
||||
but will continue to be expanded as development time permits.</p>
|
||||
<p>Domani makes it as easy as possible to host a website on your own domain
|
||||
name. No account is needed, just two simple steps and you're done!</p>
|
||||
|
||||
<h2>Get Started</h2>
|
||||
|
||||
<p>Input your domain name below to set it up, or to reconfigure it has already
|
||||
been set up.</p>
|
||||
<p>Input your domain name below to set it up, or to reconfigure a domain which
|
||||
you have already set up.</p>
|
||||
|
||||
<form method="{{ form_method }}" action="/domain.html">
|
||||
|
||||
@ -26,14 +20,42 @@ been set up.</p>
|
||||
<input type="submit" value="Go!" />
|
||||
</form>
|
||||
|
||||
<p>Or you can do any of the following alternative actions:</p>
|
||||
<p>Alternatively:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="/domains.html">List all existing domains</a></li>
|
||||
<li><a href="https://code.betamike.com/cryptic-io/domani">View the Source Code</a></li>
|
||||
<li><a href="https://code.betamike.com/micropelago/domani">View the Source Code</a></li>
|
||||
<li><a href="mailto:me@mediocregopher.com">Report a Bug</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>How It Works</h2>
|
||||
|
||||
<p>
|
||||
You will direct Domani to serve files from some external backend, for example a
|
||||
git repository. Domani will handle all the details of generating TLS
|
||||
certificates, fetching the files, and serving traffic to your website.
|
||||
</p>
|
||||
|
||||
<p>To change the content of your website, just change the files in your
|
||||
configured backend. The changes will be reflected on your website after a short
|
||||
refresh period.</p>
|
||||
|
||||
<h3>Gemini Support</h3>
|
||||
|
||||
<p>
|
||||
<a href="https://gemini.circumlunar.space/">Gemini</a> is a new protocol
|
||||
with a focus on content, simplicity, and user-centrism.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Domani supports both normal websites and gemini capsules, and will serve the
|
||||
same domain on both protocols at the same time. Getting started with gemini is
|
||||
as simple as creating an <code>index.gmi</code>
|
||||
<a href="https://gemini.circumlunar.space/docs/cheatsheet.gmi">gemtext</a> file
|
||||
in your backend, and visiting your domain in a
|
||||
<a href="https://github.com/kr1sp1n/awesome-gemini#graphical">gemini client</a>.
|
||||
</p>
|
||||
|
||||
<h2>About</h2>
|
||||
|
||||
<p>Domani is an open-source project which is designed to be hosted by
|
||||
|
Loading…
Reference in New Issue
Block a user