Snip
D1361170204
Aa
#Snip is a public snippet publishing service using 9p. You can
#publish arbitrary files and get a list of what's available for
#viewing. A common usage is to publish your snarf buffer, but this is
#no longer the default; use 'snip /dev/snarf' instead.
#
#The snipserv is any unauthenticated 9p connection. At the time of
#writing, the default server is simply using ramfs(4), exposing it
#via listen(8). At startup, the cpu server runs
#! auth/none ramfs -S snipserv
#from cfg/hostname/cpustart and has a /rc/bin/service/tcp17037 like
#! #!/bin/rc
#! echo `{date -n} $* `{cat $3^/remote} > /sys/log/pubsrv
#! exec exportfs -S /srv/pubsrv
#The logging line is optional and particularly redundant if your
#local listen(8) instance is logging affirmative connections.
#
#This is only an example; the snipserv at 9srv.net will shortly be
#replaced with something which, at a minimum, has a persistent
#backing store so snippets survive server reboots.
#
#As an alternative way of getting at snippets (especially on
#hypothetical other servers), I've added the following to my local
#9fs:
#! # snippet services
#! case *!snip
#! srv -cnmq tcp!^`{echo $1 | sed 's/snip$/17037/'} $1 /n/$1
#See /n/sources/contrib/anothy/bin/rc/9fs for my complete 9fs.
#
#The snip program has, to date, had less than one hour cumulative
#development time put into it. Partly, that's a testament to the ease
#of doing things with 9p and rc, but mostly it's a warning about
#reliability.
#
#The draft man page for snip follows.
#
#NAME
#
#snip - publish snippets
#
#SYNOPSIS
#
#snip [file...]
#
#DESCRIPTION
#
#Snip is a public snippet publishing service using 9p. It can be used
#to quickly publish arbitrary files to a unique and publicly
#accessible location, or to obtain a list of already-published
#snippets availabe for reading.
#
#Invoked with one or more arguments, snip will connect to an
#unauthenticated 9p service on the server named by the environment
#variable $snipserv (or 9srv.net if unset) on port 17037 and copy
#each file to a uniqe name on the server, reporting the name.
#
#Invoked without arguments, snip will connect to a server as above
#and will list the snippets available on that server.
#
#To ease retrieval, in either case snip leaves snipserv mounted in
#the current namespace.
#
#SOURCE
#
#/n/sources/contrib/anothy/bin/rc/snip
#
#SEE ALSO
#
#cat(1), cp(1)
#
#AUTHOR
#
#Anthony Sorace (anthony@strand1.com)
#
|