Compare commits
2 Commits
cb6aa9f724
...
3cddfc608d
Author | SHA1 | Date |
---|---|---|
Citlali del Rey | 3cddfc608d | |
Citlali del Rey | 1b6770f561 |
|
@ -1,75 +1,114 @@
|
||||||
% title 'UNIX.dog Services';
|
% title 'UNIX.dog Services';
|
||||||
% layout 'default';
|
% layout 'default';
|
||||||
<section>
|
<article>
|
||||||
<h2>XMPP and Matrix Bridge Helper</h2>
|
<h1>Legacy Service Bridging</h1>
|
||||||
<p id="result">
|
<p>
|
||||||
|
UNIX.dog runs a few bridges to other services, documented on
|
||||||
|
this page.
|
||||||
</p>
|
</p>
|
||||||
<noscript>Since JS is disabled, this form will send the addresses to
|
<section>
|
||||||
the UNIX.dog server to convert.</noscript>
|
<h2>Matrix Bifrost</h2>
|
||||||
<form id="bridging" method="post">
|
<p>
|
||||||
<div>
|
The ARIA-net fork of Bifrost is set up to provide access to
|
||||||
<label for="bridge_service">Bridge:</label>
|
XMPP MUCs and Matrix rooms to users of both services. Use
|
||||||
<select name="bridge" id="bridge_service">
|
the <a href="#bridgehelper">bridge helper</a> below to
|
||||||
<option value="unix.dog">UNIX.dog</option>
|
quickly get the correct address.
|
||||||
<option value="aria-net">ARIA-net</option>
|
</p>
|
||||||
</select>
|
<p>
|
||||||
</div>
|
The Bifrost instance on UNIX.dog is set up as follows:
|
||||||
<div>
|
</p>
|
||||||
<select name="type" id="bridge_type">
|
<p>
|
||||||
<option value="muc">XMPP MUC:</option>
|
From XMPP, use #roomname#domain@matrix.unix.dog for rooms
|
||||||
<option value="room">Matrix Room:</option>
|
and username_host@matrix.unix.dog for users.
|
||||||
<option value="jid">XMPP User:</option>
|
</p>
|
||||||
<option value="user">Matrix User:</option>
|
<p>
|
||||||
</select>
|
From Matrix, use @_xmpp_user=40domain:unix.dog for users and
|
||||||
<input type="text" id="handle" name="handle" required />
|
#_xmpp_roomname_domain:unix.dog for MUCs.
|
||||||
</div>
|
</p>
|
||||||
<div>
|
</section>
|
||||||
<input type="submit"/>
|
<section>
|
||||||
</div>
|
<h2>Biboumi IRC Bridge</h2>
|
||||||
</form>
|
<p>
|
||||||
</section>
|
Biboumi provides access to IRC networks from XMPP. The
|
||||||
<script>
|
component domain is biboumi.unix.dog.
|
||||||
const conversion = {
|
</p>
|
||||||
"unix.dog": {
|
<p>
|
||||||
"muc": jid => (s => `#_xmpp_${s[0]}_${s[1]}:unix.dog`)(jid.split("@")),
|
You can connect to IRC channels using the syntax
|
||||||
"room": rm => `${rm.replace(":","#")}@matrix.unix.dog`,
|
#roomname%domain@biboumi.unix.dog.
|
||||||
"jid": jid => `@_xmpp_${jid.replace("@", "=40")}:unix.dog`,
|
</p>
|
||||||
"user": u => `${u.slice(1).replace(":","_")}@matrix.unix.dog`
|
</section>
|
||||||
},
|
|
||||||
"aria-net": {
|
|
||||||
"muc": jid => (s => `#_bifrost_${s[0]}_${s[1]}:aria-net.org`)(jid.split("@")),
|
|
||||||
"room": rm => `${rm.replace(":","#")}@aria-net.org`,
|
|
||||||
"jid": jid => `@_bifrost_${jid.replace("@", "=40")}:aria-net.org`,
|
|
||||||
"user": u => `${u.slice(1).replace(":", "_")}@aria-net.org`
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const urlify = {
|
|
||||||
"room": jid => `xmpp:${encodeURI(jid)}?join`,
|
|
||||||
"muc": room => `https://matrix.to/#/%23${encodeURI(room.slice(1))}`,
|
|
||||||
"user": jid => `xmpp:${encodeURI(jid)}?roster`,
|
|
||||||
"jid": u => `https://matrix.to/#/${encodeURI(u)}`,
|
|
||||||
};
|
|
||||||
|
|
||||||
const form = document.getElementById("bridging");
|
|
||||||
const output = document.getElementById("result");
|
|
||||||
|
|
||||||
form.addEventListener("submit", e => {
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
const formData = new FormData(form);
|
<section id="bridgehelper">
|
||||||
|
<h2>XMPP and Matrix Bridge Helper</h2>
|
||||||
|
<p id="result">
|
||||||
|
</p>
|
||||||
|
<noscript>Since JS is disabled, this form will send the addresses to
|
||||||
|
the UNIX.dog server to convert.</noscript>
|
||||||
|
<form id="bridging" method="post">
|
||||||
|
<div>
|
||||||
|
<label for="bridge_service">Bridge:</label>
|
||||||
|
<select name="bridge" id="bridge_service">
|
||||||
|
<option value="unix.dog">UNIX.dog</option>
|
||||||
|
<option value="aria-net">ARIA-net</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<select name="type" id="bridge_type">
|
||||||
|
<option value="muc">XMPP MUC:</option>
|
||||||
|
<option value="room">Matrix Room:</option>
|
||||||
|
<option value="jid">XMPP User:</option>
|
||||||
|
<option value="user">Matrix User:</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" id="handle" name="handle" required />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<input type="submit"/>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
<script>
|
||||||
|
const conversion = {
|
||||||
|
"unix.dog": {
|
||||||
|
"muc": jid => (s => `#_xmpp_${s[0]}_${s[1]}:unix.dog`)(jid.split("@")),
|
||||||
|
"room": rm => `${rm.replace(":","#")}@matrix.unix.dog`,
|
||||||
|
"jid": jid => `@_xmpp_${jid.replace("@", "=40")}:unix.dog`,
|
||||||
|
"user": u => `${u.slice(1).replace(":","_")}@matrix.unix.dog`
|
||||||
|
},
|
||||||
|
"aria-net": {
|
||||||
|
"muc": jid => (s => `#_bifrost_${s[0]}_${s[1]}:aria-net.org`)(jid.split("@")),
|
||||||
|
"room": rm => `${rm.replace(":","#")}@aria-net.org`,
|
||||||
|
"jid": jid => `@_bifrost_${jid.replace("@", "=40")}:aria-net.org`,
|
||||||
|
"user": u => `${u.slice(1).replace(":", "_")}@aria-net.org`
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const urlify = {
|
||||||
|
"room": jid => `xmpp:${encodeURI(jid)}?join`,
|
||||||
|
"muc": room => `https://matrix.to/#/%23${encodeURI(room.slice(1))}`,
|
||||||
|
"user": jid => `xmpp:${encodeURI(jid)}?roster`,
|
||||||
|
"jid": u => `https://matrix.to/#/${encodeURI(u)}`,
|
||||||
|
};
|
||||||
|
|
||||||
let service = formData.get("bridge");
|
const form = document.getElementById("bridging");
|
||||||
let type = formData.get("type");
|
const output = document.getElementById("result");
|
||||||
let handle = formData.get("handle");
|
|
||||||
|
form.addEventListener("submit", e => {
|
||||||
let bridged = conversion[service][type](handle);
|
e.preventDefault();
|
||||||
output.textContent = `Use address `
|
|
||||||
|
const formData = new FormData(form);
|
||||||
let link = document.createElement("a");
|
|
||||||
link.href = urlify[type](bridged);
|
let service = formData.get("bridge");
|
||||||
link.textContent = bridged;
|
let type = formData.get("type");
|
||||||
|
let handle = formData.get("handle");
|
||||||
output.appendChild(link);
|
|
||||||
});
|
let bridged = conversion[service][type](handle);
|
||||||
</script>
|
output.textContent = `Use address `
|
||||||
|
|
||||||
|
let link = document.createElement("a");
|
||||||
|
link.href = urlify[type](bridged);
|
||||||
|
link.textContent = bridged;
|
||||||
|
|
||||||
|
output.appendChild(link);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</article>
|
||||||
|
|
|
@ -27,35 +27,10 @@
|
||||||
3072 SHA256:1BH7BPNlROWxh+4/LttipJQFLps+J51IHRn+f6j+tVI root@woofer (RSA)
|
3072 SHA256:1BH7BPNlROWxh+4/LttipJQFLps+J51IHRn+f6j+tVI root@woofer (RSA)
|
||||||
</pre>
|
</pre>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<h1>Social</h1>
|
||||||
<section>
|
<section>
|
||||||
<h2>File sync (Nextcloud)</h2>
|
<h2>XMPP Messaging</h2>
|
||||||
<p>
|
|
||||||
Nextcloud is a FOSS, federating cloud drive platform with support
|
|
||||||
for messaging, web calendar and contacts management, and more.
|
|
||||||
It is available at <a href="https://cloud.unix.dog/">cloud.unix.dog</a>,
|
|
||||||
and you can log in with your UNIX.dog account for 10GB of storage :3
|
|
||||||
</p>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<h2>Social (Akkoma)</h2>
|
|
||||||
<p>
|
|
||||||
Akkoma is a federated social media platform, forked from Pleroma.
|
|
||||||
It can communicate with other instances running Mastodon, Misskey,
|
|
||||||
Friendica, and more.
|
|
||||||
Check it out at <a href="https://akko.unix.dog">akko.unix.dog</a>.
|
|
||||||
</p>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<h2>File upload (IPFS Pinning)</h2>
|
|
||||||
<p>
|
|
||||||
A custom-built IPFS remote pinning service is available at UNIX.dog.
|
|
||||||
It's hosted at <a href="https://u.unix.dog">u.unix.dog</a>.
|
|
||||||
Also, it works as a simple cURL or online file uploader; you don't
|
|
||||||
need to use a local IPFS node :3
|
|
||||||
</p>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<h2>Messaging (XMPP)</h2>
|
|
||||||
<p>
|
<p>
|
||||||
XMPP is a federated IM protocol. UNIX.dog uses ejabberd, and you can
|
XMPP is a federated IM protocol. UNIX.dog uses ejabberd, and you can
|
||||||
connect to it using a client of your choice. A web client is also
|
connect to it using a client of your choice. A web client is also
|
||||||
|
@ -65,10 +40,22 @@
|
||||||
the UNIX.dog main chatroom. Your JID should be username@unix.dog.
|
the UNIX.dog main chatroom. Your JID should be username@unix.dog.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>Legacy Network Bridges</h2>
|
||||||
|
<p>
|
||||||
|
Some custom bridges are also available for use, including a
|
||||||
|
Matrix Bifrost bridge and an IRC Biboumi bridge, both
|
||||||
|
accessible from XMPP.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
More information can be found on <a
|
||||||
|
href="/services/bridges">the bridges page.</a>
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Voice chat (Mumble)</h2>
|
<h2>Mumble VoIP</h2>
|
||||||
<p>
|
<p>
|
||||||
Mumble is a free VOIP software that you can download from <a href="https://www.mumble.info/">mumble.info.</a>
|
Mumble is a free VoIP software that you can download from <a href="https://www.mumble.info/">mumble.info.</a>
|
||||||
You can join at <a href="mumble://chat.unix.dog/Hangout?title=UNIX.dog&version=1.2.0">chat.unix.dog.</a>
|
You can join at <a href="mumble://chat.unix.dog/Hangout?title=UNIX.dog&version=1.2.0">chat.unix.dog.</a>
|
||||||
Users can create their own non-persistent channel, but if
|
Users can create their own non-persistent channel, but if
|
||||||
you'd like a persistent channel for your group, just reach
|
you'd like a persistent channel for your group, just reach
|
||||||
|
@ -78,7 +65,8 @@
|
||||||
<section>
|
<section>
|
||||||
<h2>EMail</h2>
|
<h2>EMail</h2>
|
||||||
<p>
|
<p>
|
||||||
The future of messaging is here! Electronic mail is also provided.
|
The future of messaging is here! Electronic mail services
|
||||||
|
are provided.
|
||||||
You can connect any standard email client to smtp.unix.dog and
|
You can connect any standard email client to smtp.unix.dog and
|
||||||
imap.unix.dog using your credentials
|
imap.unix.dog using your credentials
|
||||||
to access your inbox. The server also provides sendmail over SSH,
|
to access your inbox. The server also provides sendmail over SSH,
|
||||||
|
@ -89,7 +77,38 @@
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Git hosting (Forgejo)</h2>
|
<h2>Akkoma (ActivityPub)</h2>
|
||||||
|
<p>
|
||||||
|
Akkoma is a federated social media platform, forked from Pleroma.
|
||||||
|
It can communicate with other instances running Mastodon, Misskey,
|
||||||
|
Friendica, and more.
|
||||||
|
Check it out at <a href="https://akko.unix.dog">akko.unix.dog</a>.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<h1>Files and Productivity</h1>
|
||||||
|
<section>
|
||||||
|
<h2>IPFS Upload & Pinning</h2>
|
||||||
|
<p>
|
||||||
|
A custom-built IPFS remote pinning service is available at UNIX.dog.
|
||||||
|
It's hosted at <a href="https://u.unix.dog">u.unix.dog</a>.
|
||||||
|
Also, it works as a simple cURL or online file uploader; you don't
|
||||||
|
need to use a local IPFS node :3
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>Nextcloud</h2>
|
||||||
|
<p>
|
||||||
|
Nextcloud is a FOSS, federating cloud drive platform with support
|
||||||
|
for messaging, web calendar and contacts management, and more.
|
||||||
|
It is available at <a href="https://cloud.unix.dog/">cloud.unix.dog</a>,
|
||||||
|
and you can log in with your UNIX.dog account for 10GB of storage :3
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<h1>Hosting</h1>
|
||||||
|
<section>
|
||||||
|
<h2>Forgejo Git Hosting</h2>
|
||||||
<p>
|
<p>
|
||||||
Forgejo is a simple git host. It is hosted at
|
Forgejo is a simple git host. It is hosted at
|
||||||
<a href="https://git.unix.dog">git.unix.dog</a> and should
|
<a href="https://git.unix.dog">git.unix.dog</a> and should
|
||||||
|
@ -100,22 +119,24 @@
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Static webhosting</h2>
|
<h2>Static Webhosting</h2>
|
||||||
<p>
|
<p>
|
||||||
Files under ~/public are hosted at unix.dog/~username. A list
|
Files under ~/public are hosted at unix.dog/~username. A list
|
||||||
of user websites can be found <a href="/users">here.</a>
|
of user websites can be found <a href="/users">here.</a>
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Gemini hosting</h2>
|
<h2>Gemini Hosting</h2>
|
||||||
<p>
|
<p>
|
||||||
You can also host gemini pages under ~/public/gemini. UNIX.dog runs
|
You can also host gemini pages under ~/public/gemini. UNIX.dog runs
|
||||||
the Molly-Brown server, so all pages are hosted under unix.dog/~username
|
the Molly-Brown server, so all pages are hosted under unix.dog/~username
|
||||||
as well. :3
|
as well. :3
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<h1>Networks</h1>
|
||||||
<section>
|
<section>
|
||||||
<h2>Yggdrasil node</h2>
|
<h2>Yggdrasil Node</h2>
|
||||||
<p>
|
<p>
|
||||||
The server is also a part of the <a
|
The server is also a part of the <a
|
||||||
href="https://yggdrasil-network.github.io/">Yggdrasil
|
href="https://yggdrasil-network.github.io/">Yggdrasil
|
||||||
|
|
Loading…
Reference in New Issue