Additional Filters

Why
Reliable is quite manichean and lacks finesse about filters:
    no filter: everything goes through
    filter: everything is lost

Example 1:
Remailer XXXX is having hardware or software problems.
It will be fixed in 1 week, but what should you do with the mail bound to XXXX ?
    send it: you get a bounce after 3-4 days and mail is lost
    block it: mail is deleted
Ideal would be to hold all mail on your disk and wait until XXXX goes better to release messages

Example 2:
Remailer-hater floods sensitive NG XXX with hundreds of the same post: "I HATE CARROTS"
Hating carrots and saying so is an opinion, it might be argumented, fought, that is free speech and I might join the party.
NG flooding is another story and is totally unacceptable use in my policy.
There are only 2 options now:
    block the NG: and let anonymous haters win that NG from free speech
    do not move: and risk that anonymous haters kill your remailer
Ideal would be to hold the multiple copies of that post.

Why not

Various risks of censorship are obvious.

Where to peep ?
There is just a call to the filter program to be inserted inside Reliable
You will just have to modify the following file:
   Send.bas


Send.bas
There was an earlier version, where the filter program was shelled every 2 minutes:
It is much cleaner to insert its Shell-And-Wait where it belongs: at the very beginning.

Attribute VB_Name = "Send"
'Copyright 1999 Potato Software. All rights reserved.
'See MAIN.BAS for License.

Public SendList() As FilesType, SendDex() As Integer
Public SendMore As Boolean, PostMore As Boolean
Public SendErrorString(1) As String, SendErrorCode(1) As Integer
Public NewsUser As String, NewsPass As String, NewsTimeout As Boolean
Public AbortSend As Boolean

Public Sub SendStart(Job As Byte)
    'Job = 0 SMTP
    'Job = 1 NNTP
    Dim fc As Integer, flen As Long, Rcpt As String
    Dim SendDate As Date, SendCount As Integer, QFile(1) As String
    Dim dt As Date
    Dim HN As New DocHeadersCls 'Project|References|NetManage Internet Object

'Activate

Here are the extra instructions (I added a new folder: \Plugins\, under Reliable\) to hold both b_Filter.exe and its Filter.ini file:

    Dim CmdLine As String

    If (Job = 0) Then
        CmdLine = App.Path & "\Plugins\b_Filter.exe " & Cnf(1, 5) & "\MAILOUT"
    Else
        CmdLine = App.Path & "\Plugins\b_Filter.exe " & Cnf(1, 5) & "\NNTP"
    End If
    ExecCmd CmdLine, vbNormalFocus

Which gives:

 Attribute VB_Name = "Send"
'Copyright 1999 Potato Software. All rights reserved.
'See MAIN.BAS for License.

Public SendList() As FilesType, SendDex() As Integer
Public SendMore As Boolean, PostMore As Boolean
Public SendErrorString(1) As String, SendErrorCode(1) As Integer
Public NewsUser As String, NewsPass As String, NewsTimeout As Boolean
Public AbortSend As Boolean

Public Sub SendStart(Job As Byte)
    'Job = 0 SMTP
    'Job = 1 NNTP
    Dim fc As Integer, flen As Long, Rcpt As String
    Dim SendDate As Date, SendCount As Integer, QFile(1) As String
    Dim dt As Date
    Dim HN As New DocHeadersCls 'Project|References|NetManage Internet Object
    Dim CmdLine As String

    If (Job = 0) Then
        CmdLine = App.Path & "\Plugins\b_Filter.exe " & Cnf(1, 5) & "\MAILOUT"
    Else
        CmdLine = App.Path & "\Plugins\b_Filter.exe " & Cnf(1, 5) & "\NNTP"
    End If
    ExecCmd CmdLine, vbNormalFocus

'Activate

ExecCmd is defined in a standard module of mine: Module_ExecCmd.bas, downloadable as Module_ExecCmd.zip


b_Filter.exe
This program reads the filtering instructions from the Filter.ini file
Matching messages are deleted or moved to the new "\Wait\" folders under Reliables's MAILOUT and NNTP folders.

Filter.ini
There are 3 fields (and no maintenance program).
    Action: might be
        "-" delete
        "W" move to "wait" folder
    Keyword Name  might be
        "Subject:"
        "To: "
        "Newsgroups: "
        "From: "
    Value might be any character string, will *not* be interpreted by VB instruction "Like" but by simpler "Instr".
For example:
  "W","To: "mixmaster@lobeda.jena.thur.de"
           would salvage mail bound to ailing remailer Lobemix
  "W","Newsgroups: ","rec.music.opera"
           might have saved widow's life
  "-","From: ","PangK"
           will delete anything which this compulsive annoyer/harasser likes to sign

peep_Rel.exe
This program allows to view the content of wait/error folders and transfer contents from one to the other.
Name collision... are handled
It looks like this ScreenShot from peep_Rel
(I had asked to remove Frog from stats / I blocked pinging while Frog was quietly diing, to lower stats and deter usage)

And the whole thing (.exe and VB sources) can be downloaded (standard modules are identical)
Modify Constants in sources according to your folders configuration.


Back to Root Index or Root Main Pages