Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Autor wątku: https://miuipolska.pl/forum/topic/31318-blokada-reklam-dla-xiaomieu-nie-wymaga-root/ zaprzestał aktualizacji pliku hosts. (do końca czerwca 2020 r. )

Napisałem, więc skrypt bash (Android - uruchamiany w Termux i pod Linux, ewentualnie Windows 10 używając WSL), który na podstawie adresów list sam pobiera, generuje i konsoliduje nowe listy do formatu hosts.

Wyrzuciłem stare, nieaktywne adresy URL list i dodałem GoodbyeAds/GoodbyeAds YouTube. Skrypt usuwa również duplikaty i niepotrzebne komentarze, a także ujednolica IP do formatu zero-host.

Teraz każdy sam we własnym zakresie może generować nowy plik zip dla TWRP z aktualnymi listami blokowania reklam zarówno w wersji na stare (v1) jak i nowe (v2) urządzenia.

Skrypt jest dostępny na moim GitHub wraz z opisem użycia:

>>> https://github.com/domker/adbgen

[Lista zmian]

 

termux-adbgen.png

Screenshot_2020-08-28-18-31-37-684_com.android.fileexplorer.jpg

twrp_adbgen.png

Edytowane przez Domker_
dodanie linka do listy zmian
  • Like 5
  • Thanks 1
Opublikowano

Przy poleceniu:

godl && curl -# -L -o adbgen.zip "https://github.com/domker/adbgen/archive/master.zip" && unzip adbgen.zip && cd adbgen-master

pojawia mi się informacja:

Warning: Failed to create the file adbgen.zip: Permission denied
curl: (23) Failure writing output to destination

Rozumiem, że mu uprawnienia do katalogu nie pasują.

  • Like 1
Opublikowano (edytowane)

@AmyS

Chyba wiem, o co chodzi. Nie dałeś aplikacji "Termux" praw do zapisu. Naciśnij dłużej na ikonę Termuxa lub na liście uruchomionych aplikacji > "O aplikacji" (ostatnia opcja) > "Uprawnienia aplikacji" > "Pamięć" - aktywuj.

Jeżeli będziesz mieć jakieś pytania, to z chęcią odpowiem.

W sumie dzięki, ze informację, bo dodam w README.md informację o konieczności nadania takich uprawnień dla aplikacji Termux :-)

@AndrzejKu

Listy nie wytną Ci 100% reklam, np. w aplikacji YouTube (na mobilnej stronie YT już tak), która jest specyficzna i szyfruje ruch związany z reklamami tak samo jak oficjalna aplikacja Facebook. Wgrałeś wersję V2 pliku ZIP?

Reklamy znikają głównie na wielu stronach przeglądarce i w wielu aplikacjach z Google Play.

Czy lista działa możesz sprawdzić wpisując do przeglądarki dowolny adres, który jest w pliku "hosts" np. abz.com

Jeżeli wyświetli się "Ta witryna jest nieosiągalna" tzn., że wgrany plik jak najbardziej działa.

Linki do list wziąłem bezpośrednio od autora wcześniej dostarczanych paczek ZIP (link w pierwszym poście), usunąłem tylko te, które już nie istniały i dodałem 2 listy GoodbyeAds, które moim zdaniem są całkiem skuteczne szczególnie jeżeli chodzi o blokadę trackerów zaszytych w aplikacjach.

 

 

 

Edytowane przez Domker_
Opublikowano (edytowane)

@hjirik Give "Storage" permission for Termux app and try again. (Long press on the Termux app icon, then "About application"> "Application permissions"> check ON "Storage")

Edytowane przez Domker_
Opublikowano (edytowane)

@hjirik Try check this file exist in "adbgen-master" subdirectory (there the script with the content is unpacked by default and all new files are created there - to avoid creating a mess in Download directory)

Edytowane przez Domker_
Opublikowano

@hjirik You re-added alias godl to "bash.bashrc" file, then You now have a double entry there. (by repeating all the steps again from the beginning)

Remove the last line from this file with this command to fix it:

sed -i '$ d' /data/data/com.termux/files/usr/etc/bash.bashrc && echo "Done!"

:grin:

  • Like 1
Opublikowano
Dnia 5.09.2020 o 18:17, Domker_ napisał:

@AmyS

Chyba wiem, o co chodzi. Nie dałeś aplikacji "Termux" praw do zapisu. Naciśnij dłużej na ikonę Termuxa lub na liście uruchomionych aplikacji > "O aplikacji" (ostatnia opcja) > "Uprawnienia aplikacji" > "Pamięć" - aktywuj.

Jeżeli będziesz mieć jakieś pytania, to z chęcią odpowiem.

W sumie dzięki, ze informację, bo dodam w README.md informację o konieczności nadania takich uprawnień dla aplikacji Termux :-)

Dzięki @Domker_ za odpowiedź. Że też nie pomyślałem o uprawnieniach dla aplikacji... Zrobiłem tak jak napisałeś i zadziałało. Plik hosts podmieniony i blokada reklam działa :D

Opublikowano
Dzięki [mention=11905]Domker_[/mention] za odpowiedź. Że też nie pomyślałem o uprawnieniach dla aplikacji... Zrobiłem tak jak napisałeś i zadziałało. Plik hosts podmieniony i blokada reklam działa
To plik się podmienia, czy instaluje przez TWRP? Może dlatego u mnie nie działa...?

Wysłane z mojego Mi 9T Pro przy użyciu Tapatalka

Opublikowano

@mrosi@Orjon

Zip generowany przez skrypt w zasadzie nie różni się od tego od @fredek po za tym, że nie jest podpisywany cyfrowo.

Myślę, że tak właśnie jest. Część nowszych urządzeń może właśnie takowy system partycji posiadać. Tym bardziej, że to wstęp do Androida 11 - z tego co mi wiadomo będzie mieć możliwość aktualizacji bez konieczności restartowania urządzenia w celu flashowania. Tzn. po restarcie dopiero będzie ładowany nowy obraz systemu przy pomocy właśnie mechanizmu partycji dynamicznych.

Jeżeli urządzenia posiadają standardowy system partycji, który umożliwia podmontowanie `/system` z możliwością zapisu (rw) to podmiana hosts przez TWRP zadziała.

W starszych urządzeniach rozpakowywany jest do `/system/etc/`, w nowszych o ze statycznymi partycjami `/system_root/system/etc` z tym, że od wersji TWRP 3.4 już lokalizacja jest bindowana dla zachowania kompatybilności w skryptach. Pozostawiłem rozgraniczenie na wersję v1 i v2 tylko dlatego, że nie wszyscy aktualizują TWRP do najnowszej wersji.

Zainteresowałem się tematem i z tego, co się dowiedziałem to:

Cytat

Unfortunately, TWRP 3.4 does not yet bring support for dynamic/logical partitions, which, according to the guys over at XDA, is needed for TWRP to support devices that have launched with Android 10.

https://9to5google.com/2020/06/26/twrp-3-4/

Dużo mówi też sama notka od jednego z autorów TWRP: https://twrp.me/site/update/2019/10/23/twrp-and-android-10.html

Wychodzi na to, że w urządzeniach, które od razu miały Androida 10 jest nowy system partycji dynamicznych i takowe są read-only "by design".

Inaczej sprawa wygląda z urządzeniami, które dostały upgrade do Android 10, w większości przypadków mają jeszcze starszy system partycji.

Na nowych urządzeniach z partycjami dynamicznymi pozostaje tylko wygenerowanie hosts skryptem i podmiana przez jakiś moduł Magiska jak wspomniał Orjon. (do czasu wsparcia dla partycji dynamicznych przez nowszą wersję TWRP)

 

 

  • Like 1
Opublikowano
29 minut temu, Domker_ napisał:

Wychodzi na to, że w urządzeniach, które od razu miały Androida 10 jest nowy system partycji dynamicznych i takowe są read-only "by design".

