דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. אנדרואיד - כללי
  3. אפליקציות להורדה
  4. להורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!

להורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!

מתוזמן נעוץ נעול הועבר אפליקציות להורדה
41 פוסטים 13 כותבים 1.2k צפיות 14 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Y yשמריהו

    @lilo159 זה פרימיום?

    L מנותק
    L מנותק
    lilo159
    כתב נערך לאחרונה על ידי
    #3

    @yשמריהו זה לא יוטיוב מיוזיק, אלא אפליקציה בקוד פתוח שמסודרת כנגן מוזיקה מהיוטיוב. אז אמנם לא שייך לקרוא לזה פרימיום, אבל יש לזה את כל התכונות של פרימיום, אין לזה פרסומות, ואפשר אפילו להוריד שירים למכשיר.

    ה תגובה 1 תגובה אחרונה
    1
    • L lilo159

      @yשמריהו זה לא יוטיוב מיוזיק, אלא אפליקציה בקוד פתוח שמסודרת כנגן מוזיקה מהיוטיוב. אז אמנם לא שייך לקרוא לזה פרימיום, אבל יש לזה את כל התכונות של פרימיום, אין לזה פרסומות, ואפשר אפילו להוריד שירים למכשיר.

      ה מנותק
      ה מנותק
      הגיע הזמן
      כתב נערך לאחרונה על ידי
      #4

      @lilo159
      דורש תשלום?

      L תגובה 1 תגובה אחרונה
      0
      • ה הגיע הזמן

        @lilo159
        דורש תשלום?

        L מנותק
        L מנותק
        lilo159
        כתב נערך לאחרונה על ידי
        #5

        @הגיע-הזמן לא...

        תגובה 1 תגובה אחרונה
        0
        • L lilo159

          icon (1).png
          metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
          זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
          יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
          עודכן לגרסה 12.4.0
          להורדה

          להורדת גרסה 12.3.0

          כנסו לספויילר כדי לראות את השינויים שעשיתי.

          לחסימת תמונות:
          בנתיב: com/metrolist/innertube/models/Thumbnail
          להוסיף בתוך:

          .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
              .registers 7
          
              .line 1
              and-int/lit8 v0, p1, 0x7
          
              .line 3
              const/4 v1, 0x7
          
              .line 4
              if-ne v1, v0, :cond_f
          
              .line 6
              invoke-direct {p0}, Ljava/lang/Object;-><init>()V
          
              .line 9
              iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
          
              .line 11
              iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
          
              .line 13
              iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
          
              .line 15
              return-void
          
              .line 16
              :cond_f
              sget-object p2, Lo9/d0;->a:Lo9/d0;
          
              .line 18
              invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
          
              .line 21
              move-result-object p2
          
              .line 22
              invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
          
              .line 25
              const/4 p1, 0x0
          
              .line 26
              throw p1
          .end method
          

          את השורה הזו:

          .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
              .registers 7
          
              .line 1
              and-int/lit8 v0, p1, 0x7
          
              .line 3
              const/4 v1, 0x7
          
              .line 4
              if-ne v1, v0, :cond_f
          
              .line 6
              invoke-direct {p0}, Ljava/lang/Object;-><init>()V
          
              const-string p2, "" #:להוסיף את זה
          
              .line 9
              iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
          
              .line 11
              iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
          
              .line 13
              iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
          
              .line 15
              return-void
          
              .line 16
              :cond_f
              sget-object p2, Lo9/d0;->a:Lo9/d0;
          
              .line 18
              invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
          
              .line 21
              move-result-object p2
          
              .line 22
              invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
          
              .line 25
              const/4 p1, 0x0
          
              .line 26
              throw p1
          .end method
          

          לעריכת הWebview של הכניסה:
          לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
          const-string p1, "https://music.youtube.com"

          .class public final Lla/g2;
          .super Landroid/webkit/WebViewClient;
          .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
          
          
          # instance fields
          .field public final synthetic a:Landroid/webkit/WebView;
          
          .field public final synthetic b:Lge/x;
          
          .field public final synthetic c:Ly0/w0;
          
          .field public final synthetic d:Ly0/w0;
          
          .field public final synthetic e:Ly0/w0;
          
          .field public final synthetic f:Ly0/w0;
          
          
          # direct methods
          .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
              .registers 7
          
              .line 1
              iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
          
              .line 3
              iput-object p2, p0, Lla/g2;->b:Lge/x;
          
              .line 5
              iput-object p3, p0, Lla/g2;->c:Ly0/w0;
          
              .line 7
              iput-object p4, p0, Lla/g2;->d:Ly0/w0;
          
              .line 9
              iput-object p5, p0, Lla/g2;->e:Ly0/w0;
          
              .line 11
              iput-object p6, p0, Lla/g2;->f:Ly0/w0;
          
              .line 13
              invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
          
              .line 16
              return-void
          .end method
          
          
          # virtual methods
          .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
              .registers 9
          
              .line 1
              const-string v0, "view"
          
              .line 3
              invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
          
              .line 6
              const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
          
              .line 8
              iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
          
              .line 10
              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
          
              .line 13
              const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
          
              .line 15
              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
          
              .line 18
              if-eqz p2, :cond_42
          
              .line 20
              const-string p1, "https://music.youtube.com"
          
              .line 22
              const/4 v0, 0x0
          
              .line 23
              invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
          
              .line 26
              move-result p1
          
              .line 27
              const/4 v0, 0x1
          
              .line 28
              if-ne p1, v0, :cond_42
          
              .line 30
              invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
          
              .line 33
              move-result-object p1
          
              .line 34
              invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
          
              .line 37
              move-result-object p1
          
              .line 38
              const-string p2, "getCookie(...)"
          
              .line 40
              invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
          
              .line 43
              iget-object p2, p0, Lla/g2;->c:Ly0/w0;
          
              .line 45
              invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
          
              .line 48
              new-instance v0, Lla/v1;
          
              .line 50
              iget-object v3, p0, Lla/g2;->f:Ly0/w0;
          
              .line 52
              const/4 v5, 0x1
          
              .line 53
              iget-object v1, p0, Lla/g2;->d:Ly0/w0;
          
              .line 55
              iget-object v2, p0, Lla/g2;->e:Ly0/w0;
          
              .line 57
              const/4 v4, 0x0
          
              .line 58
              invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
          
              .line 61
              const/4 p1, 0x3
          
              .line 62
              iget-object p2, p0, Lla/g2;->b:Lge/x;
          
              .line 64
              invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
          
              .line 67
              :cond_42
              return-void
          .end method
          
          

          השינויים:

          .class public final Lla/g2;
          .super Landroid/webkit/WebViewClient;
          .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
          
          
          # instance fields
          .field public final synthetic a:Landroid/webkit/WebView;
          
          .field public final synthetic b:Lge/x;
          
          .field public final synthetic c:Ly0/w0;
          
          .field public final synthetic d:Ly0/w0;
          
          .field public final synthetic e:Ly0/w0;
          
          .field public final synthetic f:Ly0/w0;
          
          
          # direct methods
          .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
              .registers 9 # לשנות ל9
          
              # להוסיף לפני שורה 1
              invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
              # עד כאן
             
               .line 1
              iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
          
              .line 3
              iput-object p2, p0, Lla/g2;->b:Lge/x;
          
              .line 5
              iput-object p3, p0, Lla/g2;->c:Ly0/w0;
          
              .line 7
              iput-object p4, p0, Lla/g2;->d:Ly0/w0;
          
              .line 9
              iput-object p5, p0, Lla/g2;->e:Ly0/w0;
          
              .line 11
              iput-object p6, p0, Lla/g2;->f:Ly0/w0;
          
              .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
              # מכאן
              invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
              move-result-object v0
              const/4 v1, 0x0
              invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
              # עד כאן
              .line 16
              return-void
          .end method
          
          
          # virtual methods
          .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
              .registers 9
          
              .line 1
              const-string v0, "view"
          
              .line 3
              invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
          
              # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
              const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
             
              # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
              # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
              iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
              
              invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
          	
              # עד כאן
          	
              .line 6
              const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
          	
              .line 8
              iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
          
              .line 10
              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
          
              .line 13
              const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
          
              .line 15
              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
          
              .line 18
              if-eqz p2, :cond_42
          
              .line 20
              const-string p1, "https://music.youtube.com"
          
              .line 22
              const/4 v0, 0x0
          
              .line 23
              invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
          
              .line 26
              move-result p1
          
              .line 27
              const/4 v0, 0x1
          
              .line 28
              if-ne p1, v0, :cond_42
          
              .line 30
              invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
          
              .line 33
              move-result-object p1
          
              .line 34
              invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
          
              .line 37
              move-result-object p1
          
              .line 38
              const-string p2, "getCookie(...)"
          
              .line 40
              invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
          
              .line 43
              iget-object p2, p0, Lla/g2;->c:Ly0/w0;
          
              .line 45
              invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
          	
              .line 48
              new-instance v0, Lla/v1;
          
              .line 50
              iget-object v3, p0, Lla/g2;->f:Ly0/w0;
          
              .line 52
              const/4 v5, 0x1
          
              .line 53
              iget-object v1, p0, Lla/g2;->d:Ly0/w0;
          
              .line 55
              iget-object v2, p0, Lla/g2;->e:Ly0/w0;
          
              .line 57
              const/4 v4, 0x0
          
              .line 58
              invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
          
              .line 61
              const/4 p1, 0x3
          
              .line 62
              iget-object p2, p0, Lla/g2;->b:Lge/x;
          
              .line 64
              invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
          
              .line 67
              :cond_42
              return-void
          .end method
          
          

          ה מנותק
          ה מנותק
          הרב של השכונה
          כתב נערך לאחרונה על ידי
          #6

          @lilo159 אפשר להוריד שירים ישירות ולא רק לשימוש אופליין?

          L אלוף תימןא 2 תגובות תגובה אחרונה
          0
          • L lilo159

            icon (1).png
            metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
            זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
            יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
            עודכן לגרסה 12.4.0
            להורדה

            להורדת גרסה 12.3.0

            כנסו לספויילר כדי לראות את השינויים שעשיתי.

            לחסימת תמונות:
            בנתיב: com/metrolist/innertube/models/Thumbnail
            להוסיף בתוך:

            .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                .registers 7
            
                .line 1
                and-int/lit8 v0, p1, 0x7
            
                .line 3
                const/4 v1, 0x7
            
                .line 4
                if-ne v1, v0, :cond_f
            
                .line 6
                invoke-direct {p0}, Ljava/lang/Object;-><init>()V
            
                .line 9
                iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
            
                .line 11
                iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
            
                .line 13
                iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
            
                .line 15
                return-void
            
                .line 16
                :cond_f
                sget-object p2, Lo9/d0;->a:Lo9/d0;
            
                .line 18
                invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
            
                .line 21
                move-result-object p2
            
                .line 22
                invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
            
                .line 25
                const/4 p1, 0x0
            
                .line 26
                throw p1
            .end method
            

            את השורה הזו:

            .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                .registers 7
            
                .line 1
                and-int/lit8 v0, p1, 0x7
            
                .line 3
                const/4 v1, 0x7
            
                .line 4
                if-ne v1, v0, :cond_f
            
                .line 6
                invoke-direct {p0}, Ljava/lang/Object;-><init>()V
            
                const-string p2, "" #:להוסיף את זה
            
                .line 9
                iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
            
                .line 11
                iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
            
                .line 13
                iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
            
                .line 15
                return-void
            
                .line 16
                :cond_f
                sget-object p2, Lo9/d0;->a:Lo9/d0;
            
                .line 18
                invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
            
                .line 21
                move-result-object p2
            
                .line 22
                invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
            
                .line 25
                const/4 p1, 0x0
            
                .line 26
                throw p1
            .end method
            

            לעריכת הWebview של הכניסה:
            לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
            const-string p1, "https://music.youtube.com"

            .class public final Lla/g2;
            .super Landroid/webkit/WebViewClient;
            .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
            
            
            # instance fields
            .field public final synthetic a:Landroid/webkit/WebView;
            
            .field public final synthetic b:Lge/x;
            
            .field public final synthetic c:Ly0/w0;
            
            .field public final synthetic d:Ly0/w0;
            
            .field public final synthetic e:Ly0/w0;
            
            .field public final synthetic f:Ly0/w0;
            
            
            # direct methods
            .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                .registers 7
            
                .line 1
                iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
            
                .line 3
                iput-object p2, p0, Lla/g2;->b:Lge/x;
            
                .line 5
                iput-object p3, p0, Lla/g2;->c:Ly0/w0;
            
                .line 7
                iput-object p4, p0, Lla/g2;->d:Ly0/w0;
            
                .line 9
                iput-object p5, p0, Lla/g2;->e:Ly0/w0;
            
                .line 11
                iput-object p6, p0, Lla/g2;->f:Ly0/w0;
            
                .line 13
                invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
            
                .line 16
                return-void
            .end method
            
            
            # virtual methods
            .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                .registers 9
            
                .line 1
                const-string v0, "view"
            
                .line 3
                invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
            
                .line 6
                const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
            
                .line 8
                iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
            
                .line 10
                invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
            
                .line 13
                const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
            
                .line 15
                invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
            
                .line 18
                if-eqz p2, :cond_42
            
                .line 20
                const-string p1, "https://music.youtube.com"
            
                .line 22
                const/4 v0, 0x0
            
                .line 23
                invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
            
                .line 26
                move-result p1
            
                .line 27
                const/4 v0, 0x1
            
                .line 28
                if-ne p1, v0, :cond_42
            
                .line 30
                invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
            
                .line 33
                move-result-object p1
            
                .line 34
                invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
            
                .line 37
                move-result-object p1
            
                .line 38
                const-string p2, "getCookie(...)"
            
                .line 40
                invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
            
                .line 43
                iget-object p2, p0, Lla/g2;->c:Ly0/w0;
            
                .line 45
                invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
            
                .line 48
                new-instance v0, Lla/v1;
            
                .line 50
                iget-object v3, p0, Lla/g2;->f:Ly0/w0;
            
                .line 52
                const/4 v5, 0x1
            
                .line 53
                iget-object v1, p0, Lla/g2;->d:Ly0/w0;
            
                .line 55
                iget-object v2, p0, Lla/g2;->e:Ly0/w0;
            
                .line 57
                const/4 v4, 0x0
            
                .line 58
                invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
            
                .line 61
                const/4 p1, 0x3
            
                .line 62
                iget-object p2, p0, Lla/g2;->b:Lge/x;
            
                .line 64
                invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
            
                .line 67
                :cond_42
                return-void
            .end method
            
            

            השינויים:

            .class public final Lla/g2;
            .super Landroid/webkit/WebViewClient;
            .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
            
            
            # instance fields
            .field public final synthetic a:Landroid/webkit/WebView;
            
            .field public final synthetic b:Lge/x;
            
            .field public final synthetic c:Ly0/w0;
            
            .field public final synthetic d:Ly0/w0;
            
            .field public final synthetic e:Ly0/w0;
            
            .field public final synthetic f:Ly0/w0;
            
            
            # direct methods
            .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                .registers 9 # לשנות ל9
            
                # להוסיף לפני שורה 1
                invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                # עד כאן
               
                 .line 1
                iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
            
                .line 3
                iput-object p2, p0, Lla/g2;->b:Lge/x;
            
                .line 5
                iput-object p3, p0, Lla/g2;->c:Ly0/w0;
            
                .line 7
                iput-object p4, p0, Lla/g2;->d:Ly0/w0;
            
                .line 9
                iput-object p5, p0, Lla/g2;->e:Ly0/w0;
            
                .line 11
                iput-object p6, p0, Lla/g2;->f:Ly0/w0;
            
                .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
                # מכאן
                invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
                move-result-object v0
                const/4 v1, 0x0
                invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
                # עד כאן
                .line 16
                return-void
            .end method
            
            
            # virtual methods
            .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                .registers 9
            
                .line 1
                const-string v0, "view"
            
                .line 3
                invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
            
                # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
                const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
               
                # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
                # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
                iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
                
                invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
            	
                # עד כאן
            	
                .line 6
                const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
            	
                .line 8
                iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
            
                .line 10
                invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
            
                .line 13
                const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
            
                .line 15
                invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
            
                .line 18
                if-eqz p2, :cond_42
            
                .line 20
                const-string p1, "https://music.youtube.com"
            
                .line 22
                const/4 v0, 0x0
            
                .line 23
                invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
            
                .line 26
                move-result p1
            
                .line 27
                const/4 v0, 0x1
            
                .line 28
                if-ne p1, v0, :cond_42
            
                .line 30
                invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
            
                .line 33
                move-result-object p1
            
                .line 34
                invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
            
                .line 37
                move-result-object p1
            
                .line 38
                const-string p2, "getCookie(...)"
            
                .line 40
                invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
            
                .line 43
                iget-object p2, p0, Lla/g2;->c:Ly0/w0;
            
                .line 45
                invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
            	
                .line 48
                new-instance v0, Lla/v1;
            
                .line 50
                iget-object v3, p0, Lla/g2;->f:Ly0/w0;
            
                .line 52
                const/4 v5, 0x1
            
                .line 53
                iget-object v1, p0, Lla/g2;->d:Ly0/w0;
            
                .line 55
                iget-object v2, p0, Lla/g2;->e:Ly0/w0;
            
                .line 57
                const/4 v4, 0x0
            
                .line 58
                invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
            
                .line 61
                const/4 p1, 0x3
            
                .line 62
                iget-object p2, p0, Lla/g2;->b:Lge/x;
            
                .line 64
                invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
            
                .line 67
                :cond_42
                return-void
            .end method
            
            

            צ מנותק
            צ מנותק
            צול גאה
            כתב נערך לאחרונה על ידי צול גאה
            #7

            @lilo159
            א}מן הסתם לא עובד בנטפרי
            אני צודק??
            ב}יש לווינדוס??

            L 2 תגובות תגובה אחרונה
            0
            • ה הרב של השכונה

              @lilo159 אפשר להוריד שירים ישירות ולא רק לשימוש אופליין?

              L מנותק
              L מנותק
              lilo159
              כתב נערך לאחרונה על ידי
              #8

              @הרב-של-השכונה בעיקרון לא, אבל אפשר לחלץ שירים שהורדו עם סייר רוט.

              תגובה 1 תגובה אחרונה
              0
              • צ צול גאה

                @lilo159
                א}מן הסתם לא עובד בנטפרי
                אני צודק??
                ב}יש לווינדוס??

                L מנותק
                L מנותק
                lilo159
                כתב נערך לאחרונה על ידי
                #9

                @צול-גאה א. אני יכול להניח, אבל אני לא יודע...
                ב. זו אפליקציה לטלפון...

                צ תגובה 1 תגובה אחרונה
                0
                • L lilo159

                  @צול-גאה א. אני יכול להניח, אבל אני לא יודע...
                  ב. זו אפליקציה לטלפון...

                  צ מנותק
                  צ מנותק
                  צול גאה
                  כתב נערך לאחרונה על ידי
                  #10

                  @lilo159
                  תודה רבה 👍 👍 👍 👍 👍 👍

                  👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 e4976da7-c569-46a9-b1ec-d3e68dad59ca-image.png

                  תגובה 1 תגובה אחרונה
                  1
                  • ש מנותק
                    ש מנותק
                    שלום053
                    כתב נערך לאחרונה על ידי
                    #11

                    יש אפליקציה כזו גם למחשב?

                    צ תגובה 1 תגובה אחרונה
                    0
                    • L lilo159

                      icon (1).png
                      metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
                      זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
                      יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
                      עודכן לגרסה 12.4.0
                      להורדה

                      להורדת גרסה 12.3.0

                      כנסו לספויילר כדי לראות את השינויים שעשיתי.

                      לחסימת תמונות:
                      בנתיב: com/metrolist/innertube/models/Thumbnail
                      להוסיף בתוך:

                      .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                          .registers 7
                      
                          .line 1
                          and-int/lit8 v0, p1, 0x7
                      
                          .line 3
                          const/4 v1, 0x7
                      
                          .line 4
                          if-ne v1, v0, :cond_f
                      
                          .line 6
                          invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                      
                          .line 9
                          iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                      
                          .line 11
                          iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                      
                          .line 13
                          iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                      
                          .line 15
                          return-void
                      
                          .line 16
                          :cond_f
                          sget-object p2, Lo9/d0;->a:Lo9/d0;
                      
                          .line 18
                          invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                      
                          .line 21
                          move-result-object p2
                      
                          .line 22
                          invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                      
                          .line 25
                          const/4 p1, 0x0
                      
                          .line 26
                          throw p1
                      .end method
                      

                      את השורה הזו:

                      .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                          .registers 7
                      
                          .line 1
                          and-int/lit8 v0, p1, 0x7
                      
                          .line 3
                          const/4 v1, 0x7
                      
                          .line 4
                          if-ne v1, v0, :cond_f
                      
                          .line 6
                          invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                      
                          const-string p2, "" #:להוסיף את זה
                      
                          .line 9
                          iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                      
                          .line 11
                          iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                      
                          .line 13
                          iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                      
                          .line 15
                          return-void
                      
                          .line 16
                          :cond_f
                          sget-object p2, Lo9/d0;->a:Lo9/d0;
                      
                          .line 18
                          invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                      
                          .line 21
                          move-result-object p2
                      
                          .line 22
                          invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                      
                          .line 25
                          const/4 p1, 0x0
                      
                          .line 26
                          throw p1
                      .end method
                      

                      לעריכת הWebview של הכניסה:
                      לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
                      const-string p1, "https://music.youtube.com"

                      .class public final Lla/g2;
                      .super Landroid/webkit/WebViewClient;
                      .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                      
                      
                      # instance fields
                      .field public final synthetic a:Landroid/webkit/WebView;
                      
                      .field public final synthetic b:Lge/x;
                      
                      .field public final synthetic c:Ly0/w0;
                      
                      .field public final synthetic d:Ly0/w0;
                      
                      .field public final synthetic e:Ly0/w0;
                      
                      .field public final synthetic f:Ly0/w0;
                      
                      
                      # direct methods
                      .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                          .registers 7
                      
                          .line 1
                          iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                      
                          .line 3
                          iput-object p2, p0, Lla/g2;->b:Lge/x;
                      
                          .line 5
                          iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                      
                          .line 7
                          iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                      
                          .line 9
                          iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                      
                          .line 11
                          iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                      
                          .line 13
                          invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                      
                          .line 16
                          return-void
                      .end method
                      
                      
                      # virtual methods
                      .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                          .registers 9
                      
                          .line 1
                          const-string v0, "view"
                      
                          .line 3
                          invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                      
                          .line 6
                          const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                      
                          .line 8
                          iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                      
                          .line 10
                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                      
                          .line 13
                          const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                      
                          .line 15
                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                      
                          .line 18
                          if-eqz p2, :cond_42
                      
                          .line 20
                          const-string p1, "https://music.youtube.com"
                      
                          .line 22
                          const/4 v0, 0x0
                      
                          .line 23
                          invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                      
                          .line 26
                          move-result p1
                      
                          .line 27
                          const/4 v0, 0x1
                      
                          .line 28
                          if-ne p1, v0, :cond_42
                      
                          .line 30
                          invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                      
                          .line 33
                          move-result-object p1
                      
                          .line 34
                          invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                      
                          .line 37
                          move-result-object p1
                      
                          .line 38
                          const-string p2, "getCookie(...)"
                      
                          .line 40
                          invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                      
                          .line 43
                          iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                      
                          .line 45
                          invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                      
                          .line 48
                          new-instance v0, Lla/v1;
                      
                          .line 50
                          iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                      
                          .line 52
                          const/4 v5, 0x1
                      
                          .line 53
                          iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                      
                          .line 55
                          iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                      
                          .line 57
                          const/4 v4, 0x0
                      
                          .line 58
                          invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                      
                          .line 61
                          const/4 p1, 0x3
                      
                          .line 62
                          iget-object p2, p0, Lla/g2;->b:Lge/x;
                      
                          .line 64
                          invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                      
                          .line 67
                          :cond_42
                          return-void
                      .end method
                      
                      

                      השינויים:

                      .class public final Lla/g2;
                      .super Landroid/webkit/WebViewClient;
                      .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                      
                      
                      # instance fields
                      .field public final synthetic a:Landroid/webkit/WebView;
                      
                      .field public final synthetic b:Lge/x;
                      
                      .field public final synthetic c:Ly0/w0;
                      
                      .field public final synthetic d:Ly0/w0;
                      
                      .field public final synthetic e:Ly0/w0;
                      
                      .field public final synthetic f:Ly0/w0;
                      
                      
                      # direct methods
                      .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                          .registers 9 # לשנות ל9
                      
                          # להוסיף לפני שורה 1
                          invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                          # עד כאן
                         
                           .line 1
                          iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                      
                          .line 3
                          iput-object p2, p0, Lla/g2;->b:Lge/x;
                      
                          .line 5
                          iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                      
                          .line 7
                          iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                      
                          .line 9
                          iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                      
                          .line 11
                          iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                      
                          .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
                          # מכאן
                          invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
                          move-result-object v0
                          const/4 v1, 0x0
                          invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
                          # עד כאן
                          .line 16
                          return-void
                      .end method
                      
                      
                      # virtual methods
                      .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                          .registers 9
                      
                          .line 1
                          const-string v0, "view"
                      
                          .line 3
                          invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                      
                          # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
                          const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
                         
                          # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
                          # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
                          iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
                          
                          invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                      	
                          # עד כאן
                      	
                          .line 6
                          const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                      	
                          .line 8
                          iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                      
                          .line 10
                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                      
                          .line 13
                          const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                      
                          .line 15
                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                      
                          .line 18
                          if-eqz p2, :cond_42
                      
                          .line 20
                          const-string p1, "https://music.youtube.com"
                      
                          .line 22
                          const/4 v0, 0x0
                      
                          .line 23
                          invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                      
                          .line 26
                          move-result p1
                      
                          .line 27
                          const/4 v0, 0x1
                      
                          .line 28
                          if-ne p1, v0, :cond_42
                      
                          .line 30
                          invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                      
                          .line 33
                          move-result-object p1
                      
                          .line 34
                          invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                      
                          .line 37
                          move-result-object p1
                      
                          .line 38
                          const-string p2, "getCookie(...)"
                      
                          .line 40
                          invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                      
                          .line 43
                          iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                      
                          .line 45
                          invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                      	
                          .line 48
                          new-instance v0, Lla/v1;
                      
                          .line 50
                          iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                      
                          .line 52
                          const/4 v5, 0x1
                      
                          .line 53
                          iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                      
                          .line 55
                          iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                      
                          .line 57
                          const/4 v4, 0x0
                      
                          .line 58
                          invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                      
                          .line 61
                          const/4 p1, 0x3
                      
                          .line 62
                          iget-object p2, p0, Lla/g2;->b:Lge/x;
                      
                          .line 64
                          invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                      
                          .line 67
                          :cond_42
                          return-void
                      .end method
                      
                      

                      אלוף תימןא מנותק
                      אלוף תימןא מנותק
                      אלוף תימן
                      כתב נערך לאחרונה על ידי
                      #12

                      @lilo159 מי שרוצה מתורגם Metrolistkosher.zip

                      L תגובה 1 תגובה אחרונה
                      2
                      • ש שלום053

                        יש אפליקציה כזו גם למחשב?

                        צ מנותק
                        צ מנותק
                        צול גאה
                        כתב נערך לאחרונה על ידי
                        #13

                        @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        יש אפליקציה כזו גם למחשב?

                        למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                        @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        ב}יש לווינדוס??

                        ו

                        @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        ב. זו אפליקציה לטלפון...

                        ש תגובה 1 תגובה אחרונה
                        1
                        • L lilo159

                          icon (1).png
                          metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
                          זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
                          יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
                          עודכן לגרסה 12.4.0
                          להורדה

                          להורדת גרסה 12.3.0

                          כנסו לספויילר כדי לראות את השינויים שעשיתי.

                          לחסימת תמונות:
                          בנתיב: com/metrolist/innertube/models/Thumbnail
                          להוסיף בתוך:

                          .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                              .registers 7
                          
                              .line 1
                              and-int/lit8 v0, p1, 0x7
                          
                              .line 3
                              const/4 v1, 0x7
                          
                              .line 4
                              if-ne v1, v0, :cond_f
                          
                              .line 6
                              invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                          
                              .line 9
                              iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                          
                              .line 11
                              iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                          
                              .line 13
                              iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                          
                              .line 15
                              return-void
                          
                              .line 16
                              :cond_f
                              sget-object p2, Lo9/d0;->a:Lo9/d0;
                          
                              .line 18
                              invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                          
                              .line 21
                              move-result-object p2
                          
                              .line 22
                              invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                          
                              .line 25
                              const/4 p1, 0x0
                          
                              .line 26
                              throw p1
                          .end method
                          

                          את השורה הזו:

                          .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                              .registers 7
                          
                              .line 1
                              and-int/lit8 v0, p1, 0x7
                          
                              .line 3
                              const/4 v1, 0x7
                          
                              .line 4
                              if-ne v1, v0, :cond_f
                          
                              .line 6
                              invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                          
                              const-string p2, "" #:להוסיף את זה
                          
                              .line 9
                              iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                          
                              .line 11
                              iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                          
                              .line 13
                              iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                          
                              .line 15
                              return-void
                          
                              .line 16
                              :cond_f
                              sget-object p2, Lo9/d0;->a:Lo9/d0;
                          
                              .line 18
                              invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                          
                              .line 21
                              move-result-object p2
                          
                              .line 22
                              invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                          
                              .line 25
                              const/4 p1, 0x0
                          
                              .line 26
                              throw p1
                          .end method
                          

                          לעריכת הWebview של הכניסה:
                          לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
                          const-string p1, "https://music.youtube.com"

                          .class public final Lla/g2;
                          .super Landroid/webkit/WebViewClient;
                          .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                          
                          
                          # instance fields
                          .field public final synthetic a:Landroid/webkit/WebView;
                          
                          .field public final synthetic b:Lge/x;
                          
                          .field public final synthetic c:Ly0/w0;
                          
                          .field public final synthetic d:Ly0/w0;
                          
                          .field public final synthetic e:Ly0/w0;
                          
                          .field public final synthetic f:Ly0/w0;
                          
                          
                          # direct methods
                          .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                              .registers 7
                          
                              .line 1
                              iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                          
                              .line 3
                              iput-object p2, p0, Lla/g2;->b:Lge/x;
                          
                              .line 5
                              iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                          
                              .line 7
                              iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                          
                              .line 9
                              iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                          
                              .line 11
                              iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                          
                              .line 13
                              invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                          
                              .line 16
                              return-void
                          .end method
                          
                          
                          # virtual methods
                          .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                              .registers 9
                          
                              .line 1
                              const-string v0, "view"
                          
                              .line 3
                              invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                          
                              .line 6
                              const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                          
                              .line 8
                              iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                          
                              .line 10
                              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                          
                              .line 13
                              const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                          
                              .line 15
                              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                          
                              .line 18
                              if-eqz p2, :cond_42
                          
                              .line 20
                              const-string p1, "https://music.youtube.com"
                          
                              .line 22
                              const/4 v0, 0x0
                          
                              .line 23
                              invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                          
                              .line 26
                              move-result p1
                          
                              .line 27
                              const/4 v0, 0x1
                          
                              .line 28
                              if-ne p1, v0, :cond_42
                          
                              .line 30
                              invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                          
                              .line 33
                              move-result-object p1
                          
                              .line 34
                              invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                          
                              .line 37
                              move-result-object p1
                          
                              .line 38
                              const-string p2, "getCookie(...)"
                          
                              .line 40
                              invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                          
                              .line 43
                              iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                          
                              .line 45
                              invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                          
                              .line 48
                              new-instance v0, Lla/v1;
                          
                              .line 50
                              iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                          
                              .line 52
                              const/4 v5, 0x1
                          
                              .line 53
                              iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                          
                              .line 55
                              iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                          
                              .line 57
                              const/4 v4, 0x0
                          
                              .line 58
                              invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                          
                              .line 61
                              const/4 p1, 0x3
                          
                              .line 62
                              iget-object p2, p0, Lla/g2;->b:Lge/x;
                          
                              .line 64
                              invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                          
                              .line 67
                              :cond_42
                              return-void
                          .end method
                          
                          

                          השינויים:

                          .class public final Lla/g2;
                          .super Landroid/webkit/WebViewClient;
                          .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                          
                          
                          # instance fields
                          .field public final synthetic a:Landroid/webkit/WebView;
                          
                          .field public final synthetic b:Lge/x;
                          
                          .field public final synthetic c:Ly0/w0;
                          
                          .field public final synthetic d:Ly0/w0;
                          
                          .field public final synthetic e:Ly0/w0;
                          
                          .field public final synthetic f:Ly0/w0;
                          
                          
                          # direct methods
                          .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                              .registers 9 # לשנות ל9
                          
                              # להוסיף לפני שורה 1
                              invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                              # עד כאן
                             
                               .line 1
                              iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                          
                              .line 3
                              iput-object p2, p0, Lla/g2;->b:Lge/x;
                          
                              .line 5
                              iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                          
                              .line 7
                              iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                          
                              .line 9
                              iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                          
                              .line 11
                              iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                          
                              .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
                              # מכאן
                              invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
                              move-result-object v0
                              const/4 v1, 0x0
                              invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
                              # עד כאן
                              .line 16
                              return-void
                          .end method
                          
                          
                          # virtual methods
                          .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                              .registers 9
                          
                              .line 1
                              const-string v0, "view"
                          
                              .line 3
                              invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                          
                              # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
                              const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
                             
                              # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
                              # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
                              iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
                              
                              invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                          	
                              # עד כאן
                          	
                              .line 6
                              const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                          	
                              .line 8
                              iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                          
                              .line 10
                              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                          
                              .line 13
                              const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                          
                              .line 15
                              invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                          
                              .line 18
                              if-eqz p2, :cond_42
                          
                              .line 20
                              const-string p1, "https://music.youtube.com"
                          
                              .line 22
                              const/4 v0, 0x0
                          
                              .line 23
                              invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                          
                              .line 26
                              move-result p1
                          
                              .line 27
                              const/4 v0, 0x1
                          
                              .line 28
                              if-ne p1, v0, :cond_42
                          
                              .line 30
                              invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                          
                              .line 33
                              move-result-object p1
                          
                              .line 34
                              invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                          
                              .line 37
                              move-result-object p1
                          
                              .line 38
                              const-string p2, "getCookie(...)"
                          
                              .line 40
                              invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                          
                              .line 43
                              iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                          
                              .line 45
                              invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                          	
                              .line 48
                              new-instance v0, Lla/v1;
                          
                              .line 50
                              iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                          
                              .line 52
                              const/4 v5, 0x1
                          
                              .line 53
                              iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                          
                              .line 55
                              iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                          
                              .line 57
                              const/4 v4, 0x0
                          
                              .line 58
                              invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                          
                              .line 61
                              const/4 p1, 0x3
                          
                              .line 62
                              iget-object p2, p0, Lla/g2;->b:Lge/x;
                          
                              .line 64
                              invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                          
                              .line 67
                              :cond_42
                              return-void
                          .end method
                          
                          

                          I מנותק
                          I מנותק
                          ikrh7891
                          כתב נערך לאחרונה על ידי
                          #14

                          @lilo159 יש כזו לאייפון ?

                          שניאור שמחש תגובה 1 תגובה אחרונה
                          0
                          • 7 מנותק
                            7 מנותק
                            7678545
                            כתב נערך לאחרונה על ידי 7678545
                            #15

                            מישהו יודע למה המערכת מולטימדיה ברכב לא מצליחה להתקין את זה זה כותב לי אין מערכת קשורה ליישום הקובץ

                            תגובה 1 תגובה אחרונה
                            0
                            • I ikrh7891

                              @lilo159 יש כזו לאייפון ?

                              שניאור שמחש מנותק
                              שניאור שמחש מנותק
                              שניאור שמח
                              מדריכים עימוד
                              כתב נערך לאחרונה על ידי
                              #16

                              @ikrh7891 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                              @lilo159 יש כזו לאייפון ?

                              יש לך את preTub
                              ללא פרסומות ואפשר לצאת מהאפליקציה

                              "אם לא תנסה, איך תדע?"

                              תגובה 1 תגובה אחרונה
                              1
                              • צ צול גאה

                                @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                יש אפליקציה כזו גם למחשב?

                                למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                                @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                ב}יש לווינדוס??

                                ו

                                @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                ב. זו אפליקציה לטלפון...

                                ש מנותק
                                ש מנותק
                                שלום053
                                כתב נערך לאחרונה על ידי
                                #17

                                @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                יש אפליקציה כזו גם למחשב?

                                למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                                @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                ב}יש לווינדוס??

                                ו

                                @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                ב. זו אפליקציה לטלפון...

                                אני שאלתי אם יש אפליקציה כזו גם למחשב.
                                ואתה אומר לי שכתוב שהאפליקציה הזו היא לטלפון.
                                צריך עוד הסבר?

                                L תגובה 1 תגובה אחרונה
                                1
                                • ש שלום053

                                  @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                  @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                  יש אפליקציה כזו גם למחשב?

                                  למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                                  @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                  ב}יש לווינדוס??

                                  ו

                                  @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                  ב. זו אפליקציה לטלפון...

                                  אני שאלתי אם יש אפליקציה כזו גם למחשב.
                                  ואתה אומר לי שכתוב שהאפליקציה הזו היא לטלפון.
                                  צריך עוד הסבר?

                                  L מנותק
                                  L מנותק
                                  lilo159
                                  כתב נערך לאחרונה על ידי
                                  #18

                                  @שלום053 היא לא למחשב. בעזרת ד' אעלה היום יוטיוב מיוזיק ללא תמונות למחשב.

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • צ צול גאה

                                    @lilo159
                                    א}מן הסתם לא עובד בנטפרי
                                    אני צודק??
                                    ב}יש לווינדוס??

                                    L מנותק
                                    L מנותק
                                    lilo159
                                    כתב נערך לאחרונה על ידי
                                    #19

                                    @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                                    זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                                    ש תגובה 1 תגובה אחרונה
                                    0
                                    • ה הרב של השכונה

                                      @lilo159 אפשר להוריד שירים ישירות ולא רק לשימוש אופליין?

                                      אלוף תימןא מנותק
                                      אלוף תימןא מנותק
                                      אלוף תימן
                                      כתב נערך לאחרונה על ידי
                                      #20

                                      @הרב-של-השכונה אם יש לך רוט אתה נכנס ל
                                      data/data/com.metrolist.music/files/download
                                      אתה משנה סיומת מexo לmp3

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • L lilo159

                                        @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                                        זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                                        ש מנותק
                                        ש מנותק
                                        שלום053
                                        כתב נערך לאחרונה על ידי
                                        #21

                                        @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                        @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                                        זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                                        מסתבר שזה חסום לי.

                                        L תגובה 1 תגובה אחרונה
                                        0
                                        • ש שלום053

                                          @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                          @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                                          זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                                          מסתבר שזה חסום לי.

                                          L מנותק
                                          L מנותק
                                          lilo159
                                          כתב נערך לאחרונה על ידי
                                          #22

                                          @שלום053 התוכנה או הקישור?

                                          ש תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • פופולרי
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר