SIPER | Website Blocking Tool

SIPER | Website Blocking Tool

System Internet Policy Enforcement Ruleset

:sparkles: Features

:shield: Advanced Website Blocking

  • Secure hosts file management with automatic backup and restore
  • Real-time blocking without browser extensions or additional software
  • Bulk category blocking with 12 predefined categories
  • Custom site addition with intelligent URL parsing
  • Import/Export functionality for sharing block lists

:tomato: Pomodoro Focus Mode

  • Timed blocking sessions (25, 60, 120 minutes or custom duration)
  • Automatic restoration when focus time ends
  • Focus statistics tracking with detailed session history
  • Motivational notifications to keep you on track

:bar_chart: Comprehensive Statistics

  • Total focus time tracking across all sessions
  • Weekly statistics to monitor your progress
  • Session count and duration analysis
  • Historical data with persistent storage

:globe_showing_europe_africa: Multi-Language Support

  • 15 languages including Turkish, English, Russian, German, French, Spanish, Japanese, Korean, and Turkic languages
  • Dynamic language switching without restart
  • Localized interface with proper RTL support where needed
  • Cultural adaptation with appropriate flags and regional content

:artist_palette: Modern User Interface

  • GTK 4 + Libadwaita for native GNOME integration
  • Adaptive design that works on different screen sizes
  • Dark/Light/Auto theme support with system integration
  • Smooth animations and modern visual feedback
  • Toast notifications for user feedback

:locked_with_key: Security & Privacy

  • PolicyKit integration for secure privilege management
  • No network dependencies - works completely offline
  • Local data storage with no cloud synchronization
  • Transparent operations with detailed debug logging
  • Safe backup system to prevent data loss

:camera_with_flash: Screenshots



:open_book: Usage Guide

Basic Website Blocking

  1. Add Individual Sites:
  • Enter a website URL in the input field (e.g., facebook.com)
  • Click "Add" or press Enter
  • The site will be added to your block list
  1. Use Quick Categories:
  • Click on "Quick Actions" to expand the category menu
  • Select from 12 predefined categories:
    • :mobile_phone: Social Media: Facebook, Twitter, Instagram, TikTok, etc.
    • :movie_camera: Video: YouTube, Netflix, Twitch, etc.
    • :newspaper: News: CNN, BBC, local news sites
    • :video_game: Gaming: Steam, Epic Games, gaming platforms
    • :shopping_bags: Shopping: Amazon, eBay, e-commerce sites
    • :no_one_under_eighteen: Adult: Adult content websites
    • Crypto: Cryptocurrency exchanges and trading platforms
    • :globe_showing_europe_africa: Torrent: BitTorrent and file sharing sites
    • :books: Education: Online learning platforms
    • :briefcase: Work: Professional networking and job sites
    • :musical_note: Music: Streaming and music platforms
    • :person_running: Sports: Sports news and streaming sites
  1. Enable/Disable Blocking:
  • Use the main toggle button to activate or deactivate all blocks
  • When enabled, all sites in your list will be blocked system-wide
  • When disabled, all sites become accessible again

Focus Mode (Pomodoro Technique)

  1. Quick Focus Sessions:
  • Click on 25min, 60min, or 120min buttons for preset durations
  • Blocking will automatically activate for the selected time
  • A notification will appear when the session ends
  1. Custom Focus Sessions:
  • Enter a custom duration in minutes in the text field
  • Click the play button (:play_button:) to start
  • Perfect for personalized productivity schedules
  1. Focus Statistics:
  • Click the statistics button (:bar_chart:) to view your progress
  • See total focus time, weekly statistics, and session count
  • Track your productivity improvements over time

Advanced Features

Import/Export Block Lists

  • Export: Menu → Export → Save your block list as JSON
  • Import: Menu → Import → Load a previously saved block list
  • Share configurations between devices or with team members

Multi-Language Support

  • Click the language button (🇹🇷 TR) in the header
  • Choose from 15 available languages
  • Interface will restart with the new language

