- on *:text:*:#: {
- if (https:// isin $1-) {
- sockclose linkchecker
- set %link $remove($matchtok($1-,https://,1,32),https://)
- set %linkchan $chan
- set %actlink $matchtok($1-,https://,1,32)
- if (/ !isin %link) { set %link %link $+ / }
- sockopen linkchecker $remove($left(%link,$pos(%link,/,1)),/) 80
- halt
- }
- if (http:// isin $1-) {
- sockclose linkchecker
- set %link $remove($matchtok($1-,http://,1,32),http://)
- set %linkchan $chan
- set %actlink $matchtok($1-,http://,1,32)
- if (/ !isin %link) { set %link %link $+ / }
- sockopen linkchecker $remove($left(%link,$pos(%link,/,1)),/) 80
- halt
- }
- if (www. isin $1-) {
- sockclose linkchecker
- set %link $matchtok($1-,www.,1,32)
- set %linkchan $chan
- set %actlink $matchtok($1-,www.,1,32)
- if (/ !isin %link) { set %link %link $+ / }
- sockopen linkchecker $remove($left(%link,$pos(%link,/,1)),/) 80
- halt
- }
- }
- on *:sockopen:linkchecker: {
- if $sockerr > 0 { sockclose $sockname | halt }
- sockwrite -n $sockname GET / $+ $right(%link,$calc($len(%link)- $pos(%link,/,1))) HTTP/1.1
- sockwrite -n $sockname Host: $remove($left(%link,$pos(%link,/,1)),/)
- sockwrite -n $sockname $crlf
- }
- on *:sockread:linkchecker: {
- if $sockerr > 0 { sockclose $sockname | halt }
- sockread %linkh
- if (%delbug != $null) && ($len(%linkch) <= 150) && (</title> !isin %linkh) { set %linkch %linkch %linkh }
- if (%delbug != $null) && (</title> isin %linkh) {
- msg %linkchan $replace(%linkch,",",',',&,&,<,<,>,>,©,�,®,�,™,�,€,�,£,�,¥,�) (3 %actlink )
- unset %delbug
- sockclose $sockname
- halt
- }
- if (<title> isin %linkh) {
- set %linkch $remove($left(%linkh,$pos(%linkh,</title>,1)),</title>)
- set %linkch $right(%linkch,$calc($len(%linkch)- $pos(%linkch,<title>,1) -6))
- set %linkch $left(%linkch,$calc($len(%linkch)-1))
- set %delbug 1
- if (%linkch != $null) {
- msg %linkchan $replace(%linkch,",",',',&,&,<,<,>,>,©,�,®,�,™,�,€,�,£,�,¥,�) (3 %actlink )
- sockclose $sockname
- unset %delbug
- halt
- }
- }
- }
- if (*HTTP*302* iswm %x) set -e %web.tmp 1
- if (Location: isin %x) {
- if ($mtc(%x)) {
- tokenize 32 %e
- sockclose %z
- soc $regml(web,1) $iif($regml(web,2),$v1,/) $iif($3,$3,1) %z $iif(%web.tmp,Redirected)
- unset %web.tmp
- }
- }
- on *:sockclose:website.*: unset $+(%,$sockname)
- alias -l soc {
- var %x = $iif($4,$4,$+(website.,$r(a,z),$r(a,z),$r(a,z),$r(0,9),$r(0,9),$r(0,9)))
- set -e $+(%,%x) $1-2 $iif($3 ischan && $me ison $3,$3) $iif($5,$ntc($5))
- sockopen %x $1 443
- }
- alias -l mtc return $regex(web,$1,/(?:https?:\/\/)?((?:www\.)?[\w-.]+\.(?>[a-z]{2,4})(?![a-z]))([\w-_#?=%.\/&?]+)?/ig)
- alias -l ptc return $replacecs($1,—,-,",",&,&,<,<,>,>,?,$chr(233),?,$chr(231),ç,$chr(231),ñ,$chr(241),?,$chr(209),?,$chr(220),?,$chr(244))
- alias -l btc return $+($chr(2),$1,$chr(2))
- alias -l ntc return $+($chr(40),$1,$chr(41))
- alias rtc {
- var %x = 1, %v
- while ($regml(web,%x)) {
- var %z = $iif(/ isin $regml(web,$calc(%x +1)),$v2,/), %i = $regml(web,%x)
- if (/ !isin %i) && (!$istok(%v,%i,32)) {
- soc %i %z $1
- %v = %v %i
- }
- inc %x 1
- }
- }
- }
Letzte Pastes