GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - 2003scape/rsc-censor: 🤬 runescape classic chat censor and cache modification

BranchesTags
Open more actions menu

Latest commit

 

History

1 Commit
1 Commit

Folders and files

NameName
Last commit message
Last commit date
filter-json
filter-json
 
 
src
src
 
 
.gitignore
.gitignore
 
 
COPYING
COPYING
 
 
README.md
README.md
 
 
example.js
example.js
 
 
filter2.jag
filter2.jag
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 

Repository files navigation

rsc-censor

runescape classic chat censor and cache modification. this censor is semi-intelligent and can detect similar looking symbols and spacing.

install

$ npm install @2003scape/rsc-censor # -g for CLI program

cli usage

rsc-censor <command>

Commands:
  rsc-censor censor <archive> <message>     censor message using filters in
                                            archive
  rsc-censor dump-json <archive>            dump JSON files of each censor
                                            section
  rsc-censor pack-json <archive> <files..>  encode and compress JSON files into
                                            filter archive

Options:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]
$ rsc-censor censor filter2.jag "you suck"

example

const Censor = require('./src');
const fs = require('fs');

const censor = new Censor();
censor.loadArchive(fs.readFileSync('./filter2.jag'));

console.log(censor.censorMessage('hey you suck! visit dogs.com'))
// hey you ****! visit ********

censor.badWords = censor.badWords.filter(({ word }) => !/suc/i.test(word));
censor.populateBuffers();

console.log(censor.censorMessage('hey you suck! visit dogs.com'))
// hey you suck! visit ********

fs.writeFileSync('./filter3.jag', censor.toArchive());

api

censor = new Censor()

create a new censor instance.

censor.badWords

array of profanities.

[
    {
        word: 'breast',
        // this allows "abreast" and "breastplate", but not "breast"
        ignore: [
            {
                prefix: 'a',
                postfix: null
            },
            {
                prefix: null,
                postfix: 'p'
            }
        ]
    }
]

censor.hosts

array of webiste hostnames.

[
    {
        word: 'aol',
        // allows for "gaols" but not "go aol"
        ignore: [
            {
                prefix: 'g',
                postfix: 's'
            }
            // ...
        ]
    }
]

censor.tlds

array of TLDs.

[
    {
        word: 'com',
        type: 3
    }
]

censor.fragments

array of word fragments. these seem to be used to fix the censor when it's greedy and asterisks too many characters.

censor.loadArchive(buffer)

load a filter jag archive buffer.

censor.populateBuffers()

apply changes to internal properties to the filter instance.

censor.censorMessage(message)

return a censored string.

censor.toArchive()

return a filter jag archive.

license

Copyright 2019 2003Scape Team

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.

About

🤬 runescape classic chat censor and cache modification

Topics

censorchat-filterprofanityrscrunescape

Resources

Readme
AGPL-3.0 license
Activity
Custom properties

Stars

9 stars

Watchers

3 watching

Forks

5 forks
Report repository

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.