|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| java/ | H | 03-May-2022 | - | 253 | 181 |
| man/ | H | 01-Aug-2018 | - | 2,185 | 1,882 |
| perl/ | H | 01-Aug-2018 | - | 262 | 185 |
| sample/ | H | 03-May-2022 | - | 641 | 400 |
| .gitignore | H A D | 01-Aug-2018 | 110 | 15 | 13 |
| CHANGELOG | H A D | 01-Aug-2018 | 66.4 KiB | 1,787 | 1,321 |
| CONTENTS | H A D | 01-Aug-2018 | 1.5 KiB | 85 | 77 |
| Makefile.in | H A D | 03-May-2022 | 10.2 KiB | 301 | 151 |
| README | H A D | 01-Aug-2018 | 5.1 KiB | 125 | 101 |
| README.Gui | H A D | 01-Aug-2018 | 266 | 9 | 5 |
| README.Xover | H A D | 01-Aug-2018 | 2.1 KiB | 44 | 37 |
| active.c | H A D | 01-Aug-2018 | 13.2 KiB | 544 | 428 |
| active.h | H A D | 01-Aug-2018 | 145 | 8 | 5 |
| batch.c | H A D | 01-Aug-2018 | 11.2 KiB | 443 | 348 |
| batch.h | H A D | 01-Aug-2018 | 216 | 11 | 8 |
| both.c | H A D | 01-Aug-2018 | 23.2 KiB | 974 | 781 |
| both.h | H A D | 01-Aug-2018 | 1.5 KiB | 54 | 43 |
| both_phrases.c | H A D | 01-Aug-2018 | 726 | 24 | 22 |
| chkhistory.c | H A D | 01-Aug-2018 | 3.3 KiB | 129 | 98 |
| chkhistory.h | H A D | 01-Aug-2018 | 116 | 7 | 4 |
| chkhistory_db.c | H A D | 01-Aug-2018 | 4.9 KiB | 240 | 180 |
| configure.ac | H A D | 01-Aug-2018 | 3.6 KiB | 128 | 116 |
| db.c | H A D | 01-Aug-2018 | 6.6 KiB | 282 | 228 |
| db.h | H A D | 01-Aug-2018 | 239 | 13 | 9 |
| dedupe.c | H A D | 01-Aug-2018 | 2.2 KiB | 102 | 71 |
| dedupe.h | H A D | 01-Aug-2018 | 105 | 7 | 4 |
| install-sh | H A D | 01-Aug-2018 | 4.7 KiB | 239 | 152 |
| killfile.c | H A D | 03-May-2022 | 40.7 KiB | 1,414 | 1,160 |
| killfile.h | H A D | 01-Aug-2018 | 3.2 KiB | 109 | 91 |
| killprg.c | H A D | 01-Aug-2018 | 17.5 KiB | 665 | 518 |
| lmove-config | H A D | 01-Aug-2018 | 68 | 3 | 2 |
| lmove.c | H A D | 03-May-2022 | 21.7 KiB | 771 | 650 |
| lmove_phrases.c | H A D | 01-Aug-2018 | 1.1 KiB | 29 | 26 |
| lpost.c | H A D | 01-Aug-2018 | 936 | 50 | 42 |
| makephrases.c | H A D | 01-Aug-2018 | 9.5 KiB | 323 | 290 |
| read_db.c | H A D | 01-Aug-2018 | 1.5 KiB | 78 | 65 |
| rpost.c | H A D | 01-Aug-2018 | 33.6 KiB | 1,206 | 1,017 |
| rpost_phrases.c | H A D | 01-Aug-2018 | 1.9 KiB | 50 | 47 |
| ssort.c | H A D | 01-Aug-2018 | 3.2 KiB | 153 | 124 |
| ssort.h | H A D | 01-Aug-2018 | 147 | 8 | 4 |
| stamp-h | H A D | 01-Aug-2018 | 10 | 2 | 1 |
| stamp-h.in | H A D | 01-Aug-2018 | 0 | | |
| suck.c | H A D | 01-Aug-2018 | 68.9 KiB | 2,331 | 1,943 |
| suck.h | H A D | 01-Aug-2018 | 2.8 KiB | 126 | 111 |
| suck.spec | H A D | 01-Aug-2018 | 1.2 KiB | 54 | 41 |
| suck_config.h | H A D | 01-Aug-2018 | 7.7 KiB | 208 | 91 |
| suck_phrases.c | H A D | 01-Aug-2018 | 9.3 KiB | 243 | 229 |
| suckutils.c | H A D | 01-Aug-2018 | 8.3 KiB | 345 | 268 |
| suckutils.h | H A D | 01-Aug-2018 | 601 | 19 | 14 |
| test_phrases.c | H A D | 01-Aug-2018 | 605 | 19 | 17 |
| testhost.c | H A D | 01-Aug-2018 | 11.2 KiB | 437 | 379 |
| timer.c | H A D | 01-Aug-2018 | 2.9 KiB | 127 | 110 |
| timer.h | H A D | 01-Aug-2018 | 297 | 13 | 9 |
| xover.c | H A D | 01-Aug-2018 | 16.6 KiB | 598 | 467 |
| xover.h | H A D | 01-Aug-2018 | 210 | 9 | 5 |
README
1PREFACE
2=======
3Original Author - Tim Smith (address unknown)
4Maintainers:
5March 1995 - Sven Goldt (goldt@math.tu-berlin.de)
6July 1995 - Robert A. Yetman (bobyetman@sucknews.org)
7September 2017 - Michael Vetter (jubalh@iodoru.org)
8
9Current Maintainer - jubalh@iodoru.org
10
11LOCATION
12========
13https://github.com/lazarus-pkgs/suck
14
15INTRODUCTION
16============
17The primary use for suck is to feed a local NNTP server, without the
18remote NNTP feeding you articles. It is designed for a small, partial
19news feed. It is NOT designed to feed 10,000 groups and 3 Gigs of articles
20a day.
21
22This package contains software for copying news from an NNTP server to your
23local machine, and copying replies back up to an NNTP server. It works
24with most standard NNTP servers, including INN, CNEWS, DNEWS, and typhoon.
25
26The suck/rpost combination allows you to run your own site, controlling
27where you get your news, and where you post outgoing articles. Suck/rpost
28use only standard NNTP commands that are used by your favorite news reader
29(tin, xvnews, strn) such as POST and ARTICLE. If you can use tin or xvnews
30against a NNTP site, than you can use Suck/Rpost.
31
32suck Pull a small newsfeed from an NNTP server
33
34lpost Gives one article fetched by suck to the local server.
35
36rpost Posts article(s) to a remote NNTP server
37
38testhost Check to see what commands your host recognizes or
39 get the active or new list.
40
41lmove put articles in news/group/number format.
42
43
44LICENSING INFO
45==============
46Suck is Public Domain, feel free to make any changes you want, just don't
47blame me when they break.
48
49NOTES:
50======
51Suck will not work with obsolete NNTP servers that can't handle the xhdr
52command.
53
54This code assumes an ANSI-compliant compiler, it will NOT work with old
55compilers which don't accept function prototypes.
56
57The Makefile assumes you are using GNU make, other makes may or may not work.
58
59If your remote INN server slows drastically after 100 messages are downloaded,
60and they are using INN 1.5.1 or newer, chances are they compiled INN with
61"LIKE_PULLERS" set to DONT, which causes INN to put a small sleep before each message.
62Talk to the SA for the system and see if they'll compile with "DO". Chances
63are they didn't even know this option existed.
64
65An interesting program for processing the killfile log and forcing suck to
66download some of the articles in it can be found at:
67http://ourworld.compuserve.com/homepages/jvanerp/suckmore.html
68
69Is suck Y2K compliant? As far as I can make it yes. The only program that uses
70dates is testhost, and the date is sent to the remote NNTP host for the NEWGRP
71command. I don't do any date calculations. Once servers take an 8 digit
72date (right now its YYMMDD), I'll update testhost.
73
74HOW-TO-USE
75==========
760. Run ./configure --help to see the options, especially the ones listed
77 last (--with-inn-lib && with-inn-include)
781. run ./configure
79 If it can't find your Inn libraries/includes, make sure you use the
80 --with-inn-lib=path & --with-inn-include=path options
812. Check over the Makefile, make sure it found everything, if not fix it.
82 If your flatfile history file is not at /var/lib/news/history,
83 you'll need to use the -HF option, to tell suck where it is.
84 If you're using Inn 2.3 or newer, make sure the Makefile knows
85 where your libinn.a and includes are, otherwise, the dedupe
86 function won't work. See step #4. Typically, these are in
87 the source tree. If you don't have the source, get it,
88 see below.
893. If you're using SSL edit the Makefile step #nr7.
904. Make it. (make , make install)
91 If you are having problems compiling suck, look at the Makefile,
92 there are comments in there for the various common problems
93 I see.
945. READ THE MAN PAGES.
956. Create a sucknewsrc - which groups to download (see suck man pg).
96 If you have INND/CNEWS/DNEWS/PNEWS already running, then
97 just use 'suck remotehost -A -hl localhost', and the sucknewsrc
98 will be built for you. BUT, before you do this, create a active.ignore
99 file, listing all the groups on the local host that you don't want
100 downloaded from the remote host (see man page for sample).
1017. Take a look at the sample directory. There are two shell scripts
102 in there that show the whole scheme from how to download news
103 (with suck), and how to upload news (with rpost). Use get.news.inn
104 if you have INN running, as it knows how to gracefully get the
105 outgoing article listing. get.news.generic is for everyone else.
106 WARNING: These scripts need editing before you can use them. You
107 must change the various variables at the top of the scripts to
108 ensure they point to the right files/directories.
109 If you're using Inn 2.3.X with CNFS, you'll need to use
110 the 'put.news.sm*' scripts, to deal with the tokens that
111 Inn puts in the outgoing file instead of the article number.
112
113
114WHERE TO GET STUFF
115==================
116inn: anonymous ftp from ftp.isc.org /isc/inn
117perl: http://www.perl.com/CPAN/src/latest.tar.gz
118 anonymous ftp from prep.ai.mit.edu /gnu
119Perl/Tk: http://www.perl.com/CPAN/modules/by-module/Tk/Tk8XX.XXX.tar.gz
120SSL: http://www.openssl.org/
121
122FUTURE PLANS.
123========================
124
125
README.Gui
1There are two GUIs now included with Suck.
2
31. perl/header.pl - This is a perl/Tk program to view articles
4headers and add them to suckothermsgs.
5
62. java/Suck.class - This is a Java GUI for running a suck script.
7
8See the README in each directory for more details.
9
README.Xover
1Starting wich Suck-3.10.0, suck now supports a second type of killfiles.
2The original killfiles have not changed, and are still fully supported.
3
4In addition to the original killfiles, suck now supports killfiles
5that are processed by on data received from the XOVER command, not
6from the articles themselves. The master killfile for this
7set is called "suckxover".
8
9Using the normal killfiles, suck would use the command XHDR to
10get the MessageID numbers for each group, then download each
11MessageID one at a time and check it against the killfiles, then
12go onto the next message. To check against the killfiles, I'd
13first download the HEADER, check it, then if I needed to, download
14the BODY. Because of this, I can't buffer commands and
15articles, so suck isn't very efficient.
16
17This changes under the new killfiles. With these, suck now uses
18the XOVER command to get not only MessageIDs, but also the
19From:, Subject:, References:, Lines:, and ByteCount at the same
20time. I can use this information to check against killfiles
21without downloading the header or the body of the article.
22To see which header fields your remote server supports via
23XOVER, run testhost remosthost -o. If you need the -M command
24with suck, you'll probably need to run it as testhost remotehost
25-o -M.
26
27There are a few advantages to this approach. The first is
28I can get the XOVER information for an entire group at a time,
29rather than one message at a time. This should be more efficient
30on the server. Plus, if you are using the BODYSIZE commands in
31killfiles, I don't have to download any of the message to kill it,
32saving time and bandwidth. In addition, I don't have to download
33headers and bodies separate, and piece them back together.
34
35Also, when downloading messages, if there are no killfiles, there
36is pipelining code to make more efficient use of bandwidth. Basically,
37I'm sending article commands 1 ahead of the one I'm receiving, so
38there should always be one waiting for me.
39
40If you don't use NRGROUPS, HEADER, BODY, and stick with the
41headers produced by the XOVER command, you should get quite
42a performance boost, just by renaming suckkillfile to
43suckxover.
44