Skip to content

Releases: smkrv/mikrotik-domain-filter-script

v1.0.6

02 Feb 23:51
Compare
Choose a tag to compare

Version 1.0.6 Release Notes:

Improvements:

  • Enhanced and upgraded filtration mechanisms

Full Changelog: v1.0.5...v1.0.6


Testing Environment:

  • Bash scripts validated on Ubuntu 22.04 and Debian 12
  • Mikrotik RouterOS script tested on ROS 6.17 Stable and ROS 7.17 Stable

Benchmarking:

Environment: Amazon Lightsail (512 MB RAM, 2 vCPUs, 20 GB SSD, Debian 12.8)
Processing: 86K domains + 12K whitelist + 2.7K special → 1,970 unique (main) + 431 unique (special)
Performance: 24 min processing time, 42% peak CPU

Production Status:

  • This is a production-ready version, but please proceed with caution! 🚀

Important Notes:

  • Before deploying to production, test thoroughly with a smaller dataset in your environment
  • Always maintain proper backups before making any changes
  • While the code is production-ready, you're using it at your own risk

Support Policy: Please note that this is a community project - the author doesn't provide individual support or consulting. Feel free to modify the code according to the license terms, but make sure to test your changes thoroughly.

⚠️ Remember: Test first, backup always, deploy confidently! 🛡️

v1.0.5

31 Jan 23:42
Compare
Choose a tag to compare

Version 1.0.5 Release Notes:

Improvements:

  • Enhanced MD5 source validation for more reliable change detection
  • Upgraded filtration mechanisms
  • Fixed ShellCheck errors

Full Changelog: v1.0.4...v1.0.5


Testing Environment:

  • Bash scripts validated on Ubuntu 22.04 and Debian 12
  • Mikrotik RouterOS script tested on ROS 6.17 Stable and ROS 7.17 Stable

Benchmarking:

Environment: Amazon Lightsail (512 MB RAM, 2 vCPUs, 20 GB SSD, Debian 12.8)
Processing: 86K domains + 12K whitelist + 2.7K special → 1,970 unique (main) + 431 unique (special)
Performance: 24 min processing time, 42% peak CPU

Production Status:

  • This is a production-ready version, but please proceed with caution! 🚀

Important Notes:

  • Before deploying to production, test thoroughly with a smaller dataset in your environment
  • Always maintain proper backups before making any changes
  • While the code is production-ready, you're using it at your own risk

Support Policy: Please note that this is a community project - the author doesn't provide individual support or consulting. Feel free to modify the code according to the license terms, but make sure to test your changes thoroughly.

⚠️ Remember: Test first, backup always, deploy confidently! 🛡️

v1.0.4

31 Jan 08:41
Compare
Choose a tag to compare

Version 1.0.4 Release Notes:

Improvements:

  • Improved Clash list filtering

Full Changelog: v1.0.3...v1.0.4


Testing Environment:

  • Bash scripts validated on Ubuntu 22.04 and Debian 12
  • Mikrotik RouterOS script tested on ROS 6.17 Stable and ROS 7.17 Stable

Benchmarking:

Environment: Amazon Lightsail (512 MB RAM, 2 vCPUs, 20 GB SSD, Debian 12.8)
Processing: 86K domains + 12K whitelist + 2.7K special → 1,970 unique (main) + 431 unique (special)
Performance: 24 min processing time, 42% peak CPU

Production Status:

  • This is a production-ready version, but please proceed with caution! 🚀

Important Notes:

  • Before deploying to production, test thoroughly with a smaller dataset in your environment
  • Always maintain proper backups before making any changes
  • While the code is production-ready, you're using it at your own risk

Support Policy: Please note that this is a community project - the author doesn't provide individual support or consulting. Feel free to modify the code according to the license terms, but make sure to test your changes thoroughly.

⚠️ Remember: Test first, backup always, deploy confidently! 🛡️

v1.0.3

31 Jan 00:24
Compare
Choose a tag to compare

Version 1.0.3 Release Notes:

Improvements:

  • Improved Clash list filtering
  • Improved domain processing
  • Improved whitelist handling
  • Enhanced MD5 source validation for more reliable change detection
  • Upgraded logging mechanisms

Full Changelog: v1.0.2...v1.0.3


Testing Environment:

  • Bash scripts validated on Ubuntu 22.04 and Debian 12
  • Mikrotik RouterOS script tested on ROS 6.17 Stable and ROS 7.17 Stable

Benchmarking:

Environment: Amazon Lightsail (512 MB RAM, 2 vCPUs, 20 GB SSD, Debian 12.8)
Processing: 86K domains + 12K whitelist + 2.7K special → 1,970 unique (main) + 431 unique (special)
Performance: 24 min processing time, 42% peak CPU

Production Status:

  • This is a production-ready version, but please proceed with caution! 🚀

Important Notes:

  • Before deploying to production, test thoroughly with a smaller dataset in your environment
  • Always maintain proper backups before making any changes
  • While the code is production-ready, you're using it at your own risk

Support Policy: Please note that this is a community project - the author doesn't provide individual support or consulting. Feel free to modify the code according to the license terms, but make sure to test your changes thoroughly.

⚠️ Remember: Test first, backup always, deploy confidently! 🛡️

v1.0.2

29 Jan 14:01
Compare
Choose a tag to compare

Version 1.0.2 Release Notes:

