Server IP : 127.0.0.2 / Your IP : 18.216.67.249 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/netcat-openbsd/examples/ |
Upload File : |
#! /bin/sh ## Shit-simple script to supply the "privmsg <recipient>" of IRC typein, and ## keep the connection alive. Pipe this thru "nc -v -w 5 irc-server port". ## Note that this mechanism makes the script easy to debug without being live, ## since it just echoes everything bound for the server. ## if you want autologin-type stuff, construct some appropriate files and ## shovel them in using the "<" mechanism. # magic arg: if "tick", do keepalive process instead of main loop if test "$1" = "tick" ; then # ignore most signals; the parent will nuke the kid # doesn't stop ^Z, of course. trap '' 1 2 3 13 14 15 16 while true ; do sleep 60 echo "PONG !" done fi # top level: fire ourselves off as the keepalive process, and keep track of it sh $0 tick & ircpp=$! echo "[Keepalive: $ircpp]" >&2 # catch our own batch of signals: hup int quit pipe alrm term urg trap 'kill -9 $ircpp ; exit 0' 1 2 3 13 14 15 16 sleep 2 sender='' savecmd='' # the big honkin' loop... while read xx yy ; do case "${xx}" in # blank line: do nothing "") continue ;; # new channel or recipient; if bare ">", we're back to raw literal mode. ">") if test "${yy}" ; then sender="privmsg ${yy} :" else sender='' fi continue ;; # send crud from a file, one line per second. Can you say "skr1pt kidz"?? # *Note: uses current "recipient" if set. "<") if test -f "${yy}" ; then ( while read zz ; do sleep 1 echo "${sender}${zz}" done ) < "$yy" echo "[done]" >&2 else echo "[File $yy not found]" >&2 fi continue ;; # do and save a single command, for quick repeat "/") if test "${yy}" ; then savecmd="${yy}" fi echo "${savecmd}" ;; # default case goes to recipient, just like always *) echo "${sender}${xx} ${yy}" continue ;; esac done # parting shot, if you want it echo "quit :Bye all!" kill -9 $ircpp exit 0