Jump to content

chain

Administrators
  • Posts

    5,984
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by chain

  1. on *:TEXT:*:# {
      set %last.speaker $nick
    }
    
    alias hug {
      if ( $1- == $null ) {
        describe # hugs 12 $chan
      }
      elseif ( $1- = last ) {
        describe # huggles7 %last.speaker $+ !
      }
      else {
        describe # hugs3 $1.
      }
    }

     

  2. So i was given the chance to try a new script called devilscript.

    deVilbaT is the Author of the creation and as you can see through his work he loves scripting. He has many features that people are looking for in a script. It has a general dialog which allows for customization to fit your own personal needs, Has a variety of protections and huge kicks and bans list. this script was very well thought out and deVilbaT wanted the best in this IRC script. This script also has its own updates which once deVilbaT has redone or updated anything on the script you will be notify of new updates!! So in my best opinion this script has fantastic dialogs and awsome protections plus various customization features.

     

     

    2022-05-09_17-27-58.png

    2022-05-09_17-31-39.png

    logo.png

  3. youtube-mirc.png

    Simple is the keyword. You don't need any registrations or API keys.
    Just load the script and it should work in any channel your bot is in.
    Important: mIRC v7.56+ is required, because of $urlget function.

    How to install:

    Let's assume your mIRC is installed in D:\mIRC\

    1. Copy and save the script code in a file. For example: youtube_title.mrc
    2. Put the saved file in your scripts folder (example: D:\mIRC\scripts)
    3. Open mIRC and do: //load -rs scripts/youtube_title.mrc

    How to Uninstall:

    1. Open mIRC and do: //unload -rs scripts/youtube_title.mrc
      That's it. No garbage or variables left behind.

    The script can easily break if YouTube make changes to their website.
    If it is broken or you find a bug or you have a suggestion - leave a comment below.
    I will try to keep the script in working condition and fix bugs as soon as possible.

    ; Simple YouTube Title Announcer v0.1 - MMX 2022
    ; Requires mIRC v7.56+ (because of $urlget)
    
    ON $*:TEXT:/(https\x3a\/\/|www\.)([\S]*youtube\.com[\S]+v\=|youtu\.be\/)([\S]{11})/Si:#:{
      if ($regml(3)) {
        var %url $+(https://m.youtube.com/watch?persist_app=1&app=m&v=,$regml(3))
        var %id $urlget(%url,gbi,&ytdata,yt_get_title $chan)
      }
    }
    alias -l yt_get_title {
      var %chan $1, %id $2
      if ($bfind($urlget(%id).target,1,/title":\{"runs":\[\{"text":"(.*?)"\}/Sig).regex) {
        msg %chan 01You00,04Tube: $yt_dehex($regml(1))
      }
    }
    alias -l yt_dehex {
      var %title $regsubex($1-,/\\u(.{4})/ig,$chr($base(\1,16,10)))
      return $replace(%title,\",",\\,\,\\\\,\\)
    }

     

  4. Whether you’re selling it, trashing it, or reusing it, your old computer has a bunch of extremely private data stored inside. And there’s a good chance that tossing files in the recycling bin and hitting factory reset won't protect you. If a hacker finds the pattern your computer used to move those 0s and 1s around, they can reverse engineer the original state of your computer and pull out the goods.

    To stay safe, you need to properly factory reset your computer before it ever changes hands. Follow the steps below, or consider taking things a step further by hiring a professional company to ensure your data has been destroyed.

     

    Read More Here

     

  5. On Monday, Elon Musk bought Twitter for forty-four billion dollars. Musk, the C.E.O. of Tesla and the richest man on earth, plans to take the social-media company private, and has said that he wants Twitter to adhere more closely to the principles of free speech, which, in a statement, Musk called “the bedrock of a functioning democracy.” (In the same statement, he described Twitter as the “digital town square where matters vital to the future of humanity are debated.”) Musk himself is a frequent tweeter, and it is assumed that he will continue to use the platform, and potentially reinstate the account of former President Donald Trump. He is also thought to be less likely to ban people for violations of the platform’s policies, which themselves may change.

    Read More Here

  6. Welcome to GoodChatting.com, home of the GoodChatting.com IRC network!

    GoodChatting is a single-server IRC network, running UnrealIRCd and Epona services. This server is owned by Julie Martin ("juliebug") and was created as a private alternative to the Undernet IRC network when it underwent severe denial of service attacks in early 2001. GoodChatting has been running since February of 2001 and has been open to the public since September 25th, 2001.

    The goal here is to provide a place for you to have a good chatting experience. We here at GoodChatting want you to feel at home on our small server, which already hosts a ton of chatters mostly related to National Novel Writing Month and other writing adventures.

    We are not looking to join any networks, nor are we looking to add servers to the GoodChatting network at this time.

    Any and all server updates can be found on the Server News page as well as on Twitter, just follow @goodchatting!

    link here

  7. Chapter 1. Connecting to IRC

    Introduction: Hacks #1-4

    One of the great features about IRC is its accessibility. You can connect to any IRC network using an IRC client (read: application). For many users, the IRC client is the friendly face of IRC, allowing you to chat with individuals or groups of users. IRC clients are available for virtually all operating systems. In fact, several different IRC clients are available for Windows, Linux, and Mac OS X, so you are spoiled for choice if you have time to experiment with all available choices.

    This chapter will show you how to use some of the most popular IRC clients to connect to IRC. Later hacks will then show you how to go beyond the basics and enhance the functionality of some of these IRC clients by exploiting existing features and writing your own IRC client scripts.

     

    Read more here

  8. Hundreds of thousands of Twitter users deactivated their accounts in the days after Elon Musk’s takeover deal, the company says, as prominent users including Katy Perry and Barack Obama lost followers.

    Since Monday, some of the social network’s biggest progressive voices have seen their public follower counts decline, while some rightwing Twitter users have gained followers, according to data from the analytics site Social Blade.

     

    Perry, the pop star who is the site’s third biggest user, lost 7,000 followers in a few days, while Obama, whose 132 million followers makes the former US president’s account the most popular on the site, lost 5,000 on Tuesday alone. Followers of the former first lady, Michelle Obama, are down by nearly 20,000.

    Taylor Swift’s Twitter account also had one of the biggest drops according to Social Blade’s data, losing 15,000 followers in 48 hours.

     

    Read More Here

  9. Netflix surprised the world this week, saying it plans to finally address the rampant practice of password sharing.

    More than 100 million households are using a shared password, Netflix said Tuesday, including 30 million in the U.S. and Canada.

     

    But the video streamer doesn’t plan to simply freeze those shared accounts. Instead, the company will likely favor the setting of an extra fee for those accounts being used by multiple people outside of the home.

    Netflix’s plan to capture that lost revenue would start with an alert being sent to account holders whose passwords are being used by other households.

    The company has already started a test of this feature in Peru, Costa Rica and Chile. For accounts that are sharing a password across addresses, Netflix is charging an additional fee to add “sub accounts” for up to two people outside the home. The pricing is different per country — about $2.13 per month in Peru, $2.99 in Costa Rica, and $2.92 in Chile, based on current exchange rates.

    Read More Here

     

  10. I recommend you don't run this script on a bot that already has to do alot
    If the channel you're spying on has alot of users with alot of talking your bot could excess flood

     

    # Info
    # Author : AkTaRuS - #SiamoSoloNoi on IRCserveR Italia https://www.ircwebnet.com/chat
    # Version: 007.TCL 1.1
    set spy(author)  "AkTaRuS - #SiamoSoloNoi on IRCserveR Italia https://www.ircwebnet.com/chat"
    set spy(version) " OO7.tcl 1.1"
    
    # Description
    
    # This script will relay anything said on one channel to the other channel you configure
    # I recommend you don't run this script on a bot that already has to do alot
    # If the channel you're spying on has alot of users with alot of talking your bot could excess flood
    
    # Configuration
    
    # The channel it reports everything to
    set spy(home) "#siamosolonoi"
    
    # The channel it gets all the data from and then reports it to the homechannel
    set spy(chan) "#canale spiato"
    
    bind PUBM   -|- *                spychan:chat
    bind CTCP   -|- "ACTION"         spychan:action
    bind SIGN   -|- "$spy(chan) *"   spychan:sign
    bind JOIN   -|- "$spy(chan) *"   spychan:join
    bind PART   -|- "$spy(chan) *"   spychan:part
    bind SPLT   -|- "$spy(chan) *"   spychan:split
    bind KICK   -|- "$spy(chan) *"   spychan:kick
    bind RAW     *  "MODE"           spychan:mode
    
    proc spychan:part { nickname hostname handle channel reason } {
        global spy
        if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has left $spy(chan)"
        }
           }
    
    proc spychan:join { nickname hostname handle channel } {
        global spy
        if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has joined $spy(chan)"
        }
           }
    
    proc spychan:kick { nickname hostname handle channel target reason } {
        global spy
        if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :\[$channel\] * $target was kicked from $spy(chan) by $nickname ($reason)"
        }
           }
    
    proc spychan:mode { from key arguments } {
        global spy
        set channel [string trim [lindex [split $arguments] 0]] 
        set modechange [string trim [lindex [split $arguments] 1]] 
        set victims [string trim [join [lrange [split $arguments] 2 end]]] 
    
        set nickname [string trim [lindex [split $from "!"] 0]] 
        set hostname [string trim [lindex [split $from "!"] 1]]
        if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname sets mode: $modechange $victims"
        }
           }
    
    proc spychan:sign { nickname hostname handle channel reason } {
        global spy
        if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has quit IRC ($reason)"
        }
           }
    
    proc spychan:split { nickname hostname handle channel arguments } {
        global spy
        if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname has split from the network"
        }
           }
    
    proc spychan:chat { nickname hostname handle channel arguments } {
        global spy
        if {[string equal -nocase $channel $spy(chan)]} {
            putserv "PRIVMSG $spy(home) :$arguments"
            }
           }
    
    proc spychan:action { nickname hostname handle channel keyword arguments } {
        global spy
        if {[string equal -nocase $channel $spy(chan)]} {
            putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname $arguments"
            }
           }
    
    putlog "OO7.tcl version $spy(version) by $spy(author)  Loaded!"

     

  11. # +-------------------------------------------------------------------------------------+
    # |                                                                                     |
    # |                         YouTUBE Script v2.0.0                                       |
    # |                                                                                     |
    # +-------------------------------------------------------------------------------------+
    # |                                                                                     |
    # | *** Website             @  http://www.EggdropTCL.com                                |
    # | *** GitHub              @  http://github.com/MadaliNTCL/eggdrop-tcl                 |
    # |                                                                                     |
    # +-------------------------------------------------------------------------------------+
    # | *** IRC Support:                                                                    |
    # |                    #EggdropTCL     @ QuakeNET                                       |
    # |                    #EggdropTCL     @ UnderNET                                       |
    # |                    #EggdropTCL     @ EfNET                                          |
    # |                                                                                     |
    # | *** Contact:                                                                        |
    # |                    Yahoo Messenger/Mail: madalinmen28@yahoo.com                     |
    # |                    Google Mail         : madalinmen28@gmail.com                     |
    # |                    Skype Messenger     : madalinmen28                               |
    # |                                                                                     |
    # +-------------------------------------------------------------------------------------+
    # + *** Commands ***                                                                    |
    # |     +---------------+                                                               |
    # |     [ OP - PUBLIC]                                                                  |
    # |     +---------------+                                                               |
    # |                                                                                     |
    # |     +++ !youtube on                                                                 |
    # |     +++ !youtube off                                                                |
    # |                                                                                     |
    # | IMPORTANT:                                                                          |
    # |                                                                                     |
    # | 500 requests per day                                                                |
    # | You need Google Api Key                                                             |
    # |                                                                                     |
    # | Updates:                                                                            |
    # | * v2                                                                                |
    # | -- It now catches the youtube link from /me and /ame                                |
    # +-------------------------------------------------------------------------------------+
    
    bind PUBM - * youtube
    bind PUBM - * youtube:pubm
    bind CTCP - ACTION youtube:act
    
    package require json
    package require http
    package require tls
    
    set youtube(api) "youtube api key"
    set youtube(version) "2.0"
    
    setudef flag youtube
    
    proc youtube:pubm {nick uhost hand chan arg} {
    	global temp
    
    	if {[string index $arg 0] in {! . `}} {
    		set temp(cmd) [string range $arg 1 end]
    		set temp(cmd) [lindex [split $temp(cmd)] 0]
    		set arg [join [lrange [split $arg] 1 end]]
    	} elseif {[isbotnick [lindex [split $arg] 0]]} {
    		set temp(cmd) [lindex [split $arg] 1]
    		set arg [join [lrange [split $arg] 2 end]]
    	} else { return 0 }
    
    	if {[info commands ytpubm:$temp(cmd)] ne ""} { ytpubm:$temp(cmd) $nick $uhost $hand $chan $arg }
    }
    
    proc ytpubm:youtube {nick uhost hand chan arg} {
    	global youtube tempYT
    
    	switch -exact -- [lindex [split $arg] 0] {
    		on {
    			if {[isop $nick $chan] || [matchattr $hand n]} {
    				channel set $chan +youtube
    
    				putserv "PRIVMSG $chan :\002$nick\002 - \00302Set channel mode \00306+youtube\0032 on \00304$chan"
    				return
    			}
    		}
    		off {
    			if {[isop $nick $chan] || [matchattr $hand n]} {
    				channel set $chan -youtube
    
    				putserv "PRIVMSG $chan :\002$nick\002 - \00302Set channel mode \00306-youtube\0032 on \00304$chan"
    				return
    			}
    		}
    		top {}
    		search {
    			::http::register https 443 [list ::tls::socket -tls1 1]
    
    			if {[catch {http::geturl "https://www.googleapis.com/youtube/v3/videos?[http::formatQuery key $youtube(api) maxresults 5 part id,snippet type video order viewCount q [lindex [split $arg] 1]]"} tok]} {
    				putlog "Socket error: $tok"
    				return 0
    			}
    			if {[http::status $tok] ne "ok"} {
    				set status [http::status $tok]
    
    				putlog "TCP error: $status"
    				return 0
    			}
    			if {[http::ncode $tok] != 200} {
    				set code [http::code $tok]
    				http::cleanup $tok
    
    				putlog "HTTP Error: $code"
    				return 0
    			}
    
    			set data [http::data $tok]
    
    			set parse [::json::json2dict $data]
    
    			set tempYT(video1) "[lindex [dict get [lindex [dict get $parse items] 0] id] 3] [lindex [dict get [lindex [dict get $parse items] 0] snippet] 5]"
    			set tempYT(video2) "[lindex [dict get [lindex [dict get $parse items] 1] id] 3] [lindex [dict get [lindex [dict get $parse items] 1] snippet] 5]"
    			set tempYT(video3) "[lindex [dict get [lindex [dict get $parse items] 2] id] 3] [lindex [dict get [lindex [dict get $parse items] 2] snippet] 5]"
    			set tempYT(video4) "[lindex [dict get [lindex [dict get $parse items] 3] id] 3] [lindex [dict get [lindex [dict get $parse items] 3] snippet] 5]"			
    			set tempYT(video5) "[lindex [dict get [lindex [dict get $parse items] 4] id] 3] [lindex [dict get [lindex [dict get $parse items] 4] snippet] 5]"
    			
    			putserv "PRIVMSG $chan :\002\00301,00You\00300,04Tube\002\017 - \00304Top 5\00302 videos based on \00303viewCount\003"
    
    			set number 0
    			foreach line [array names tempYT] {
    				if {[llength $line]} {
    					incr number
    					
    					set id "[lindex $tempYT($line) 0]"
    					set title "[join [lrange $tempYT($line) 1 end]]"
    					
    					putserv "PRIVMSG $chan :$number. \00302Title - \00312$title\003 \037\002/\037\002 \00302Link\003: \00304https://www.youtube.com/watch?v=$id"
    				}
    			}
    		}
    	}
    }
    
    proc youtube:act {nick uhost hand dest key arg} {
    	global ytignore youtube
    
    	if {![channel get $dest youtube]} { return 0 }
    	if {![string match -nocase *yout* $arg]} { return 0 }
    
    	## ++
    	set floodtime 10
    
    	## ++
    	if {![info exists ytignore($nick)]} {
    		set ytignore($nick) [unixtime]
    		utimer $floodtime [list unset -nocomplain ytignore($nick)]
    	}
    
    	## ++
    	if {[expr [unixtime]-$ytignore($nick)]>$floodtime} { putlog "ignoram"; return 0 }
    
    	set youtubecheck [regexp -all -nocase {(?:\/watch\?v=|youtu\.be\/)([\d\w-]{11})} $arg match youtubeid]
    
    	youtube:parse $youtubecheck $match $youtubeid $dest
    }
    
    proc youtube {nick uhost hand chan arg} {
    	global ytignore youtube
    
    	if {![channel get $chan youtube]} { return 0 }
    	if {![string match -nocase *yout* $arg]} { return 0 }
    
    	## ++
    	set floodtime 10
    
    	## ++
    	if {![info exists ytignore($nick)]} {
    		set ytignore($nick) [unixtime]
    		utimer $floodtime [list unset -nocomplain ytignore($nick)]
    	}
    
    	## ++
    	if {[expr [unixtime]-$ytignore($nick)]>$floodtime} { putlog "ignoram"; return 0 }
    
    	set youtubecheck [regexp -all -nocase {(?:\/watch\?v=|youtu\.be\/)([\d\w-]{11})} $arg match youtubeid]
    
    	youtube:parse $youtubecheck $match $youtubeid $chan
    }
    
    proc youtube:parse {youtubecheck match youtubeid dest} {
    	global ytignore youtube
    
    	::http::register https 443 [list ::tls::socket -tls1 1]
    
    	if {[catch {http::geturl "https://www.googleapis.com/youtube/v3/videos?[http::formatQuery id $youtubeid key $youtube(api) part snippet,contentDetails,statistics,status]"} tok]} {
    		putlog "Socket error: $tok"
    		return 0
    	}
    	if {[http::status $tok] ne "ok"} {
    		set status [http::status $tok]
    
    		putlog "TCP error: $status"
    		return 0
    	}
    	if {[http::ncode $tok] != 200} {
    		set code [http::code $tok]
    		http::cleanup $tok
    
    		putlog "HTTP Error: $code"
    		return 0
    	}	
    
    	set data [http::data $tok]
    	set parse [::json::json2dict $data]
    
    	set playtime [lindex [dict get [lindex [dict get $parse items] 0] snippet] 1]
    	set title [lindex [dict get [lindex [dict get $parse items] 0] snippet] 5]
    	set viewCount [lindex [dict get [lindex [dict get $parse items] 0] statistics] 1]
    	set likeCount [lindex [dict get [lindex [dict get $parse items] 0] statistics] 3]
    	set dislikeCount [lindex [dict get [lindex [dict get $parse items] 0] statistics] 5]
    	set commentCount [lindex [dict get [lindex [dict get $parse items] 0] statistics] 9]
    	set publishedAt [lindex [dict get [lindex [dict get $parse items] 0] snippet] 1]
    	set publishedAt [string map [list "T" " " ".000Z" ""] $publishedAt]
    	set channelTitle [lindex [dict get [lindex [dict get $parse items] 0] snippet] 11]
    	set duration [lindex [dict get [lindex [dict get $parse items] 0] contentDetails] 1]
    	set duration [string map [list "PT" "" "M" "m " "S" "s"] $duration]
    	set definition [string toupper [lindex [dict get [lindex [dict get $parse items] 0] contentDetails] 5]]
    
    	putserv "PRIVMSG $dest :\002\00301,00You\00300,04Tube\002\017 \00312$title\003 \002\00304$definition\003\002 \037\002/\002\037 \00302Views\003: \00303[youtube:convert $viewCount]\003 \037\002/\002\037 \00302Likes\003: \00310[youtube:convert $likeCount]\003 \037\002/\002\037 \00302Dislikes\003: \00304[youtube:convert $dislikeCount]\003 \037\002/\002\037 \00302Comments\003: \00304[youtube:convert $commentCount]\003 \037\002/\002\037 \00302Duration: \00304$duration\003 \037\002/\002\037 \00302Published at: \00304$publishedAt\003 by \00312$channelTitle"
    }
    
    proc youtube:convert {num} { while {[regsub {^([-+]?\d+)(\d\d\d)} $num "\\1.\\2" num]} {}; return $num }
    
    putlog "++ \[ - \00304PUBLIC\003 - \00306loaded\003 * \00303YouTUBE\003 \]"

     

  12. set myTriga "!"
    
    bind pub - ${myTriga}puff puff:pub
    proc puff:pub {nick uhost hand chan arg} {
      global botnick
      if {[validuser [nick2hand $nick]]} {
    
        if {[lindex [split $arg] 0] == ""} {
          putserv "PRIVMSG $chan :\001ACTION \0033hands $nick a Bag of \0039,3*WeeD*\003\001"
          putserv "PRIVMSG $chan :\001ACTION \00314( *puff - puff* )\003\001"
          } else {
          set givenick [lindex [split $arg] 0]
          if {[isbotnick $givenick]} {putquick "PRIVMSG $chan :umm, bots don't sm0ke, you f00l!"; return}
          putserv "PRIVMSG $chan :\001ACTION \0033was asked nicely by $nick to give $givenick a Bag of \0039,3*WeeD*\003\001"
          putserv "PRIVMSG $chan :\001ACTION \00314( *puff - puff* )\003\001"
        }
        return
      }
    
      if {![validuser [nick2hand $nick]]} {
        if {[lindex [split $arg] 0] == ""} {
          putserv "PRIVMSG $chan :\001ACTION \0033hands $nick a Bag of \0039,3*WeeD*\003\001"
          putserv "PRIVMSG $chan :\001ACTION \00314( *puff - puff* )\003\001"
          set whom $nick
          set ignoremask *!*@[lindex [split [getchanhost $whom $chan] @] 1]
          newignore $ignoremask $botnick TempIgnore 1
          } else {
          set givenick [lindex [split $arg] 0]
          if {[isbotnick $givenick]} {putquick "PRIVMSG $chan :umm, bots don't sm0ke, you f00l!"; return}
          putserv "PRIVMSG $chan :\001ACTION \0033was asked nicely by $nick to give $givenick a Bag of \0039,3*WeeD*\003\001"
          putserv "PRIVMSG $chan :\001ACTION \00314( *puff - puff* )\003\001"
          set whom $nick
          set ignoremask *!*@[lindex [split [getchanhost $whom $chan] @] 1]
          newignore $ignoremask $botnick TempIgnore 1
        }
        return
      }
    }

     

  13. set pubtrig "!"
    
    # Set global|channel flags to trigger commands
    set sysflags o|m
    
    bind pub - ${pubtrig}uptime uptime:pub
    proc uptime:pub {nick uhost hand chan arg} {
      global uptime server sysflags
      if {([matchattr [nick2hand $nick] $sysflags]) && (![regexp c [getchanmode $chan]])} {
        puthelp "PRIVMSG $chan :\002S\002\037ystem\037: [eval exec uptime]"
        puthelp "PRIVMSG $chan :\002B\002\037ot\037 ($server): [duration [expr [unixtime] - $uptime]]"
        } else {
        if {([matchattr [nick2hand $nick] $sysflags]) && ([regexp c [getchanmode $chan]])} {
          puthelp "PRIVMSG $chan :System: [eval exec uptime]"
          puthelp "PRIVMSG $chan :Bot ($server): [duration [expr [unixtime] - $uptime]]"
        }
      }
    }
    
    bind pub - ${pubtrig}os osystem:pub
    proc osystem:pub {nick uhost hand chan arg} {
      global botnick sysflags
      if {([matchattr [nick2hand $nick] $sysflags]) && (![regexp c [getchanmode $chan]])} {
        puthelp "PRIVMSG $chan :\002O\002\037perating\037 \002S\002\037ystem\037: [eval exec uname] [eval exec uname -r]"
        } else {
        if {([matchattr [nick2hand $nick] $sysflags]) && ([regexp c [getchanmode $chan]])} {
          puthelp "PRIVMSG $chan :Operating System: [eval exec uname] [eval exec uname -r]"
        }
      }
    }

     

×
×
  • Create New...