nntpfs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. .TH NNTPFS 4
  2. .SH NAME
  3. nntpfs \- network news transport protocol (NNTP) file system
  4. .SH SYNOPSIS
  5. .B nntpfs
  6. [
  7. .B -a
  8. ]
  9. [
  10. .B -s
  11. .I service
  12. ]
  13. [
  14. .B -m
  15. .I mountpoint
  16. ]
  17. [
  18. .I system
  19. ]
  20. .SH DESCRIPTION
  21. .I Nntpfs
  22. dials the TCP network news transport protocol (NNTP)
  23. port, 119, on
  24. .I system
  25. (default
  26. .BR '$nntp' )
  27. and presents at
  28. .I mountpoint
  29. (default
  30. .BR /mnt/news )
  31. a file system corresponding to the
  32. news articles stored on
  33. .IR system .
  34. .PP
  35. If the
  36. .B -s
  37. option is given, the file system is posted as
  38. .BI /srv/ service \fR.
  39. If the
  40. .B -a
  41. option is given,
  42. .I nntpfs
  43. authenticates to the system with a user name and password
  44. obtained from
  45. .IR factotum (4).
  46. The key specifier is
  47. .IP
  48. .B
  49. proto=pass service=nntp server=\fIserver\fR user? !password?
  50. .PP
  51. The file system contains a directory per newsgroup,
  52. with dots turned into slashes, e.g.,
  53. .B comp/os/plan9
  54. for
  55. .BR comp.os.plan9 .
  56. Each newsgroup directory contains one
  57. numbered directory per article.
  58. The directories follow the numbering used by
  59. the server.
  60. Each article directory contains three files:
  61. .BR article ,
  62. .BR header ,
  63. and
  64. .BR body .
  65. The
  66. .B article
  67. file contains the full text of the article,
  68. while
  69. .B header
  70. and
  71. .B body
  72. contain only the header or body.
  73. .PP
  74. Each newsgroup directory contains a
  75. write-only
  76. .B post
  77. file that may be used to post news articles.
  78. RFC1036-compliant articles should be written to it.
  79. The
  80. .B post
  81. file will only exist in a given newsgroup directory
  82. if articles are allowed to be posted to it.
  83. Other than that, the
  84. .B post
  85. file is
  86. .I not
  87. tied to its directory's newsgroup.
  88. The groups to which articles are eventually posted
  89. are determined by the
  90. .B newsgroups:
  91. header lines in the posted article,
  92. not by the location of the
  93. .B post
  94. file in the file system.
  95. .PP
  96. The qid version of a newsgroup directory
  97. is the largest numbered article directory it
  98. contains (~0, if there are no articles).
  99. .PP
  100. The modification time on a newsgroup
  101. directory is the last time a new article was recorded
  102. during this
  103. .I nntpfs
  104. session.
  105. To force a check for new articles,
  106. .IR stat (2)
  107. the newsgroup directory.
  108. .PP
  109. To force a check for new newsgroups,
  110. .IR stat (2)
  111. the root directory.
  112. Note that this causes the entire list of groups,
  113. which can be about a megabyte,
  114. to be transferred.
  115. .PP
  116. To terminate the connection,
  117. .B unmount
  118. the mount point.
  119. .PP
  120. .I Nntpfs
  121. makes no effort to send ``keepalives'' so that
  122. servers do not hang up on it.
  123. Instead, it redials as necessary when hangups are detected.
  124. .SH EXAMPLE
  125. Authenticate to a private news server:
  126. .IP
  127. .EX
  128. % echo key proto=pass service=nntp server=nose.mit.edu \e
  129. user=rsc !password=secret >/mnt/factotum/ctl
  130. % nntpfs -a nose.mit.edu
  131. .EE
  132. .SH SOURCE
  133. .B /sys/src/cmd/nntpfs.c
  134. .SH BUGS
  135. Directories are presented for deleted articles;
  136. the files in them cannot be opened.