blob: bdc6d4a18bca4bc9d740ab87eb445b48c0c52888 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
/- post=trill-post, nsur=nostr, sur=nostrill, gate=trill-gate, comms=nostrill-comms
/+ trill=trill-post, nostr-keys, sr=sortug, jsonlib=json-nostrill,
ws=websockets
|%
::
++ default-state |= =bowl:gall ^- state:sur
=/ s *state-0:sur
:: =/ l ~['wss://relay.damus.io' 'wss://nos.lol']
=/ key (gen-keys:nostr-keys eny.bowl)
=/ keyl [key ~]
s(keys keyl)
++ print-relay-stats
|= rm=(map @ relay-stats:nsur)
=/ l ~(tap by rm)
|- ?~ l ~
=/ [wid=@ rs=relay-stats:nsur] i.l
~& relay-url=url.rs
~& connected=start.rs
~& sub-count=~(wyt by reqs.rs)
=/ total-received
%+ roll ~(tap by reqs.rs)
|= [[* es=event-stats:nsur] acc=@ud]
%+ add acc received.es
~& >> total=total-received
$(l t.l)
++ ui-ws-res |= [wid=@ msg=@t]
=/ resmsg (cat 3 msg (cat 3 msg msg))
=/ octs (as-octs:mimes:html resmsg)
=/ res-event=websocket-event:eyre [%message 1 `octs]
:~ (give-ws-payload-server:ws wid res-event)
==
++ user-to-atom |= u=user:sur ^- @
?- -.u
%urbit +.u
%nostr +.u
==
::
++ cards
|_ =bowl:gall
++ relay-binding ^- card:agent:gall
[%pass /binding %arvo %e %connect [~ /nostrill] dap.bowl]
++ ui-binding ^- card:agent:gall
[%pass /binding %arvo %e %connect [~ /nostrill-ui] dap.bowl]
++ bindings
:~ relay-binding
ui-binding
==
++ update-ui |= =fact:ui:sur ^- card:agent:gall
=/ jon (fact:en:jsonlib fact)
[%give %fact ~[/ui] %json !>(jon)]
:: ++ update-followers |= =fact:comms ^- card:agent:gall
++ update-followers |= =fact:comms ^- card:agent:gall
[%give %fact ~[/follow] %noun !>(fact)]
::
++ poke-host |= [sip=@p =poke:comms] ^- card:agent:gall
[%pass /heads-up %agent [sip dap.bowl] %poke %noun !>(poke)]
--
--
|