BREAKING CHANGES:

  • Removed external gist update scripts (update_gist.sh and update_gist_special.sh)
  • Added direct GitHub Gist API integration

Features:

  • Added built-in GitHub Gist update functionality
  • Added support for environment variables via .env file
  • Added new configuration options for GitHub Gist integration:
    • EXPORT_GISTS - enables/disables Gist updates (default: false)
    • GITHUB_TOKEN - GitHub Personal Access Token
    • GIST_ID_MAIN - Gist ID for main domain list
    • GIST_ID_SPECIAL - Gist ID for special domain list

Improvements:

  • Reduced dependencies by removing external scripts
  • Added proper error handling for Gist updates
  • Added detailed logging for Gist operations
  • Added support for both hardcoded and environment variables
  • Improved security by supporting .env file for sensitive data

Configuration:
Variables can be set either in .env file or as environment variables:

EXPORT_GISTS=true
GITHUB_TOKEN="your-github-token"
GIST_ID_MAIN="your-main-gist-id"
GIST_ID_SPECIAL="your-special-gist-id"

Technical details:

  • All changes comply with ShellCheck
  • Maintains existing code style and logging format
  • Added proper error handling and validation
  • Improved security by supporting environment variables
  • Added checks for required additional tools (jq)

Migration guide:

  1. Remove external update_gist.sh and update_gist_special.sh scripts
  2. Create .env file with required GitHub configuration
  3. Set EXPORT_GISTS=true to enable Gist updates
  4. Ensure curl and jq are installed

Testing Environment:

  • Bash scripts validated on Ubuntu 22.04 and Debian 12
  • Mikrotik RouterOS script tested on ROS 6.17 Stable and ROS 7.17 Stable

Benchmarking:

Environment: Amazon Lightsail (512 MB RAM, 2 vCPUs, 20 GB SSD, Debian 12.8)
Processing: 86K domains + 12K whitelist + 2.7K special → 1,970 unique (main) + 431 unique (special)
Performance: 24 min processing time, 42% peak CPU

Production Status:

  • This is a production-ready version, but please proceed with caution! 🚀

Important Notes:

  • Before deploying to production, test thoroughly with a smaller dataset in your environment
  • Always maintain proper backups before making any changes
  • While the code is production-ready, you're using it at your own risk

Support Policy: Please note that this is a community project - the author doesn't provide individual support or consulting. Feel free to modify the code according to the license terms, but make sure to test your changes thoroughly.

⚠️ Remember: Test first, backup always, deploy confidently! 🛡️

Full Changelog: v1.0.1...v1.0.2

v1.0.1

23 Jan 13:29
Compare
Choose a tag to compare

Version 1.0.1 Release Notes:

Major Changes:

1. process_domains() Function Improvements:

  • Enhanced domain processing logic
  • Fixed ShellCheck compliance issues
  • Added proper validation checks

2. File Handling Enhancement:

  • Added file existence checks in apply_whitelist() and load_lists() functions
  • Implemented proper error messages for missing files
  • Added script termination on critical errors

3. Error Handling Improvements:

  • Added comprehensive error messages
  • Implemented graceful exit on failures
  • Improved script reliability

4. Technical Improvements:

  • Added input validation
  • Enhanced error reporting
  • Fixed ShellCheck warnings
  • Improved code documentation

These changes make the script more robust and reliable by preventing errors
related to missing files and improving overall error handling.


Testing Environment:

  • Bash scripts validated on Ubuntu 22.04 and Debian 12
  • Mikrotik RouterOS script tested on ROS 6.17 Stable and ROS 7.17 Stable

Benchmarking:

Environment: Amazon Lightsail (512 MB RAM, 2 vCPUs, 20 GB SSD, Debian 12.8)
Processing: 86K domains + 12K whitelist + 2.7K special → 1,970 unique (main) + 431 unique (special)
Performance: 24 min processing time, 42% peak CPU

Production Status:

  • This is a production-ready version, but please proceed with caution! 🚀

Important Notes:

  • Before deploying to production, test thoroughly with a smaller dataset in your environment
  • Always maintain proper backups before making any changes
  • While the code is production-ready, you're using it at your own risk

Support Policy: Please note that this is a community project - the author doesn't provide individual support or consulting. Feel free to modify the code according to the license terms, but make sure to test your changes thoroughly.

⚠️ Remember: Test first, backup always, deploy confidently! 🛡️

Full Changelog: v1.0.0...v1.0.1

Version 1.0.0

22 Jan 17:20
Compare
Choose a tag to compare

Version 1.0.0 — Initial Release

Testing Environment:

  • Bash scripts validated on Ubuntu 22.04 and Debian 12
  • Mikrotik RouterOS scripts tested on ROS 6.17 Stable and ROS 7.17 Stable
  • Performance verified with input lists up to 100K domains and output lists up to 5K domains

Production Status:

  • This is a production-ready version, but please proceed with caution! 🚀

Important Notes:

  • Before deploying to production, test thoroughly with a smaller dataset in your environment
  • Always maintain proper backups before making any changes
  • While the code is production-ready, you're using it at your own risk

Support Policy: Please note that this is a community project - the author doesn't provide individual support or consulting. Feel free to modify the code according to the license terms, but make sure to test your changes thoroughly.

Remember: Test first, backup always, deploy confidently! 🛡️