Theme Customization

  • Click the theme button (:sun:/:crescent_moon:/:gear:) to cycle through:
    • Light Theme: Bright, clean interface
    • Dark Theme: Easy on the eyes for low-light environments
    • Auto Theme: Follows your system preference

Statistics and Analytics

  • Total Time: Cumulative focus time across all sessions
  • This Week: Focus time for the current week
  • Session Count: Number of completed focus sessions
  • Historical Data: Persistent tracking of your productivity journey

Technical Details

Architecture

S.I.P.E.R. is built with a modern, modular architecture:

  • Frontend: GTK 4 + Libadwaita for native Linux integration
  • Backend: Python 3 with threading for non-blocking operations
  • Security: PolicyKit (pkexec) for secure privilege escalation
  • Storage: JSON-based configuration with atomic writes
  • Logging: Comprehensive debug system with file and console output

How It Works

  1. Hosts File Management: S.I.P.E.R. modifies the system's /etc/hosts file to redirect blocked websites to 127.0.0.1 (localhost)
  2. Secure Operations: All system-level changes require user authentication through PolicyKit
  3. Backup System: Original hosts file is automatically backed up before any modifications
  4. Real-time Updates: Changes take effect immediately without requiring browser restarts

Security Considerations

  • Privilege Escalation: Only occurs when explicitly requested by user actions
  • Backup Safety: Original hosts file is always preserved
  • Atomic Operations: File modifications are atomic to prevent corruption
  • User Control: All operations can be reversed by the user

Performance

  • Lightweight: Minimal resource usage with efficient GTK 4 rendering
  • Fast Startup: Optimized initialization and configuration loading
  • Responsive UI: Non-blocking operations with proper threading
  • Memory Efficient: Smart memory management with garbage collection

:rocket: Installation

My GitHub Profile
Project GitHub Link
Proje Releases .deb File
Proje SourceForge File

To Install via Terminal:

wget -O Setup_Linux64.deb https://github.com/cektor/S.I.P.E.R./releases/download/1.0.0/Setup_Linux64.deb && sudo apt install ./Setup_Linux64.deb && sudo apt-get install -f -y

Made with :heart: in TURKIYE

S.I.P.E.R. - Taking control of your digital life, one blocked site at a time.

Best regards to everyone..


This is a neat tool. I installed it for testing, but it fails silently, not launching.

A review of the .py script shows a hard dependency:

gi.require_version("Gtk", "4.0")
gi.require_version("Adw", "1")
from gi.repository import Gtk, Adw

But in your .deb, you do not have a depends file.
If python3-gi, gir1.2-gtk-4.0, gir1.2-adw-1, libadwaita-1, your program will silently fail.

It imports polkit, but never invokes it.
You mention these:

But it is not invoked in the script.

Instead, it edits the host file directly:

with open("/etc/hosts", "w") as f:
    f.write(...)

I think this should be hardened and made dynamic.

For me, S.I.P.E.R. fails to launch at all. Looking in the script, logging is suppressed:

def safe(func):
    def wrapper(*args, **kwargs):
        try:
            return func(*args, **kwargs)
        except:
            pass

I think that the reason S.I.P.E.R. is failing is that it is calling on a variety of GTK widgets which have no supporting class (Or are contained in something missing).
For example:

self.clear_button = Gtk.Button(label=...)
self.clear_button.connect('clicked', self.on_clear_all)

I am testing this on Zorin OS 18, not my own build.

Here is a list of some of the callbacks in the .py which lack references:


self.refresh_list

self.on_enable_blocking

enable_in_thread

restore_in_thread

self.on_focus_timer_end

There may be others, but I am just doing a quick audit.

For other users, I found nothing malicious, suspect or dangerous. This looks like a useful tool for users interested in data privacy and protection.

1 Like

I will check it. There are users, but they haven't reported any errors or issues. I will check it thoroughly.

Thank you very much.

1 Like