From 424d2f13cf68980879add94b9aed1239d91d71c0 Mon Sep 17 00:00:00 2001 From: Luquinhas Date: Sun, 8 Dec 2024 19:51:49 -0300 Subject: [PATCH] Push blocklist generator to the branch --- LICENSE | 28 ++++++++++++++++++++++++++++ README.md | 8 ++++++++ config.env.example | 1 + main.py | 12 ++++++++++++ requirements.txt | 2 ++ 5 files changed, 51 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 config.env.example create mode 100644 main.py create mode 100644 requirements.txt diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..887d4ba --- /dev/null +++ b/LICENSE @@ -0,0 +1,28 @@ +BSD 3-Clause License + +Copyright (c) 2024, Lucas Gabriel + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e2ea87b --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# SpamWatch blocklist generator +> Put your SpamWatch API key on a config.env file. Use the .example file to see how. + +Then do these commands: +``` +pip install -r requirements.txt +python main.py +``` \ No newline at end of file diff --git a/config.env.example b/config.env.example new file mode 100644 index 0000000..bf7aade --- /dev/null +++ b/config.env.example @@ -0,0 +1 @@ +SW_KEY = "Insert your SpamWatch API key here" \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..370b671 --- /dev/null +++ b/main.py @@ -0,0 +1,12 @@ +import os +from dotenv import load_dotenv +import spamwatch + +load_dotenv("config.env") + +client = spamwatch.Client(os.getenv('SW_KEY')) +bans = client.get_bans_min() + +with open('sw_blocklist.txt', 'w') as file: + for ban in bans: + file.write(f'{ban}\n') \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..989a366 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +python-dotenv +spamwatch \ No newline at end of file