Update _Dashmini.mrc

This commit is contained in:
Sunblade 2025-09-13 00:32:23 +00:00
parent 59f3c5dda9
commit dd9b96a0aa
1 changed files with 60 additions and 63 deletions

View File

@ -1,63 +1,60 @@
/* /*
Dashmini 0.1 Dashmini 0.1
By Sunblade By Sunblade
sunblade@tilde.club sunblade@tilde.club
https://tilde.club/~sunblade/ https://tilde.club/~sunblade/
Usage: Usage:
/dashmini < url > (without gemini://) /dashmini < url > (without gemini://)
*/ */
alias -l gemurlformat { alias -l gemurlformat {
tokenize 47 $1 tokenize 47 $1
if (($left($2,1) == $chr(126)) && (!$3-)) { if (($left($2,1) == $chr(126)) && (!$3-)) {
return $+($1,/,$2,/index.gmi) return $+($1,/,$2,/index.gmi)
} }
else { else {
return $+($1,/,$2,/,$3-) return $+($1,/,$2,/,$3-)
} }
} }
alias dashmini { alias dashmini {
if (!$window(@dashmini)) { if (!$window(@dashmini)) {
window -k @dashmini window -k @dashmini
} }
var %u = $gemurlformat($1) var %u = $gemurlformat($1)
var %h = $token($1,1,47) var %h = $token($1,1,47)
sockopen -e dashmini %h 1965 sockopen -e dashmini %h 1965
sockmark dashmini $1 sockmark dashmini $1
} }
on 1:sockopen:dashmini:{ on 1:sockopen:dashmini:{
if ($sockerr > 0) { echo -st * /dashmini : Unable to connect. | return } if ($sockerr > 0) { echo -st * /dashmini : Unable to connect. | return }
echo -tg @dashmini * /dashmini : Connection successful to $sock($sockname).mark $+([,$sock($sockname).ip,]) echo -tg @dashmini * /dashmini : Connection successful to $sock($sockname).mark $+([,$sock($sockname).ip,])
sockwrite -n $sockname gemini:// $+ $sock($sockname).mark sockwrite -n $sockname gemini:// $+ $sock($sockname).mark
;sockwrite -n $sockname Host: $sock($sockname).mark echo -tg @dashmini * /dashmini : Receiving informations...
;sockwrite -n $sockname Connection: close }
;sockwrite $sockname $crlf
echo -tg @dashmini * /dashmini : Receiving informations... on 1:sockread:dashmini:{
} if ($sockerr > 0) { echo -tg @dashmini * /dashmini : An error has ocurred. Connection closed. | return }
var %read
on 1:sockread:dashmini:{ ;var %line = 1
if ($sockerr > 0) { echo -tg @dashmini * /dashmini : An error has ocurred. Connection closed. | return } :read
var %read sockread -f %read
;var %line = 1 if ($sockbr == 0) return
:read echo -tg @dashmini * /dashmini : %read
sockread -f %read inc %line
if ($sockbr == 0) return goto read
echo -tg @dashmini * /dashmini : %read }
inc %line
goto read on 1:sockclose:dashmini:{
} echo -tg @dashmini * /dashmini : The connection has been closed.
}
on 1:sockclose:dashmini:{
echo -tg @dashmini * /dashmini : The connection has been closed. on *:hotlink:*:@dashmini:{
} if ($hotlink(event) == sclick) {
if ($hotlink(match) isurl) {
on *:hotlink:*:@dashmini:{ dashmini $gemurlformat($remove($hotlink(match),gemini://))
if ($hotlink(event) == sclick) { }
if ($hotlink(match) isurl) { }
dashmini $gemurlformat($remove($hotlink(match),gemini://)) }
}
}
}