Add multiplextr setting

This commit is contained in:
Jonathan Staab 2023-03-27 09:49:23 -05:00
parent f51ba597c7
commit 56a5d17116
3 changed files with 36 additions and 3 deletions

View File

@ -1,5 +1,8 @@
# Current # Current
- [ ] Multiplexer
- [ ] Explore the idea of separating everything into different components and wiring it all up into a system in a single file.
- [ ] Write NIP to support proxies. Update COUNT NIP to mention how proxies are a good use case for COUNT
- [ ] Fix iOS/safari/firefox - [ ] Fix iOS/safari/firefox
- [ ] https://github.com/staab/coracle/issues/42 - [ ] https://github.com/staab/coracle/issues/42
- [ ] Multiplex, charge past a certain usage level based on bandwidth - [ ] Multiplex, charge past a certain usage level based on bandwidth

View File

@ -1,6 +1,19 @@
import type {Relay} from "src/util/types" import type {Relay} from "src/util/types"
import type {Readable} from "svelte/store" import type {Readable} from "svelte/store"
import {slice, uniqBy, prop, find, pipe, assoc, whereEq, when, concat, reject, nth, map} from "ramda" import {
slice,
uniqBy,
prop,
find,
pipe,
assoc,
whereEq,
when,
concat,
reject,
nth,
map,
} from "ramda"
import {findReplyId, findRootId} from "src/util/nostr" import {findReplyId, findRootId} from "src/util/nostr"
import {synced} from "src/util/misc" import {synced} from "src/util/misc"
import {derived} from "svelte/store" import {derived} from "svelte/store"
@ -18,6 +31,7 @@ const profile = synced("agent/user/profile", {
showMedia: true, showMedia: true,
reportAnalytics: true, reportAnalytics: true,
dufflepudUrl: import.meta.env.VITE_DUFFLEPUD_URL, dufflepudUrl: import.meta.env.VITE_DUFFLEPUD_URL,
multiplextrUrl: import.meta.env.VITE_MULTIPLEXTR_URL,
}, },
petnames: [], petnames: [],
relays: [], relays: [],
@ -98,7 +112,7 @@ export default {
relays, relays,
getRelays: () => profileCopy.relays, getRelays: () => profileCopy.relays,
updateRelays(f) { updateRelays(f) {
const $relays = uniqBy(prop('url'), f(profileCopy.relays)) const $relays = uniqBy(prop("url"), f(profileCopy.relays))
profile.update(assoc("relays", $relays)) profile.update(assoc("relays", $relays))

View File

@ -3,6 +3,7 @@
import {fly} from "svelte/transition" import {fly} from "svelte/transition"
import {navigate} from "svelte-routing" import {navigate} from "svelte-routing"
import Toggle from "src/partials/Toggle.svelte" import Toggle from "src/partials/Toggle.svelte"
import Anchor from "src/partials/Anchor.svelte"
import Input from "src/partials/Input.svelte" import Input from "src/partials/Input.svelte"
import Button from "src/partials/Button.svelte" import Button from "src/partials/Button.svelte"
import Content from "src/partials/Content.svelte" import Content from "src/partials/Content.svelte"
@ -73,7 +74,22 @@
</Input> </Input>
<p class="text-sm text-gray-1"> <p class="text-sm text-gray-1">
Enter a custom url for Coracle's helper application. Dufflepud is used for hosting images Enter a custom url for Coracle's helper application. Dufflepud is used for hosting images
and loading link previews. and loading link previews. You can find the source code <Anchor
href="https://github.com/staab/dufflepud">here</Anchor
>.
</p>
</div>
<div class="flex flex-col gap-1">
<strong>Multiplextr URL</strong>
<Input bind:value={values.multiplextrUrl}>
<i slot="before" class="fa-solid fa-server" />
</Input>
<p class="text-sm text-gray-1">
Enter a custom proxy server for multiplexing relay connections. This can drastically
improve resource usage, but has some privacy trade-offs. Leave blank to connect to relays
directly. You can find the source code <Anchor href="https://github.com/staab/multiplextr"
>here</Anchor
>.
</p> </p>
</div> </div>
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">