diff --git a/.github/workflows/create-lists.yml b/.github/workflows/create-lists.yml index ce3d9fa..0bdf9a4 100644 --- a/.github/workflows/create-lists.yml +++ b/.github/workflows/create-lists.yml @@ -2,7 +2,7 @@ name: Create lists on: push: - branches: [ "main", "categorize" ] + branches: [ "main", "srs" ] paths: - .github/workflows/create-lists.yml - Categories/** @@ -19,14 +19,18 @@ jobs: generate-lists: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4.1.4 - - name: Generate lists - uses: actions/setup-python@v5.1.0 - with: - python-version: '3.10' - - run: | - pip install tldextract - python convert.py + - uses: actions/checkout@4.1.7 + - name: Compile ruleset srs + run: | + docker run --rm \ + -v ${{ github.workspace }}/src:/app/src \ + -v ${{ github.workspace }}/Russia:/app/Russia \ + -v ${{ github.workspace }}/Ukraine:/app/Ukraine \ + -v ${{ github.workspace }}/Categories:/app/Categories \ + -v ${{ github.workspace }}/Services:/app/Services \ + -v ${{ github.workspace }}/SRS:/app/SRS \ + itdoginfo/compilesrs:0.1.1 + - name: Check Russia/inside-dnsmasq-ipset uses: itdoginfo/dnsmasq-action@0.1 with: @@ -57,6 +61,7 @@ jobs: with: file: "Ukraine/inside-dnsmasq-nfset.lst" version: 2.89 + - name: Push lists uses: EndBug/add-and-commit@v9 with: @@ -65,3 +70,12 @@ jobs: author_email: githubaction@githubaction.com message: 'Update lists' push: true + + - name: Set release tag + run: echo "TAG_NAME=$(date +'%Y-%m-%d_%H-%M')" >> $GITHUB_ENV + + - name: Release + uses: softprops/action-gh-release@v2.1.0 + with: + files: "${{ github.workspace }}/SRS/*.srs" + tag_name: ${{ env.TAG_NAME }} \ No newline at end of file diff --git a/.github/workflows/create-srs.yml b/.github/workflows/create-srs.yml deleted file mode 100644 index 59c0a03..0000000 --- a/.github/workflows/create-srs.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Create srs - -on: - push: - branches: [ "main", "srs" ] - paths: - - .github/workflows/create-srs.yml - - Categories/** - - Services/** - - src/** - - Sing-box-compile-srs/** - -jobs: - compile-and-release: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4.1.7 - - - name: Compile ruleset srs - run: | - docker run --rm \ - -v ${{ github.workspace }}/Categories:/app/Categories \ - -v ${{ github.workspace }}/Services:/app/Services \ - -v ${{ github.workspace }}/SRS:/app/SRS \ - itdoginfo/compilesrs:0.1 - - - name: Set release tag - run: echo "TAG_NAME=$(date +'%Y-%m-%d_%H-%M')" >> $GITHUB_ENV - - - name: Release - uses: softprops/action-gh-release@v2.1.0 - with: - files: "${{ github.workspace }}/SRS/*.srs" - tag_name: ${{ env.TAG_NAME }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index fd88e43..602f3be 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ antifilter-domains.lst uablacklist-domains.lst zaboronahelp-domains.lst -SRS \ No newline at end of file +SRS +JSON \ No newline at end of file diff --git a/Sing-box-compile-srs/Dockerfile b/Dockerfile similarity index 57% rename from Sing-box-compile-srs/Dockerfile rename to Dockerfile index 3564dde..0c35b51 100644 --- a/Sing-box-compile-srs/Dockerfile +++ b/Dockerfile @@ -4,10 +4,10 @@ FROM python:3.10.16-alpine3.21 COPY --from=sing-box /usr/local/bin/sing-box /bin/sing-box +RUN pip install --no-cache-dir tldextract + WORKDIR /app -COPY compile-srs.py /app/compile-srs.py +COPY convert.py /app/convert.py -VOLUME ["/app/Categories", "/app/Services"] - -CMD ["python3", "compile-srs.py"] \ No newline at end of file +CMD ["python3", "convert.py"] \ No newline at end of file diff --git a/Russia/inside-clashx.lst b/Russia/inside-clashx.lst index a9a6f75..a42d62a 100644 --- a/Russia/inside-clashx.lst +++ b/Russia/inside-clashx.lst @@ -69,6 +69,7 @@ DOMAIN-SUFFIX,brawlstarsgame.com DOMAIN-SUFFIX,broadcom.com DOMAIN-SUFFIX,broncosportforum.com DOMAIN-SUFFIX,btdig.com +DOMAIN-SUFFIX,btod.com DOMAIN-SUFFIX,buanzo.org DOMAIN-SUFFIX,buf.build DOMAIN-SUFFIX,builds.parsec.app @@ -153,6 +154,7 @@ DOMAIN-SUFFIX,download3.omnissa.com DOMAIN-SUFFIX,doxa.team DOMAIN-SUFFIX,dpidetector.org DOMAIN-SUFFIX,dreamhost.com +DOMAIN-SUFFIX,ducati.com DOMAIN-SUFFIX,dw.com DOMAIN-SUFFIX,e621.net DOMAIN-SUFFIX,echofm.online @@ -688,6 +690,7 @@ DOMAIN-SUFFIX,ytimg.com DOMAIN-SUFFIX,ytimg.l.google.com DOMAIN-SUFFIX,yummyani.me DOMAIN-SUFFIX,zahav.ru +DOMAIN-SUFFIX,zapier.com DOMAIN-SUFFIX,zbigz.com DOMAIN-SUFFIX,zedge.net DOMAIN-SUFFIX,zendesk.com diff --git a/Russia/inside-dnsmasq-ipset.lst b/Russia/inside-dnsmasq-ipset.lst index ebbc477..8e710ca 100644 --- a/Russia/inside-dnsmasq-ipset.lst +++ b/Russia/inside-dnsmasq-ipset.lst @@ -69,6 +69,7 @@ ipset=/brawlstarsgame.com/vpn_domains ipset=/broadcom.com/vpn_domains ipset=/broncosportforum.com/vpn_domains ipset=/btdig.com/vpn_domains +ipset=/btod.com/vpn_domains ipset=/buanzo.org/vpn_domains ipset=/buf.build/vpn_domains ipset=/builds.parsec.app/vpn_domains @@ -153,6 +154,7 @@ ipset=/download3.omnissa.com/vpn_domains ipset=/doxa.team/vpn_domains ipset=/dpidetector.org/vpn_domains ipset=/dreamhost.com/vpn_domains +ipset=/ducati.com/vpn_domains ipset=/dw.com/vpn_domains ipset=/e621.net/vpn_domains ipset=/echofm.online/vpn_domains @@ -688,6 +690,7 @@ ipset=/ytimg.com/vpn_domains ipset=/ytimg.l.google.com/vpn_domains ipset=/yummyani.me/vpn_domains ipset=/zahav.ru/vpn_domains +ipset=/zapier.com/vpn_domains ipset=/zbigz.com/vpn_domains ipset=/zedge.net/vpn_domains ipset=/zendesk.com/vpn_domains diff --git a/Russia/inside-dnsmasq-nfset.lst b/Russia/inside-dnsmasq-nfset.lst index 64bd853..f9bb4ca 100644 --- a/Russia/inside-dnsmasq-nfset.lst +++ b/Russia/inside-dnsmasq-nfset.lst @@ -69,6 +69,7 @@ nftset=/brawlstarsgame.com/4#inet#fw4#vpn_domains nftset=/broadcom.com/4#inet#fw4#vpn_domains nftset=/broncosportforum.com/4#inet#fw4#vpn_domains nftset=/btdig.com/4#inet#fw4#vpn_domains +nftset=/btod.com/4#inet#fw4#vpn_domains nftset=/buanzo.org/4#inet#fw4#vpn_domains nftset=/buf.build/4#inet#fw4#vpn_domains nftset=/builds.parsec.app/4#inet#fw4#vpn_domains @@ -153,6 +154,7 @@ nftset=/download3.omnissa.com/4#inet#fw4#vpn_domains nftset=/doxa.team/4#inet#fw4#vpn_domains nftset=/dpidetector.org/4#inet#fw4#vpn_domains nftset=/dreamhost.com/4#inet#fw4#vpn_domains +nftset=/ducati.com/4#inet#fw4#vpn_domains nftset=/dw.com/4#inet#fw4#vpn_domains nftset=/e621.net/4#inet#fw4#vpn_domains nftset=/echofm.online/4#inet#fw4#vpn_domains @@ -688,6 +690,7 @@ nftset=/ytimg.com/4#inet#fw4#vpn_domains nftset=/ytimg.l.google.com/4#inet#fw4#vpn_domains nftset=/yummyani.me/4#inet#fw4#vpn_domains nftset=/zahav.ru/4#inet#fw4#vpn_domains +nftset=/zapier.com/4#inet#fw4#vpn_domains nftset=/zbigz.com/4#inet#fw4#vpn_domains nftset=/zedge.net/4#inet#fw4#vpn_domains nftset=/zendesk.com/4#inet#fw4#vpn_domains diff --git a/Russia/inside-kvas.lst b/Russia/inside-kvas.lst index de402c6..1f00007 100644 --- a/Russia/inside-kvas.lst +++ b/Russia/inside-kvas.lst @@ -68,6 +68,7 @@ brawlstarsgame.com broadcom.com broncosportforum.com btdig.com +btod.com buanzo.org buf.build builds.parsec.app @@ -152,6 +153,7 @@ download3.omnissa.com doxa.team dpidetector.org dreamhost.com +ducati.com dw.com e621.net echofm.online @@ -688,6 +690,7 @@ ytimg.com ytimg.l.google.com yummyani.me zahav.ru +zapier.com zbigz.com zedge.net zendesk.com diff --git a/Russia/inside-mikrotik-fwd.lst b/Russia/inside-mikrotik-fwd.lst index c3fe573..817e0e7 100644 --- a/Russia/inside-mikrotik-fwd.lst +++ b/Russia/inside-mikrotik-fwd.lst @@ -69,6 +69,7 @@ /ip dns static add name=broadcom.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=broncosportforum.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=btdig.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost +/ip dns static add name=btod.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=buanzo.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=buf.build type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=builds.parsec.app type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost @@ -153,6 +154,7 @@ /ip dns static add name=doxa.team type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=dpidetector.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=dreamhost.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost +/ip dns static add name=ducati.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=dw.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=e621.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=echofm.online type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost @@ -688,6 +690,7 @@ /ip dns static add name=ytimg.l.google.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=yummyani.me type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=zahav.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost +/ip dns static add name=zapier.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=zbigz.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=zedge.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost /ip dns static add name=zendesk.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost diff --git a/Russia/inside-raw.lst b/Russia/inside-raw.lst index 26c558f..eaa37b6 100644 --- a/Russia/inside-raw.lst +++ b/Russia/inside-raw.lst @@ -69,6 +69,7 @@ brawlstarsgame.com broadcom.com broncosportforum.com btdig.com +btod.com buanzo.org buf.build builds.parsec.app @@ -153,6 +154,7 @@ download3.omnissa.com doxa.team dpidetector.org dreamhost.com +ducati.com dw.com e621.net echofm.online @@ -688,6 +690,7 @@ ytimg.com ytimg.l.google.com yummyani.me zahav.ru +zapier.com zbigz.com zedge.net zendesk.com diff --git a/Sing-box-compile-srs/compile-srs.py b/Sing-box-compile-srs/compile-srs.py deleted file mode 100755 index b6227c1..0000000 --- a/Sing-box-compile-srs/compile-srs.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/python3.10 - -import json -import os -import subprocess - -directories = ['Categories', 'Services'] - -output_directory = 'JSON' -os.makedirs(output_directory, exist_ok=True) -compiled_output_directory = 'SRS' -os.makedirs(compiled_output_directory, exist_ok=True) - -for directory in directories: - for filename in os.listdir(directory): - file_path = os.path.join(directory, filename) - - if os.path.isfile(file_path): - domains = [] - with open(file_path, 'r', encoding='utf-8') as file: - for line in file: - domain = line.strip() - if domain: - domains.append(domain) - - data = { - "version": 2, - "rules": [ - { - "domain_suffix": domains - } - ] - } - - output_file_path = os.path.join(output_directory, f"{os.path.splitext(filename)[0]}.json") - - with open(output_file_path, 'w', encoding='utf-8') as output_file: - json.dump(data, output_file, indent=4) - - print(f"JSON file generated: {output_file_path}") - -print("\nCompile JSON files to .srs files...") -for filename in os.listdir(output_directory): - if filename.endswith('.json'): - json_file_path = os.path.join(output_directory, filename) - srs_file_path = os.path.join(compiled_output_directory, f"{os.path.splitext(filename)[0]}.srs") - try: - subprocess.run( - ["sing-box", "rule-set", "compile", json_file_path, "-o", srs_file_path], check=True - ) - print(f"Compiled .srs file: {srs_file_path}") - except subprocess.CalledProcessError as e: - print(f"Compile error {json_file_path}: {e}") \ No newline at end of file diff --git a/Ukraine/inside-raw.lst b/Ukraine/inside-raw.lst new file mode 100644 index 0000000..ef2a02b --- /dev/null +++ b/Ukraine/inside-raw.lst @@ -0,0 +1,1378 @@ +101.ru +16-bits.ru +1cent.in +1cent.tv +1cupis.ru +1internet.tv +1prime.ru +1rsload.ru +1tv.com +1tv.ru +1tvcrimea.ru +1x-bet.com +1xbet.com +1xslots-online.com +1xstavka.ru +22bet.com +288sb.com +2gis.ru +2gis.ua +2kita.com +2whois.ru +3dn.ru +3dnews.ru +3dtoday.ru +4brain.ru +5-tv.ru +5.argocasino50.com +7themes.su +82.mchs.gov.ru +82.mvd.ru +82.rkn.gov.ru +82.rospotrebnadzor.ru +82reg.roszdravnadzor.ru +888.ru +9649.ru +abet.ru +academyit.ru +achtungpartisanen.ru +adacoins.ru +admin-gorlovka.ru +advisor.wmtransfer.com +afisha.yandex.ru +afisha.yandex.ua +ag.ru +agava.net.ru +agklnr.su +agroprom.msdnr.ru +aif.ru +aladdin-rd.ru +alchevsk.su +alfabank.ru +algoritmika.org +aliexpress.ru +allcrimea.net +altaipalace.net +amalgama-lab.com +amediateka.ru +amlgames.com +amvrosievka-gorsovet.1c-umi.ru +amvrosievka-gorsovet.umi.ru +aniqit.com +anna-news.info +anomaly-zone.net +anomaly-zone.ru +antifashist.com +antifriz.tv +antimaydan.info +antispamsniper.com +antistarforce.com +antr-adm.ru +antratsit.su +api.viqeo.tv +apptractor.ru +aprlnr.su +arbitr.ru +arbitrage.webmoney.ru +arbitrage.webmoney.ua +armgov.ru +artmoney.ru +artpeople.ru +artv-news.ru +ascnb1.ru +asd.news +asketlnr.su +asp24.ru +asssr.info +astrabet.ru +atraining.ru +au-donetsk.ru +audience.yandex.ru +audience.yandex.ua +auto.ru +autobook.one +autosport.com.ru +avia.yandex.ru +avia.yandex.ua +avtopribor.ru +awru.my.games +bafista.ru +baltbet.ru +banking.gdcert.com +banking.guarantee.ru +banking.wmeuro.eu +banks.webmoney.ru +bdocodex.com +beeline.ru +begemot.media +beget.com +bet365.com +bet365.ru +betboom.ru +betcity.ru +bethesda.net +betring.org +bettery.ru +betwinner.com +bg14.org +bigsv.ru +billingtv.net +bin.entware.net +bitasproductions.ru +bizdnr.ru +bizon365.ru +blast.hk +bloknot.ru +blynk.tk +bmpvsu.ru +bober-tv.ru +bober.ru +bonus.qiwi.com +bookmate.com +boosty.to +britannia-kaliningrad.ru +browser.yandex.ru +browser.yandex.ua +brunoyam.com +bryanka.su +burda.ru +bwin.ru +c-eho.info +c-inform.info +c-pravda.ru +cackle.me +calend.ru +calendar.yandex.ru +cambridgecentre.ru +capitalfm.moscow +cardsharingserver.tv +casino.partycasino.com +casino.redkings.com +cbilling.biz +cbilling.in +cbilling.pw +cbillingtv.net +cdn.tf +cdnbunny.org +cdnland.in +cdnvideo.ru +changamireltd.com +chat.ru +chernayamagiya.com +chipmaker.ru +chto-eto-takoe.ru +cikdnr.su +click.ru +cloud.pocketbook.digital +club443.ru +clubpixel.ru +cmh.ru +cnews.ru +coddyschool.com +codenet.ru +college.ru +combot.org +comitet.su +consoleclub.fun +cont.ws +contactpay.com +conversmod.ru +corp.qiwi.com +coub.com +cqham.ru +crb-dnr.ru +credit.webmoney.ru +crimea-news.com +crimea-radio.ru +crimea.com +crimea.gov.ru +crimea.izbirkom.ru +crimea.mk.ru +crimea.ria.ru +crimea24.tv +crimea24tv.ru +crimeapress.info +css-ms.ru +ctrana.news +cwer.ru +cwer.su +cwer.ws +cyberforum.ru +d3-28.ru +d4reflection.org +dan-news.info +darkside.ru +datadome.co +datalock.ru +debalcevo-dnr.ru +debt.wmtransfer.com +delivery.yandex.ru +denis-pushilin.info +denis-pushilin.ru +depirf.ru +des-life.ru +developer.qiwi.com +deviantart.net +digitalrussia.tv +dimonvideo.ru +direct.yandex.ru +direct.yandex.ua +disk.yandex.ru +disk.yandex.ua +djankoiadm.ru +dlink.ru +dmde.ru +dmkos.ru +dnd.su +dnipress.com +dnmchs.ru +dnr-hotline.ru +dnr-life.ru +dnr-live.ru +dnr-news.com +dnr-online.ru +dnr-pravda.ru +dnr24.com +dnr24.su +dnrailway.ru +dnronlane.su +dnrsovet.su +dns-shop.ru +dns.yandex.ru +dns.yandex.ua +do-mein.ru +dokuchaevskga.ucoz.org +domkino-premium.tv +domkino.tv +domkinopremium.tv +dommintrans.ru +donate.qiwi.com +donationalerts.com +donbass.media +donbasstoday.ru +doncsm.ru +doneast.su +donetsk.kp.ru +donmarkets.ru +donmintrans.ru +donnu.ru +dontimes.ru +drive2.ru +driver.ru +droider.ru +dropmefiles.com +drweb.com +drweb.ru +dtf.ru +dvhab.ru +dzen.ru +dzhankoy.rk.gov.ru +e-hentai.org +e-news.su +e1.ru +easynod.ru +easynod.servebeer.com +econri.org +edem.tv +edemtv.me +edu.lpr-reg.ru +eduson.academy +elcats.ru +electrotransport.ru +elementy.ru +elibrary.ru +eljur.ru +elmi.ua +enakievo.org +enigma.ua +epg.fox-tv.fun +epp.genproc.gov.ru +eramedia.com.ua +esir.gov.spb.ru +esp8266.ru +esputnik.com +etu.ru +europaplus.ru +events.wmtransfer.com +evp.rk.gov.ru +excelworld.ru +exchanger.money +exchanger.money.ru +exchanger.ru +exesniper.com +exist.parts +f1news.ru +fanfics.me +fansubs.ru +farmanager.com +fastpic.org +feedsmart.ru +feo.rk.gov.ru +fgi-lnr.su +ficbook.net +files.wmtransfer.com +finbet.bet +findexiq.com +fixmypc.ru +flashboot.ru +flipperzero.one +fon.bet +fonbet.ru +forma-box.ru +fornote.net +forscan.org +forummikrotik.ru +forumupload.ru +fotki.yandex.ru +fotopik.net +fotostrana.ru +fox-tv.fun +fpdnr.ru +fplnr.org +freedom.kiev.ua +freelance.ru +freeman42.ru +freize.net +frenglish.ru +fsnslnr.su +game-debate.com +gamearmy.ru +gameawards.ru +gamekot.top +gatoga.ru +gazeta-dnr.ru +gazeta.ru +gazetacrimea.ru +gb-dnr.com +gb.ru +gcdn.co +genichesk.khogov.ru +getcourse.ru +ggbet.ru +giapkdnr.msdnr.ru +gisclub.tv +gismeteo.ru +gisnpa-dnr.ru +gitflic.ru +gkecopoldnr.ru +gkgtn.ru +gknslnr.su +gkslnr.su +gktrlnr.su +glava-lnr.info +glava-lnr.su +glavstat.govdnr.ru +gle.ru +global.parimatch.com +godville.net +goldfishka68.com +golospravdy.com +gomel-sat.bz +goodgame.ru +gorlovka-news.su +gorlovka-tv.ru +gorlovka.today +gorod-donetsk.com +gorod-lugansk.com +goskomzemdnr.ru +goskomzemlnr.su +gosnadzorlnr.ru +gosrezervlnr.su +gosstat-dnr.ru +gostrud-dnr.ru +gosuslugi.ru +gov.ru +govdnr.ru +government.ru +gpdnr.su +gplnr.su +gs-corp.ru +gsdsd-dnr.ru +gt-news.info +gta.ru +gtklnr.su +gtrklnr.su +gtrlnr.com +gubkin.ru +gum-centr.su +guprec.ru +gvol.ru +h-helpers.ru +habr.com +habr.ru +hamsdr.ru +health-diet.ru +hexlet.io +hi-fi-forum.net +hi-fidelity-forum.com +highspeednetwork.ru +hightech.plus +hlboost.ru +horrorzone.ru +hostingradio.ru +howto-news.info +howtonews.info +htmlacademy.ru +i-don.ru +i-edem.tv +iddqd.ru +ideafix.name +iedem.tv +igromania.ru +iguides.ru +ihc.ru +ihor-hosting.ru +ikrim.net +ikstv.ru +ilook.tv +ilovaisk.ugletele.com +ilyabirman.ru +imageban.ru +imgzona.video +infergames.com +info.fox-tv.fun +info.paymaster.ru +inforeactor.ru +informing.ru +infostart.ru +infovestnik.blogspot.com +inlinegroup-c.ru +inlnk.ru +inosmi.ru +insearch.site +inst.net +interfax.ru +internet-lab.ru +interra.bz +intrud.rk.gov.ru +investor.qiwi.com +involta.ru +ip-tv.club +iptv-ru.com +iptvin.ru +iseetv.net +iskra-dnr.ru +ispsystem.ru +it999.ru +itc-life.ru +ithelp21.ru +ixbt.com +iz.ru +izpp.govdnr.ru +jaomix.ru +japancats.ru +jiht.ru +jino.ru +jinopro.net +jira.ru +jobs.qiwi.com +jobs.yoomoney.ru +journalcrimea.ru +joyreactor.cc +jpgazeta.ru +k3d.tech +kanal-o.ru +karpov.courses +karusel-tv.ru +kaspersky.com +kaspersky.ru +kassa.yandex.ru +katyusha.tv +kaznalnr.ru +kcpn.info +keeper.webmoney.ru +keeper.wmtransfer.com +kg-portal.ru +kga.su +khartsyzsk.ugletele.com +kherson.khogov.ru +khogov.ru +kianews24.ru +kiev.coddyschool.com +kini24.ru +kino-teatr.ru +kinoafisha.ru +kinokong.pro +kinzhal.media +kiozk.ru +kirovskoe.ugletele.com +kodik.biz +korabli.su +koroleffsov.ru +koronapay.com +koshara.co +kp.ru +kpfu.ru +krasnodon.su +krasnyluch.su +krt-club.ru +krtech.ru +krvesna.rk.gov.ru +krym.fas.gov.ru +ktcr.lprreg.ru +labirint.ru +laitis.ru +lambda13.online +lampa32.ru +lapki.live +lenovo-forums.ru +lenta.ru +leon.ru +leonardo.osnova.io +leonid-pasechnik.info +lesta.ru +lgt.su +lib.ru +lifelink.ru +lifelug.su +ligastavok.ru +light.webmoney.ru +light.wmtransfer.com +lightiptv.me +linebet.com +linkmeup.ru +linuxmint.com.ru +linuxrussia.com +litres.ru +livejournal.com +lms.mupo.ru +lnr.media +lnr.today +loftschool.com +login.p1.worldoftanks.net +login.p2.worldoftanks.net +login.p3.worldoftanks.net +login.p4.worldoftanks.net +login.p5.worldoftanks.net +login.p6.worldoftanks.net +login.p7.worldoftanks.net +login.p8.worldoftanks.net +login.p9.worldoftanks.net +login.wmtransfer.com +login0.tanksblitz.ru +login1.tanksblitz.ru +login2.tanksblitz.ru +login3.tanksblitz.ru +login4.tanksblitz.ru +lolz.guru +losst.ru +lostarmour.info +lostarmour.ru +lostfilm.info +lostmagic.ru +lug-info.com +luga1news.ru +lugansk-online.su +lugansk.online +lugansk.site +lugansk1.info +lutik.tv +lutugino.su +m24.ru +magzdb.org +mail.ru +mail.wmid.com +mail.yandex.ua +makeyevka.ru +mamba.ru +manaeff.ru +mangadex.org +manjaro.ru +marathonbet.ru +market.yandex.ru +market.yandex.ua +markupeasy.ru +marshruty.ru +mastergrad.com +mchost.ru +mchs-lnr.su +mchs.rk.gov.ru +mcxdnr.ru +mdsdnr.ru +meco.rk.gov.ru +media-xyz.com +megafon.ru +megasoft-ltd.ru +megatimer.ru +megatransov.net +melbet.com +melbet.ru +melord.net +memealerts.com +mephi.ru +mer.govdnr.ru +mer.lpr-reg.ru +merchant.webmoney.ru +merchant.wmtransfer.com +merionet.ru +merlnr.su +metanit.com +meteotrend.com +metrika.yandex.ru +metrika.yandex.ua +metro.yandex.ru +metro.yandex.ua +mgb-dnr.ru +mgbdnr.ru +mgblnr.org +mgsn.rk.gov.ru +mhdd.ru +miaistok.su +micro-solution.ru +micrus.ru +mid-dnr.su +mil-lnr.info +mil.ru +mincult.govdnr.ru +minek.rk.gov.ru +minfin.lprreg.ru +minfin.rk.gov.ru +minfindnr.ru +minfinlnr.su +minfo.rk.gov.ru +mini.webmoney.ru +mini.wmtransfer.com +mininfodnr.ru +minjust-dnr.ru +minjust.lpr-reg.ru +minobr.su +minpromlnr.su +minstroy-dnr.ru +minstroy.lpr-reg.ru +minstroylnr.su +mintek-dnr.ru +mintop.su +mintrans.lpr-reg.ru +mintranslnr.su +mintrud.gov-dpr.ru +mintrud.lpr-reg.ru +mintrudlnr.su +minzdrav.govdnr.ru +minzdrav.lpr-reg.ru +mipt.ru +mir24.tv +miralinks.ru +miranda-ng.org +mirkosmosa.ru +mirplus.info +mirtesen.ru +mizo.lpr-reg.ru +mk-donbass.ru +mk-herson.ru +mk-zap.ru +mk.lpr-reg.ru +mk.ru +mklnr.su +mkult.rk.gov.ru +mmnt.ru +mobile3.gameassists.co.uk +mobstudio.ru +mondnr.ru +money.yandex.ru +monitor.net.ru +monitorlab.ru +monm.rk.gov.ru +monteon.ru +moonback.ru +moscowmedia.net +mostbet.ru +moyaposylka.ru +mozaika.dn.ua +mpr.lpr-reg.ru +mprlnr.su +mprom.rk.gov.ru +mpt-dnr.ru +mpt.lpr-reg.ru +mptdnr.ru +mrespublika.ru +msdk.freshchat.com +msdnr.ru +msg13.core.tf +msh.rk.gov.ru +mshiplnr.lpr-reg.ru +mshiplnr.su +msk.top-academy.ru +mskagency.ru +mslnr.su +msport.rk.gov.ru +msreview.net +mstcvfvcvb.com +mstroy.rk.gov.ru +mtop.rk.gov.ru +mtrans.rk.gov.ru +mtrud.rk.gov.ru +mts.ru +mtspdnr.ru +mtur.rk.gov.ru +mu-lnr.su +mulnr.su +music.yandex.ua +musicwars.ru +must.rk.gov.ru +muz1.tv +mvddnr.ru +mvdlnr.ru +myaccount.partypoker.com +myarena.ru +myarena.site +mybook.ru +myshows.me +myvi.tv +mzdnr.ru +mzdrav.rk.gov.ru +mzem.rk.gov.ru +mzhkh.rk.gov.ru +mzlnr.su +n.maps.yandex.ru +nabu-leaks.com +nabu-leaks.info +nabu-leaks.net +nabu-leaks.org +nag.ru +nag.wiki +nahnews.org +narfu.ru +narodmon.ru +narodnoeopolchenie.ru +nashagazeta.net +nashe.ru +nateks-don.ru +nateks-dv.ru +nateks-ural.ru +nateks-volga.ru +nateks.by +nateks.telecomsite.ru +nation-news.ru +navitel.ru +navitel.ua +neosvc.ru +netology.ru +network-xyz.com +nevelend.ru +new-team.org +new.yoomoney.ru +newinform.com +news-front.info +news.yandex.ru +news.yandex.ua +newsdnr.ru +newsua.ru +newxboxone.ru +ngs.ru +nihon-go.ru +nix.ru +nm-g.ru +nomadcasino.com +novkahovka.khogov.ru +novoaz-adm.3dn.ru +novopressa.ru +novorosinform.org +novoross.info +novorossia-tv.ru +novorossia.su +novorossia.today +novorossia.vision +novorossiatv.com +novosti.icu +npoiskra.ru +nsc.ru +nslnr.su +nt1941.su +nts-tv.com +ntv.ru +ntvplus.ru +ntvplus.tv +nuipogoda.ru +obu4alka.ru +oddr.info +odnarodyna.org +odsd.ru +og-ti.ru +ok-crimea.ru +ok.ru +okdk.ru +okkupatsiya.net +old-combats.com +old-games.ru +oldbk2.com +olimp.bet +ombudsmandnr.ru +onetrust.com +online-cloud.moscow +onlinezakladki.ru +onmedia.io +ontvtime.ru +opcrimea.ru +opennet.ru +orderingmemory.com +osu.ru +otchet-online.ru +otr-online.ru +ott-play.com +ottg.tv +ottglanz.tv +ottplay.com +otus.ru +outsidethebox.ms +overclockers.ru +owebmoney.ru +oxy.cloud +oxy.st +ozon.ru +p-on.ru +p2p.qiwi.com +pa.fox-tv.fun +paribet.ru +parimatch.com +parimatch.foundation +parimatch.net +parimatch.ua +partner.yandex.ru +partner.yandex.ua +pascalabc.net +passport.webmoney.ru +passport.yandex.ua +pathofexile.com +patriarchia.ru +paymaster.ru +paymaster.ua +paystree.com +pct.amocrm.ru +pdd.yandex.ru +peertube.su +perviynomer.ru +pervomaysklnr.su +pflnr.su +phoenix-dnr.ru +php.ru +pikabu.ru +pikinform.ru +pikuco.ru +pingvinus.ru +pksspb.ru +planetaexcel.ru +play-www.777.com +playground.ru +pluggedin.ru +pm.ua +pobeda.tv +poehali.tv +poig.ru +pokermatch.com +pokermatch.ua +politexpert.net +politnavigator.net +politros.com +poolbet.ru +pooshock.ru +pornreactor.cc +postdonbass.com +poweruser.guru +pozdravik.ru +poznet.ru +ppcrimea.ru +pravdabeslana.ru +pravdnr.ru +premier.one +premium.tv +pressa.ru +prikolnik.com +primedice.com +prodonbass.ru +productstar.ru +proglib.io +prolaz.su +promedia.ru +promo.yookassa.ru +promo.yoomoney.ru +promodj.com +psxplanet.ru +ptspb.ru +pyatilistnik.org +qiwi.com +qiwi.gcs-web.com +qiwi.kz +qiwi.me +qiwiguide.ru +qiwitrue.dev +qrz.ru +r82.fss.ru +r82.fssprus.ru +rabota.yandex.ru +rabota.yandex.ua +rabotavtaxi.pro +radcap.ru +radio.ru +radio.yandex.ua +radiokot.ru +radiomoskvy.ru +radiopotok.ru +radiorecord.magonet.ru +radiorecord.ru +radioscanner.net +radioscanner.ru +radiovera.ru +radiozvezda.ru +rambler.ru +rasp.yandex.ru +rasp.yandex.ua +rbc.ru +rcz-dnr.ru +realty.yandex.ru +redray-lnr-news.su +reg.ru +remont-aud.net +remontcompa.ru +remontka.pro +remplanner.ru +ren.tv +reporter-crimea.ru +republic-tv.ru +rezka.ag +rf-cheats.ru +rfn.ru +ria.ru +riafan.ru +rian.com.ua +rian.ru +rinoptica.ru +riperam.org +ritualdnr.ru +rk.gov.ru +rkn.gov.ru +rknpa.ru +rkproc.ru +rmnews.ru +rncb.ru +rock-n-roll.ru +rolz.org +rov-adm.su +rp-universe.ru +rp24.info +rp5.ru +rs.gov.ru +rsload.net +rsload.ru +rst-dnr.ru +rt.com +rtcomm.ru +rtfm.wiki +rtr-planeta.com +ru.com +rucomics.info +rumedia24.com +rus-linux.net +ruscrimea.ru +rusdialog.ru +rusf.ru +rusmatica.org +rusnext.ru +russia.tv +russian-center.ru +russian.oplot.tv +rusvesna.su +rutab.net +rutor.info +rutrk.org +rutube.ru +rutubelist.ru +ruvoip.net +ruweb.net +ruxpert.ru +rv77.pw +rzd.ru +s8.capital +sadmin.io +sampo.ru +sape.ru +sberbank.ru +sc2tv.ru +scanmatik.ru +sceptic.online +school-xyz.com +seasonvar.ru +secretra.com +security.webmoney.ru +security.wmtransfer.com +segodnya.tv +selectel.org +sendfile.su +sendsay.ru +sergeistrelec.ru +serveradmin.ru +sev.gov.ru +sev.tv +sevastopol.press +sf.education +shahtersk.org +shareman.tv +sharij.com.ua +sharij.net +sharij.online +shop.fox-tv.fun +showgogo.ru +showip.net +sibnet.ru +simadm.ru +simsync.io +sipnet.ru +site.yandex.ua +skadovsk.khogov.ru +skgazeta.su +skillbox.ru +skillfactory.ru +skladchik.com +skladchik.org +sky.pro +skyeng.com.ua +skyeng.in.ua +skyeng.ru +skysmart.ru +slavasev.ru +slavlnr.su +slavvesti.su +sledcom.ru +slimboxtv.ru +slo.ru +slovodel.com +slurm.io +smdnr.ru +smi2.ru +smotrim.ru +smtu.ru +snezh-dnr.wmsite.ru +soap4youand.me +sobranie-casino.com +soft-navigator.ru +sources.ru +sovminlnr.ru +sovminlnr.su +sp-rc.ru +spb.ru +spbstu.ru +speechkit.yandex.ru +speedfans.ru +spletnik.ru +sportloto.ru +sprav.yandex.ru +sprav.yandex.ua +sputnikimages.com +sputniknews.com +stakhanov.su +star-bet.ru +starkgames.app +starline-online.ru +starline.ru +starobeshevo.ru +start.ru +startallback.com +stat.yandex.ru +stat.yandex.ua +static.qiwi.com +static.viqeo.tv +stepik.org +stitch.su +stnmoscow.ru +stoletie.ru +strana.digital +strana.news +strana.one +strana.today +strana.ua +strava.com +stv92.ru +supcourt-dpr.su +support.my.games +svetovik.info +svk-portal.su +svpressa.ru +swiftbook.ru +synapse-pe.ru +synthema.ru +sysadmins.ru +szstakhanov.su +tabor.ru +tadiphone.dev +tanki.su +tanksblitz.ru +tarakanov.net +tass.ru +taxi-yandex.com.ua +taxi-yandex.kiev.ua +taxi.yandex.ru +tcpu.ru +team-host.ru +teamplay.qiwi.com +tech.yandex.ru +techberg.ru +tehnichka.pro +telecafe.ru +telekanal-oplot.tv +telepay.webmoney.ru +telepay.wmtransfer.com +telephony.yandex.ru +telesputnik.ru +teletarget.ru +televid-sib.ru +telmanovo-dnr.ru +telmanovo.dnr-online.ru +tennisi.bet +textologia.ru +teyes.cn +teyes.ru +tfomsrk.ru +thg.ru +thomaldrin.worldpress.com +tidal.com +tiflo.info +tinkoff.ru +tjournal.ru +tk-union.tv +tnt-online.ru +tochka.com +topface.com +topiptv.info +topvisor.com +torez24.ru +tortuga.club +tppdnr.ru +tpu.ru +trakrd.ru +translate.yandex.ru +translate.yandex.ua +trashbox.ru +travel.qiwi.com +travel.yandex.ru +treeone.ru +tribuna.com +tribunal.dnr-online.ru +trkmillet.ru +trudgor.su +trudslava.su +tsiklnr.su +tunecom.ru +tuyahome.online +tv.rbc.ru +tv.yandex.ru +tv.yandex.ua +tvc.ru +tvkultura.ru +tvlider.net +tvoetv.in.ua +tvzvezda.ru +tyuiu.ru +u2.9111s.ru +ucoz.ru +ugoos.twicker.ru +ukr.rs.gov.ru +ukraina.ru +ukraine.ru +ukrgarant.com +ulstu.ru +universe.qiwi.com +uoperev.ucoz.org +ural.ru +uraltm08.ru +urtaev.com +usbdev.ru +usbtor.ru +uscrimea.ru +usd.krm.sudrf.ru +userapi.com +utmn.ru +utro.ru +uzhhorod.today +vc.ru +vedomosti.ru +veesp.com +vegalab.ru +veraifoma.ru +versia.ru +veseloeradio.ru +vesti-k.ru +vesti.ru +vesti92.ru +vgl-sport.ru +vgtrk.com +vipdrive.net +virtustec.ru +visionbot.ru +visions.ru +vitrina.tv +vk-apps.com +vk.com +vkforms.ru +vkopt.net +vkplay.live +vladimirmalikov.com +vmakeevke.com +vniioeng.ru +vodadonbassa.ru +voenmeh.ru +voice-server.ru +voicesevas.ru +voidboost.cc +voidboost.in +voloshyna.org.ua +voltbet.ru +voskhodinfo.su +vperedlnr.su +vpn.zaborona.help +vremya.tv +vs.krm.sudrf.ru +vsednr.ru +vz.ru +walletone.com +wasd.tv +wbc.com.ru +web-moneta.com +webhamster.ru +webmaster.yandex.ru +webmoney-keeper.ru +webmoney.by +webmoney.com +webmoney.com.ua +webmoney.ru +webmoney.ua +webmoneydealer.narod.ru +webos-forums.ru +whitesaas.com +wiki.web-money.ru +wiki.web.money.ru +wiki.webmoney.ru +wiki.wmtransfer.com +wiki93.ru +wikimapia.org +wildberries.ru +win-torrent.net +win10tweaker.ru +winitpro.ru +wink.rt.ru +winline.ru +wm-factor.com.ua +wm.exchanger.money +wmchanger.com +wmsc1.webmoney.ru +wmsc2.webmoney.ru +wmsc3.webmoney.ru +wmsc4.webmoney.ru +wmscl.webmoney.ru +wmtransfer.com +wmx.ru +wod.su +wooordhunt.ru +world-evolved.ru +worldcrisis.ru +wotspeak.ru +wtftime.ru +www.21casino.com +www.24kcasino.com +www.agoravox.tv +www.betchain.com +www.betchplp.xyz +www.bitcoincasino.us +www.capitaller.ru +www.casinotoken.com +www.cloudbet.com +www.donbass-insider.com +www.donetsk-france.org +www.doverie-tv.ru +www.drweb.ru +www.euslot.com +www.facct.ru +www.fastpay-casino.com +www.geopolitika.ru +www.grandx.com +www.group-ib.com +www.group-ib.ru +www.ilucki.com +www.inlinegroup.ru +www.inlinegroup.ua +www.ints.net +www.joocasino.com +www.kaspersky.ru +www.kinopoisk.ru +www.konungcasino.com +www.labirint.ru +www.litres.ru +www.loyalcasino.com +www.mail.ru +www.mklnr.su +www.mosfm.com +www.n1casino.com +www.nateks.ru +www.ok.ru +www.ozon.ru +www.paradisecasino.com +www.patreon.com +www.pervomaysklnr.su +www.pinnacle.com +www.pl.com.ua +www.probki.net +www.qiwi.com +www.qiwi.ua +www.redstarcasino20.eu +www.smartwm.ru +www.tvzvezda.ru +www.vk.com +www.wildberries.am +www.wildberries.by +www.wildberries.eu +www.wildberries.kg +www.wildberries.kz +www.wildberries.ru +www.wildberries.ua +www.yataxi.net +www.yoomoney.ru +x-bet.co +xchess.ru +xml.yandex.ru +xml.yandex.ua +xn--80ahqgjaddr.xn--p1ai +xn--c1acbl2abdlkab1og.xn--p1ai +xn--h1aheeehel.xn--p1acf +xxiveklnr.su +ya-taxi.bitrix24.site +ya.com +ya.ru +yadro.ru +yalta-tv.ru +yalta.rk.gov.ru +yaltatv.ru +yandex-taxi.com.ua +yandex.biz.ua +yandex.com +yandex.net +yandex.ru +yandex.ua +yandexcloud.net +yandexdatafactory.com +yandextaksiua.com.ua +yandextaxi.com.ua +yandextaxi.kiev.ua +yasispolkom.dnr-online.ru +yasispolkom.ru +yataxi.com.ua +yoobusiness.ru +yookassa.ru +yoomoney.ru +yoomoney.uk +yoomoney.website +youmoney.ru +yourok.ru +ytro.news +yumoney.ru +z-oleg.com +zavtra.ru +zaycev.net +zedom.net +zenit.win +zenmoney.ru +zenon.net +zerocoder.ru +zhdanovka.com +zhdanovka.ugletele.com +zilore.com +zno.yandex.ua +zoneofgames.ru +zugres.ugletele.com diff --git a/convert.py b/convert.py index 647f810..ea0de2e 100755 --- a/convert.py +++ b/convert.py @@ -4,6 +4,9 @@ import tldextract import urllib.request import re from pathlib import Path +import json +import os +import subprocess rusDomainsInsideOut='Russia/inside' rusDomainsInsideSrcSingle='src/Russia-domains-inside-single.lst' @@ -15,7 +18,7 @@ uaDomainsSrc='src/Ukraine-domains-inside.lst' uaDomainsOut='Ukraine/inside' def raw(src, out): - domains_raw = set() + domains = set() files = [] if isinstance(src, list): @@ -27,15 +30,19 @@ def raw(src, out): files.append(path) for f in files: - with open(f) as infile: - for line in infile: - if tldextract.extract(line).suffix: - domains_raw.add(line.rstrip()) + if f.is_file(): + with open(f) as infile: + for line in infile: + if tldextract.extract(line).suffix: + if re.search(r'[^а-я\-]', tldextract.extract(line).domain): + domains.add(tldextract.extract(line.rstrip()).fqdn) + if not tldextract.extract(line).domain and tldextract.extract(line).suffix: + domains.add("." + tldextract.extract(line.rstrip()).suffix) - domains_raw = sorted(domains_raw) + domains = sorted(domains) with open(f'{out}-raw.lst', 'w') as file: - for name in domains_raw: + for name in domains: file.write(f'{name}\n') def dnsmasq(src, out, remove={'google.com'}): @@ -158,6 +165,94 @@ def mikrotik_fwd(src, out, remove={'google.com'}): for name in domains: file.write(f'/ip dns static add name={name} type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost\n') +def domains_from_file(filepath): + domains = [] + try: + with open(filepath, 'r', encoding='utf-8') as file: + for line in file: + domain = line.strip() + if domain: + domains.append(domain) + except FileNotFoundError: + print(f"File not found: {filepath}") + return domains + +def generate_srs(domains, output_name): + output_directory = 'JSON' + compiled_output_directory = 'SRS' + + os.makedirs(output_directory, exist_ok=True) + os.makedirs(compiled_output_directory, exist_ok=True) + + data = { + "version": 2, + "rules": [ + {"domain_suffix": domains} + ] + } + + json_file_path = os.path.join(output_directory, f"{output_name}.json") + srs_file_path = os.path.join(compiled_output_directory, f"{output_name}.srs") + + try: + with open(json_file_path, 'w', encoding='utf-8') as json_file: + json.dump(data, json_file, indent=4) + print(f"JSON file generated: {json_file_path}") + + subprocess.run( + ["sing-box", "rule-set", "compile", json_file_path, "-o", srs_file_path], check=True + ) + print(f"Compiled .srs file: {srs_file_path}") + except subprocess.CalledProcessError as e: + print(f"Compile error {json_file_path}: {e}") + except Exception as e: + print(f"Error while processing {output_name}: {e}") + +def generate_srs_for_categories(directories, output_json_directory='JSON', compiled_output_directory='SRS'): + os.makedirs(output_json_directory, exist_ok=True) + os.makedirs(compiled_output_directory, exist_ok=True) + + for directory in directories: + for filename in os.listdir(directory): + file_path = os.path.join(directory, filename) + + if os.path.isfile(file_path): + domains = [] + with open(file_path, 'r', encoding='utf-8') as file: + for line in file: + domain = line.strip() + if domain: + domains.append(domain) + + data = { + "version": 2, + "rules": [ + { + "domain_suffix": domains + } + ] + } + + output_file_path = os.path.join(output_json_directory, f"{os.path.splitext(filename)[0]}.json") + + with open(output_file_path, 'w', encoding='utf-8') as output_file: + json.dump(data, output_file, indent=4) + + print(f"JSON file generated: {output_file_path}") + + print("\nCompile JSON files to .srs files...") + for filename in os.listdir(output_json_directory): + if filename.endswith('.json'): + json_file_path = os.path.join(output_json_directory, filename) + srs_file_path = os.path.join(compiled_output_directory, f"{os.path.splitext(filename)[0]}.srs") + try: + subprocess.run( + ["sing-box", "rule-set", "compile", json_file_path, "-o", srs_file_path], check=True + ) + print(f"Compiled .srs file: {srs_file_path}") + except subprocess.CalledProcessError as e: + print(f"Compile error {json_file_path}: {e}") + if __name__ == '__main__': # Russia inside Path("Russia").mkdir(parents=True, exist_ok=True) @@ -189,11 +284,24 @@ if __name__ == '__main__': urllib.request.urlretrieve("https://raw.githubusercontent.com/zhovner/zaborona_help/master/config/domainsdb.txt", "zaboronahelp-domains.lst") ua_lists = ['uablacklist-domains.lst', 'zaboronahelp-domains.lst', uaDomainsSrc] - + + raw(ua_lists, uaDomainsOut) dnsmasq(ua_lists, uaDomainsOut) clashx(ua_lists, uaDomainsOut) kvas(ua_lists, uaDomainsOut) mikrotik_fwd(ua_lists, uaDomainsOut) for temp_file in ['uablacklist-domains.lst', 'zaboronahelp-domains.lst']: - Path(temp_file).unlink() \ No newline at end of file + Path(temp_file).unlink() + + # Sing-box ruleset main + russia_inside = domains_from_file('Russia/inside-raw.lst') + russia_outside = domains_from_file('Russia/outside-raw.lst') + ukraine_inside = domains_from_file('Ukraine/inside-raw.lst') + generate_srs(russia_inside, 'russia-inside') + generate_srs(russia_outside, 'russia-outside') + generate_srs(ukraine_inside, 'ukraine-inside') + + # Sing-box categories + directories = ['Categories', 'Services'] + generate_srs_for_categories(directories)