Bo tak jest.

29 minut temu, Domker_ napisał:

Na nowych urządzeniach z partycjami dynamicznymi pozostaje tylko wygenerowanie hosts skryptem i podmiana przez jakiś moduł Magiska jak wspomniał Orjon. (do czasu wsparcia dla partycji dynamicznych przez nowszą wersję TWRP)

Tylko moduł Magiska pójdzie. Inaczej nie ma szans by podmienić to w ogóle, bo poza tym, że dynamiczne partycje są read-only, to jeszcze pliki na tych partycjach są umieszczone w tzw. shared blocks (blokach współdzielonych) - czyli jeden plik dzieli blok danych z innymi plikami i podmiana tego jednego pliku, nawet jeśli jest udana, uszkadza te pozostałe pliki w bloku i powoduje, że po restarcie telefonu odpala się on tylko w trybie Fastboot i trzeba wgrywać ROM na nowo.

https://manpages.debian.org/unstable/e2fsprogs/e2fsck.8.en.html (sprawdź unshare_blocks)

  • Like 2
Opublikowano

Albo po zastosowaniu powyższego blokera albo po zastosowaniu dns.adguard.com w Nazwie hosta dostawcy prywatnego DNS nie wszystko jest synchronizowane z chmurą Xiaomi. Nie synchronizowały mi się m.in. kontakty, dyktafon, kalendarz. Usunąłem wpis z prywatnego DNS i przywróciłem stary plik hosts z poprzedniego blokera i synchronizacja działa.

Opublikowano

@AmyS U mnie synchronizacja działa (DNS Cloudflare -> 1.1.1.1 / 1.0.0.1 / 1dot1dot1dot1.cloudflare-dns.com) z blokadą opartą o plik hosts), ale mam MIUI 11 (miui polska).

Sprawdź jak się zachowa jak wyłączysz dwa ostatnie adresy url list tzn. w pliku "urllist.txt" w liniach 10 i 11 zastąp adres URL słowami:

blank

Wygeneruj ponownie plik hosts i potem plik zip. Wgraj przez TWRP i zobacz, czy pomogło. (zawierają one m. in. blokowanie trackerów/ad-serwerów Xiaomi)

W przypadku Adguard być może DoH/DNSsec Ci coś psuje przy rozwiązywaniu nazw.

  • 4 miesiące temu...
Opublikowano

"No na dynamicznych partycjach nie da się podmienić hosts bezpośrednio w /system. Ewentualnie można jakimś modułem od Magiska."

Czyli na Mi 10T Pro nie da się wgrać przez TWRP?

Jakim modułem Magiska? ;)

  • Like 1
  • 11 miesięcy temu...
  • 1 rok później...
Opublikowano

Trochę odkopałem ale potwierdzam działa na systemless hosts. 

1.Generujemy sobie hosts powyższym skryptem

2.Instalujemy Magisk, włączamy w jego ustawieniach "systemless hosts"

3.Jakimś managerem plików, któremu daliśmy uprawnienia roota kopiujemy plik host znajdujący się w:

/Download/adbgen-master/

do 

/system/etc/

Zastępując stary plik.

4.Restart telefonu.

  • 4 miesiące temu...
Opublikowano

A nie prościej plik host przenieść przez twrp do katalogu i podmienić? Jak już używasz magisk to można adaway. A z tego co pamiętam to chodziło wtedy o blokowanie reklam bez magisk i root. Ale gratulacje za świetną robotę i chęci.

Wysłane z mojego HD1900 przy użyciu Tapatalka

  • 9 miesięcy temu...
Opublikowano

Przydał by się takim skrypt dla twrp . Używam KSU i adaway ale taka prosta metoda by się teraz przydała. Tylko czy coś zadziała na nowych androidach

Wysłane z mojego M2012K11AG przy użyciu Tapatalka

  • 2 tygodnie później...
  • 9 miesięcy temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...