GithubHelp home page GithubHelp logo

lighttube-org / innertube Goto Github PK

View Code? Open in Web Editor NEW
25.0 3.0 8.0 1.82 MB

C# wrapper for the InnerTube API

Home Page: https://lighttube-org.github.io/InnerTube/

License: GNU Affero General Public License v3.0

C# 96.45% CSS 3.11% JavaScript 0.39% Shell 0.06%
innertube youtube youtube-api

innertube's People

Contributors

basiqueevangelist avatar inftord avatar kuylar avatar marcusotter avatar velvettoroyashi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

innertube's Issues

Add video chapters in InnerTubeNextResponse

they're available under playerOverlays.playerOverlayRenderer.decoratedPlayerBarRenderer.decoratedPlayerBarRenderer.playerBar.multiMarkersPlayerBarRenderer.markersMap[the one with key="DESCRIPTION_CHAPTERS"].value.chapters

GetLocalsAsync sometimes broken

var innerTube = new InnerTube();
var locals = await innerTube.GetLocalsAsync();

Will crash every now and then with this exception:

 System.ArgumentNullException: Value cannot be null. (Parameter 'source')
at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at InnerTube.InnerTubeLocals..ctor(JObject localsResponse)
at InnerTube.InnerTube.GetLocalsAsync(String language, String region)

(cross-posting from Discord)

Missing renderer: AdSlotRenderer

I did a random youtube search with language fa and region RU if that helps, got this when trying to .ToString() the IRenderer (hoping I don't leak any bad data lol)

Unknown renderer of type: adSlotRenderer. JSON:
        {"adSlotMetadata":{"slotId":"1698192906554091:179498190:3121600856:2","slotType":"SLOT_TYPE_IN_FEED","slotPhysicalPosition":4,"adSlotLoggingData":{"serializedSlotAdServingDataEntry":"ChMI65XSx_WPggMVzuyyCh1Y2Q-6GgYIBTAEWAIgAw=="}},"fulfillmentContent":{"fulfilledLayout":{"inFeedAdLayoutRenderer":{"a
dLayoutMetadata":{"layoutId":"Fwqiy1YkhghLnQQL","layoutType":"LAYOUT_TYPE_DISPLAY_COMPACT_LANDSCAPE_NO_BUTTON","adLayoutLoggingData":{"serializedAdServingDataEntry":"IAUoAzAIOARKEwjrldLH9Y-CAxXO7LIKHVjZD7pSBggFMARYAmgBcE4="}},"renderingContent":{"promotedSparklesWebRenderer":{"thumbnail":{"thumbnails":[{"ur
l":"https://lh3.googleusercontent.com/proxy/COocytm-DS5RAYYu5vOsQM54jNYlki97K1fJMsg7J22K-ovi8SFXvA0IRvpgJ3TGibitf53nAhsLLFxldjmOFkz4E_CTwXMOA55T4XUCSTNQM4jIm7geABHC95N5RIu20oy_4X3u1Fl3","width":6000,"height":3120}]},"title":{"simpleText":"Permanent hårfjerning på 8 uker hjemme"},"description":{"simpleText":
"30% rabatt på Alvaskin IPL som stopper hårveksten permanent hjemme. 20.000 fornøyde kunder"},"websiteText":{"simpleText":"Alvaskin"},"navigationEndpoint":{"clickTrackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZTwgdimgHcg==","commandMetadata":{"webCommandMetadata":{"url":"https://www.googleadservices.com/pagead
/aclk?sa=L&ai=CaHsrCl44ZevoIc7ZywXYsr_QC5SGkuJz2eDJk_0RsJAfEAEgAGDDhICAmBiCARdjYS1wdWItNjIxOTgxMTc0NzA0OTM3MaABlMWzuwKpAkUgtnOXFHg-qAMEyAMKqgSAAk_QO4PRcOF0Za2PjK6HV28ktMBMWQGgoF8vD--Fws2Jobv88fvUT9qrimc9aZQ4NTu6RxuPf_l0ZUbndEgJbkNclrTfTqZzdyloTCJkXlYXugATJOnehiELCl3a0X-Ly9jJhLrZ6gjIx5cBGJqfOTtlCE8HGarPzbT2O
Se-8lVrzKacO_d8sCTe1hcLVHSRAJU1tFzJ1rnEhEOzLCA6oktPtuloez5xq-LNezXHowpFA5Uy9nvPRJ6fvtDie6GR-irowfQ8tqvWWHntJdv4NwO1Mbg9l7B4eidI9Ftku1dDXZ1yZSLjFLj58nOLkYq_u06sMha1lSWfahcyHl-tf3aSBQgIE3ji3_fEAaAGboAH1LrMxAGQBwGoB_mxsQKoB-21sQKoB-edsQKoB-idsQKoB-q3sQKoB6e1sQKoB--1sQKoB_C1sQKoB4KqsQKoB4QIqAeo0huoB7YHqAekmrECq
AeRn7ECqAewm7ECqAffobECqAeusbECqAemqrECqAf9srECqAeBxhuoB_yvsQKoB6vFG6gH5p2xAqgHyJ-xAqgHt6GxAqgH2KaxArgIAdIIHwiAwYBQEAEYXjIDo4JAOgiAwoCAgJCAAkjZoNI1UBSxCUs4-Ix2T-PJyAkAyAmKApgLAboLNwgDEAUYBCAIKAEwBUABSABQAVhOYABoAHABiAEAmAEBogELCgCgAgGoAgPYAgHYAQGAAgGIAgXQCxKaDQESuBP___________8BiBQBsBQDwBWBgIBA0BUB2BUBmBYB4
hYCCAGAFwGKFxgIAxgBIAEoATABOAFAAUgBUAFYAWACcAGgFwGpF4adJep_32TsuhcEKAAwAA&num=1&cid=CAASF-RoNvvmu1LRwGTgNX40xdyY_oGnfI5M&sig=AOD64_2JdNgNBAcl87h5qxgMHt9gDFhfTQ&ms=[CLICK_MS]&adurl=http://www.alvaskin.no/products/alvaskin-harfjerner%3Futm_source%3Dgoogle%26utm_medium%3Dpaid%26utm_campaign%3D20625689242%26utm
_content%3D161106858144%26utm_term%3D%26gadid%3D676150381360%26tw_source%3Dgoogle%26tw_adid%3D676150381360%26tw_campaign%3D20625689242&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]","webPageType":"WEB_PAGE_TYPE_UNKNOWN","rootVe":83769}},"urlEndpoint":{"url":"https://www.googleadservices.com/pagead/aclk?sa=L&ai=CaHsrCl4
4ZevoIc7ZywXYsr_QC5SGkuJz2eDJk_0RsJAfEAEgAGDDhICAmBiCARdjYS1wdWItNjIxOTgxMTc0NzA0OTM3MaABlMWzuwKpAkUgtnOXFHg-qAMEyAMKqgSAAk_QO4PRcOF0Za2PjK6HV28ktMBMWQGgoF8vD--Fws2Jobv88fvUT9qrimc9aZQ4NTu6RxuPf_l0ZUbndEgJbkNclrTfTqZzdyloTCJkXlYXugATJOnehiELCl3a0X-Ly9jJhLrZ6gjIx5cBGJqfOTtlCE8HGarPzbT2OSe-8lVrzKacO_d8sCTe1hc
LVHSRAJU1tFzJ1rnEhEOzLCA6oktPtuloez5xq-LNezXHowpFA5Uy9nvPRJ6fvtDie6GR-irowfQ8tqvWWHntJdv4NwO1Mbg9l7B4eidI9Ftku1dDXZ1yZSLjFLj58nOLkYq_u06sMha1lSWfahcyHl-tf3aSBQgIE3ji3_fEAaAGboAH1LrMxAGQBwGoB_mxsQKoB-21sQKoB-edsQKoB-idsQKoB-q3sQKoB6e1sQKoB--1sQKoB_C1sQKoB4KqsQKoB4QIqAeo0huoB7YHqAekmrECqAeRn7ECqAewm7ECqAffobE
CqAeusbECqAemqrECqAf9srECqAeBxhuoB_yvsQKoB6vFG6gH5p2xAqgHyJ-xAqgHt6GxAqgH2KaxArgIAdIIHwiAwYBQEAEYXjIDo4JAOgiAwoCAgJCAAkjZoNI1UBSxCUs4-Ix2T-PJyAkAyAmKApgLAboLNwgDEAUYBCAIKAEwBUABSABQAVhOYABoAHABiAEAmAEBogELCgCgAgGoAgPYAgHYAQGAAgGIAgXQCxKaDQESuBP___________8BiBQBsBQDwBWBgIBA0BUB2BUBmBYB4hYCCAGAFwGKFxgIAxgBIAE
oATABOAFAAUgBUAFYAWACcAGgFwGpF4adJep_32TsuhcEKAAwAA&num=1&cid=CAASF-RoNvvmu1LRwGTgNX40xdyY_oGnfI5M&sig=AOD64_2JdNgNBAcl87h5qxgMHt9gDFhfTQ&ms=[CLICK_MS]&adurl=http://www.alvaskin.no/products/alvaskin-harfjerner%3Futm_source%3Dgoogle%26utm_medium%3Dpaid%26utm_campaign%3D20625689242%26utm_content%3D16110685814
4%26utm_term%3D%26gadid%3D676150381360%26tw_source%3Dgoogle%26tw_adid%3D676150381360%26tw_campaign%3D20625689242&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]","target":"TARGET_NEW_WINDOW"}},"impressionCommands":[{"clickTrackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZTwgdimgHcg==","loggingUrls":[{"baseUrl":"https://www.yo
utube.com/pagead/adview?ai=CTUmqCl44ZevoIc7ZywXYsr_QC5SGkuJz2eDJk_0RsJAfEAEgAGDDhICAmBiCARdjYS1wdWItNjIxOTgxMTc0NzA0OTM3MaABlMWzuwKpAkUgtnOXFHg-qAMEyAMKqgSEAk_QO4PRcOF0ZV8-mH86-Ard0CM_ahCXlVkNDeHG09Kcsa7wqMjFeO-tpXApVbAzJhm-RCrBQvBuV1fjLXsYW0J_3JbFULJARWFQeztyW3pfoSsOE-j08iALCV7a0FTS193jj6byoAGX4Y0KIo2GcSdO
XQEIBK3P5Oy-JSW_5XwwgfHabLYTtjvVyBUJSnCQi7oK8gWOyHKq_kCxOWttrlFWGYogIipp6EGjIzbFtkESD48rrGvPGYicp4yvbbeF5D3zofYssqvMDResYJW6fg60gYoXZ4JAgqW5FQvOqn9HTKIVCTrOGucDk4hSVICYlNebMOBsd6JrWQ-igpx_TeA9COEywASgod6V2ASIBZqVjOtMkgUICBN44t_3xAGgBm6AB9S6zMQBkAcBqAf5sbECqAfttbECqAfnnbECqAfonbECqAfqt7ECqAentbECqAfvtbECqAfw
tbECqAeCqrECqAeECKgHqNIbqAe2B6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHrrGxAqgHpqqxAqgH_bKxAqgHgcYbqAf8r7ECqAerxRuoB-PZG6gHt6mxAqgH6auxApIIC0FBQUFBQUFBQUFBuAgB0ggfCIDBgFAQARheMgOjgkA6CIDCgICAkIACSNmg0jVQFMgJAMgJigK6C0AIAxAFGAQgCCgBMAVAAUgAUAFYTmAAaABwAYgBAJgBAaIBCwoAoAIBqAID2AIB2AEBgAIBiAIFqAIAtQJSyCg_uBP_________
__8BiBQBsBQDwBWBgIBAihcYCAMYASABKAEwATgBQAFIAVABWAFgAnABoBcBqReGnSXqf99k7LoXBCgAMADSFwYSAspOGG4&sigh=Y9MhSPtHkf4&cid=CAASF-RoNvvmu1LRwGTgNX40xdyY_oGnfI5M"}],"pingingEndpoint":{"hack":true}}],"menu":{"menuRenderer":{"trackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZTwgdimgHcg==","isDisabled":true,"disabledComman
d":{"clickTrackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZTwgdimgHcg==","openPopupAction":{"popup":{"aboutThisAdRenderer":{"url":{"privateDoNotAccessOrElseTrustedResourceUrlWrappedValue":"https://www.youtube.com/aboutthisad?pf=web&source=youtube&reasons=AQWFniud6su1lCZLOs7pWGqpeHHVTaJJf72pVDp02-8md3mzghkW7jHLI
7qh_NDHmleP5dZFqpdyruSAPSZpDEoBWn1jKjBelWwJmcXHcPMP_EC7qF5VuNZ2_rV6oJaEeu_PrcYF1mk5WVW3ZbgmWuPhBFvBWesrNeet8WRolYiq4R_QphjFSHcQc1p6OM0Vc46FRggO_8pEUAan0uu4aNAb75PdFHo_hqu2TcBvM6KsRyyOAhAP5aDgD5SyeWd2wPmgggBwoS98KbdQoMef0h0mMZ3zagbxUcIFkzl4fYW4IT3lFNuwDj5fP0j4jy2lU9MsPuSb2NPYlPZYSGGfPK026_JjpTwY7dPn-o9mhtLjG
VvnRDuAa09lQdzq4Z1j57V2MYdeyoBz995NS-NR6i1t0ZIGU8hgu4poiszxBCGGi1GTept0Gl2NFxYjCuC6MDqXw7CGUNBO_ZL6X8thwXhAE3EE_63gl3bW8m6nTWRTqp1hn8mkeJi710Np5RebWuU68cX7JO4mRJH-rzYdtNABU32x2I6f6smJXkPPuFXyIrA9DAtmyuPLQ7XL0GMJpg0OZBO8FlMzmR9o45JH10tWHBppr7mRl13a2t-56Rn1keo5Mbjvi2PDY4DjdhmJadwfRgJkapX4meto0-HEyxa9993M7j_y6
SKl7R3mFrtM0nT_cDX8AOaYq_rlQhi3xcEinHUbyZoo8qRCXWJqvesjpYzsoRtRo4BXbATF3RZswScs7KKmI64g5OSQ5_JEqyzxmihXt5368GSM47KtT-MtX0oepIkG3YmAgbGqfsJOogkKgRqqOSL6Q1fU8OKYI3Sngp8h8qDT0NGn9XGk5vrL7lynfLmxcWlWUiEFNg_vtsCTVKJLb7uFXmhcPlamb-DfKmA7udffgGxzMrkv_IW0ZcfiejI9vqb38nbKyTx6RzTmzCGyT_lJd3Pt0us9TSDUdTexWXrY8JvvXP-qG
bJ7kfiNxCFg5qbbXCCujjpRXrDgFh716wSNzsrosrMPebXR31_CfIxFf753Yqz5kBJOUQhXR5Gx6gnuwmSiPUcoq5j0fY-lMPkCi_t5gyKt0pKuMG2L0a3D_-98ZMMWDlTAgPEM-JTEfUfqmPCBNSsXhaA7VGXzPo94nqBYqUifSrkfeCG9nkkD_t_Ja2D_4eG-qQ02zAjGAXceM0DJtAdWI6q3Bvxk54Q1CJfGOosbyIXMkiJINdcfM07FPbTl1UvLyc7a4VamR0dC2YAlWQYwzu8mgXs-eWpY6TE-3OB1b7eh3gqFS
7x8rSFb75Rq8DvczmMLrOAFIbEq3MTqIWYcLJK2SoAuAr1ElKFMkJNOmhRJZAr8Iu3HM_YS_qG2v7WitIBCAkCi2DB9o44EoS77iudIl32iQqOYe6k1qPs2ysgNT0Kjw2zVo5E78I_R5NuEZ1pK0QSAYPV36dCw5KlRF1W37O9Kotr4F3Ch2-vMLoUUJSJJqGuQ5PpfDMXCdhmtSjky-ON85LZqkK1ziybfxXyiT-_QrYhTec0yFYRVmq9zcfH4pN8CJO4b&hl=fa&origin=www.youtube.com"},"trackingPara
ms":"CJ4BEJffCiITCMep0cf1j4IDFTHZTwgdimgHcg=="}},"popupType":"DIALOG"}}}},"trackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZTwgdimgHcg==","clickLocationTargets":[{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_AD_BADGE","code":31,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTE
D_SPARKLES_CLICK_LOCATION_ACTION_LABEL","code":8,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_BACKGROUND","code":2,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_NOOP"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_BORDER","code":39,"be
haviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_NOOP"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_AD_WEBSITE","code":1,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_CTD_AD_RATING","code":16,"behaviorType":"PROMOTED_SPARKLES_CLIC
K_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_CTD_AD_PRICE","code":15,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_CTD_AD_APP_STORE","code":35,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},
{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_PRODUCT_PRICE","code":15,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_INNER_BACKGROUND","code":41,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_NOOP"},{"location":"PROMOTED_SPARKLES_CL
ICK_LOCATION_CUSTOM_BADGE","code":43,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TALKBACK_ACTIVATED","code":17,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_ACTION_LABEL_TALKBACK
_ACTIVATED","code":8,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TITLE","code":0,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_DESCRIPTION","code":7,"behaviorType":"PROMOTED_SPAR
KLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_THUMBNAIL","code":9,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_PRODUCT_ADVERTISER","code":20,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"
}],"mediaHoverOverlay":{"buttonRenderer":{"style":"STYLE_LIGHT_TEXT","text":{"simpleText":"Kjøp nå"},"icon":{"iconType":"EXTERNAL_LINK"},"trackingParams":"CJ0BEPBbIhMIx6nRx_WPggMVMdlPCB2KaAdy","iconPosition":"BUTTON_ICON_POSITION_TYPE_RIGHT_OF_TEXT"}},"mediaBadge":{"metadataBadgeRenderer":{"icon":{"iconType
":"EXTERNAL_LINK"},"style":"BADGE_STYLE_TYPE_BLACK","trackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZTwgdimgHcg=="}},"promotedSparklesWebStyle":"PROMOTED_SPARKLES_WEB_STYLE_LANDSCAPE_IMAGE_ASPECT_RATIO","isSquareThumbnail":false,"thumbnailNavigationEndpoint":{"clickTrackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZ
TwgdimgHcg==","commandMetadata":{"webCommandMetadata":{"url":"https://www.googleadservices.com/pagead/aclk?sa=L&ai=CaHsrCl44ZevoIc7ZywXYsr_QC5SGkuJz2eDJk_0RsJAfEAEgAGDDhICAmBiCARdjYS1wdWItNjIxOTgxMTc0NzA0OTM3MaABlMWzuwKpAkUgtnOXFHg-qAMEyAMKqgSAAk_QO4PRcOF0Za2PjK6HV28ktMBMWQGgoF8vD--Fws2Jobv88fvUT9qrimc9aZQ4
NTu6RxuPf_l0ZUbndEgJbkNclrTfTqZzdyloTCJkXlYXugATJOnehiELCl3a0X-Ly9jJhLrZ6gjIx5cBGJqfOTtlCE8HGarPzbT2OSe-8lVrzKacO_d8sCTe1hcLVHSRAJU1tFzJ1rnEhEOzLCA6oktPtuloez5xq-LNezXHowpFA5Uy9nvPRJ6fvtDie6GR-irowfQ8tqvWWHntJdv4NwO1Mbg9l7B4eidI9Ftku1dDXZ1yZSLjFLj58nOLkYq_u06sMha1lSWfahcyHl-tf3aSBQgIE3ji3_fEAaAGboAH1LrMxAGQ
BwGoB_mxsQKoB-21sQKoB-edsQKoB-idsQKoB-q3sQKoB6e1sQKoB--1sQKoB_C1sQKoB4KqsQKoB4QIqAeo0huoB7YHqAekmrECqAeRn7ECqAewm7ECqAffobECqAeusbECqAemqrECqAf9srECqAeBxhuoB_yvsQKoB6vFG6gH5p2xAqgHyJ-xAqgHt6GxAqgH2KaxArgIAdIIHwiAwYBQEAEYXjIDo4JAOgiAwoCAgJCAAkjZoNI1UBSxCUs4-Ix2T-PJyAkAyAmKApgLAboLNwgDEAUYBCAIKAEwBUABSABQAVhO
YABoAHABiAEAmAEBogELCgCgAgGoAgPYAgHYAQGAAgGIAgXQCxKaDQESuBP___________8BiBQBsBQDwBWBgIBA0BUB2BUBmBYB4hYCCAGAFwGKFxgIAxgBIAEoATABOAFAAUgBUAFYAWACcAGgFwGpF4adJep_32TsuhcEKAAwAA&num=1&cid=CAASF-RoNvvmu1LRwGTgNX40xdyY_oGnfI5M&sig=AOD64_2JdNgNBAcl87h5qxgMHt9gDFhfTQ&ms=[CLICK_MS]&adurl=http://www.alvaskin.no/prod
ucts/alvaskin-harfjerner%3Futm_source%3Dgoogle%26utm_medium%3Dpaid%26utm_campaign%3D20625689242%26utm_content%3D161106858144%26utm_term%3D%26gadid%3D676150381360%26tw_source%3Dgoogle%26tw_adid%3D676150381360%26tw_campaign%3D20625689242&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]","webPageType":"WEB_PAGE_TYPE_UNKNOWN"
,"rootVe":83769}},"urlEndpoint":{"url":"https://www.googleadservices.com/pagead/aclk?sa=L&ai=CaHsrCl44ZevoIc7ZywXYsr_QC5SGkuJz2eDJk_0RsJAfEAEgAGDDhICAmBiCARdjYS1wdWItNjIxOTgxMTc0NzA0OTM3MaABlMWzuwKpAkUgtnOXFHg-qAMEyAMKqgSAAk_QO4PRcOF0Za2PjK6HV28ktMBMWQGgoF8vD--Fws2Jobv88fvUT9qrimc9aZQ4NTu6RxuPf_l0ZUbndEgJbk
NclrTfTqZzdyloTCJkXlYXugATJOnehiELCl3a0X-Ly9jJhLrZ6gjIx5cBGJqfOTtlCE8HGarPzbT2OSe-8lVrzKacO_d8sCTe1hcLVHSRAJU1tFzJ1rnEhEOzLCA6oktPtuloez5xq-LNezXHowpFA5Uy9nvPRJ6fvtDie6GR-irowfQ8tqvWWHntJdv4NwO1Mbg9l7B4eidI9Ftku1dDXZ1yZSLjFLj58nOLkYq_u06sMha1lSWfahcyHl-tf3aSBQgIE3ji3_fEAaAGboAH1LrMxAGQBwGoB_mxsQKoB-21sQKoB-
edsQKoB-idsQKoB-q3sQKoB6e1sQKoB--1sQKoB_C1sQKoB4KqsQKoB4QIqAeo0huoB7YHqAekmrECqAeRn7ECqAewm7ECqAffobECqAeusbECqAemqrECqAf9srECqAeBxhuoB_yvsQKoB6vFG6gH5p2xAqgHyJ-xAqgHt6GxAqgH2KaxArgIAdIIHwiAwYBQEAEYXjIDo4JAOgiAwoCAgJCAAkjZoNI1UBSxCUs4-Ix2T-PJyAkAyAmKApgLAboLNwgDEAUYBCAIKAEwBUABSABQAVhOYABoAHABiAEAmAEBogELCg
CgAgGoAgPYAgHYAQGAAgGIAgXQCxKaDQESuBP___________8BiBQBsBQDwBWBgIBA0BUB2BUBmBYB4hYCCAGAFwGKFxgIAxgBIAEoATABOAFAAUgBUAFYAWACcAGgFwGpF4adJep_32TsuhcEKAAwAA&num=1&cid=CAASF-RoNvvmu1LRwGTgNX40xdyY_oGnfI5M&sig=AOD64_2JdNgNBAcl87h5qxgMHt9gDFhfTQ&ms=[CLICK_MS]&adurl=http://www.alvaskin.no/products/alvaskin-harfjern
er%3Futm_source%3Dgoogle%26utm_medium%3Dpaid%26utm_campaign%3D20625689242%26utm_content%3D161106858144%26utm_term%3D%26gadid%3D676150381360%26tw_source%3Dgoogle%26tw_adid%3D676150381360%26tw_campaign%3D20625689242&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]","target":"TARGET_NEW_WINDOW"}},"adBadge":{"metadataBadgeRen
derer":{"style":"BADGE_STYLE_TYPE_AD","label":"????? ???? ????","trackingParams":"CJwBENjJBSITCMep0cf1j4IDFTHZTwgdimgHcg=="}}}}}}},"enablePacfLoggingWeb":true}

Whoops! Something went wrong...

  • LightTube instance this error occured on (tube.kuylar.dev)
  • LightTube & InnerTube versions (2023.12.13 / 1.0.27.0)
  • The full resource path (/watch?v=-UBaW1OIgTo)
  • InnerTube language & region (en_US)

System.NullReferenceException: Object reference not set to an instance of an object.
at InnerTube.EndScreenItem..ctor(JToken json)
at InnerTube.InnerTubePlayer.<>c.<.ctor>b__27_3(JToken x)
at System.Linq.Enumerable.SelectIListIterator2.MoveNext() at System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter2.OnWriteResume(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, WriteStack& state)
at System.Text.Json.Serialization.JsonCollectionConverter2.OnTryWrite(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.JsonConverter1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
at System.Text.Json.Serialization.Metadata.JsonPropertyInfo1.GetMemberAndWriteJson(Object obj, WriteStack& state, Utf8JsonWriter writer) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, WriteStack& state)
at System.Text.Json.Serialization.JsonConverter1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.JsonConverter1.WriteCore(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
at System.Text.Json.JsonSerializer.WriteUsingSerializer[TValue](Utf8JsonWriter writer, TValue& value, JsonTypeInfo jsonTypeInfo)
at System.Text.Json.JsonSerializer.WriteStringUsingSerializer[TValue](TValue& value, JsonTypeInfo jsonTypeInfo)
at AspNetCoreGeneratedDocument.Views_Shared_Player.ExecuteAsync() in /src/LightTube/Views/Shared/Player.cshtml:line 144
at AspNetCoreGeneratedDocument.Views_Youtube_Watch.ExecuteAsync() in /src/LightTube/Views/Youtube/Watch.cshtml:line 15
--- End of stack trace from previous location ---

Implement more renderers

adSlotRenderer
{"adSlotRenderer":{"adSlotMetadata":{"slotId":"","slotType":"SLOT_TYPE_IN_FEED","slotPhysicalPosition":1},"fulfillmentContent":{"fulfilledLayout":{"inFeedAdLayoutRenderer":{"adLayoutMetadata":{"layoutId":"","layoutType":"LAYOUT_TYPE_DISPLAY_SQUARE_IMAGE","adLayoutLoggingData":{"serializedAdServingDataEntry":""}},"renderingContent":{"promotedSparklesWebRenderer":{"thumbnail":{"thumbnails":[{"url":"","width":1200,"height":1200}]},"icon":{"iconType":"EXTERNAL_LINK"},"title":{"simpleText":"Ad Title"},"description":{"simpleText":"Ad Description"},"websiteText":{"simpleText":"Website / Product name"},"actionButton":{"buttonRenderer":{"style":"STYLE_PRIMARY","text":{"simpleText":"Button Text"},"icon":{"iconType":"EXTERNAL_LINK"},"trackingParams":"","iconPosition":"BUTTON_ICON_POSITION_TYPE_RIGHT_OF_TEXT"}},"navigationEndpoint":{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"https://www.googleadservices.com/pagead/aclk?adurl=https://semi.urlencoded/website%3Furl%3D","webPageType":"WEB_PAGE_TYPE_UNKNOWN","rootVe":83769}},"urlEndpoint":{"url":"https://www.googleadservices.com/pagead/aclk?adurl=https://semi.urlencoded/website%3Furl%3D","target":"TARGET_NEW_WINDOW"}},"impressionCommands":[{"clickTrackingParams":"CIsGENrJBSITCJncjaOxp_8CFVeRewod0ZkFXg==","loggingUrls":[{"baseUrl":""}],"pingingEndpoint":{"hack":true}}],"menu":{"menuRenderer":{"items":[{"menuNavigationItemRenderer":{"text":{"runs":[{"text":"My Ad Center"}]},"icon":{"iconType":"INFO"},"navigationEndpoint":{"clickTrackingParams":"","openPopupAction":{"popup":{"aboutThisAdRenderer":{"url":{"privateDoNotAccessOrElseTrustedResourceUrlWrappedValue":"https://www.youtube.com/aboutthisad"},"trackingParams":""}},"popupType":"DIALOG"}},"trackingParams":""}}],"trackingParams":""}},"trackingParams":"","clickLocationTargets":[{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_AD_BADGE","code":31,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_BACKGROUND","code":2,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_NOOP"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_BORDER","code":39,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_NOOP"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_AD_WEBSITE","code":1,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_CTD_AD_RATING","code":16,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_CTD_AD_APP_STORE","code":35,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_PRODUCT_ADVERTISER","code":20,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_PRODUCT_PRICE","code":15,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_INNER_BACKGROUND","code":41,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_NOOP"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_CUSTOM_BADGE","code":43,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TALKBACK_ACTIVATED","code":17,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_ACTION_LABEL_TALKBACK_ACTIVATED","code":8,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TITLE","code":0,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_DESCRIPTION","code":7,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_THUMBNAIL","code":9,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_TEXT_CTD_AD_PRICE","code":15,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"},{"location":"PROMOTED_SPARKLES_CLICK_LOCATION_ACTION_LABEL","code":8,"behaviorType":"PROMOTED_SPARKLES_CLICK_BEHAVIOR_TYPE_OPEN_AD"}],"adBadge":{"metadataBadgeRenderer":{"style":"BADGE_STYLE_TYPE_AD","label":"Ad","trackingParams":""}}}}}}},"enablePacfLoggingWeb":true}}
movieRenderer
{"videoId":"6JsJiXG1VWw","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi_webp/6JsJiXG1VWw/movieposter.webp","width":279,"height":402}]},"title":{"runs":[{"text":"Cars"}],"accessibility":{"accessibilityData":{"label":"Cars by YouTube Movies & TV 1 hour, 51 minutes"}}},"descriptionSnippet":{"runs":[{"text":"Die Macher von Monster AG, Findet Nemo und Die Unglaublichen geben Vollgas: mit "},{"text":"CARS","bold":true},{"text":", dem neuesten ..."}]},"longBylineText":{"runs":[{"text":"YouTube Movies & TV"}]},"shortBylineText":{"runs":[{"text":"YouTube Movies & TV"}]},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 hour, 51 minutes, 51 seconds"}},"simpleText":"1:51:51"},"navigationEndpoint":{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=6JsJiXG1VWw&pp=ygUEY2Fycw%3D%3D","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"6JsJiXG1VWw","params":"8gMFDSk8Vj8%3D","playerParams":"ygUEY2Fycw%3D%3D","watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr1---sn-25ge7nzz.googlevideo.com/initplayback"}}}}},"badges":[{"metadataBadgeRenderer":{"style":"BADGE_STYLE_TYPE_SIMPLE","label":"FSK 0","trackingParams":""}}],"ownerBadges":[{"metadataBadgeRenderer":{"icon":{"iconType":"CHECK_CIRCLE_THICK"},"style":"BADGE_STYLE_TYPE_VERIFIED","tooltip":"Verified","trackingParams":"","accessibilityData":{"label":"Verified"}}}],"trackingParams":"","topMetadataItems":[{"simpleText":"Action & adventure • 2006"}],"bottomMetadataItems":[{"simpleText":"Actors: Paul Newman, Owen Wilson, Bonnie Hunt"},{"simpleText":"Director: John Lasseter"}],"useVerticalPoster":true,"showActionMenu":false,"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 hour, 51 minutes, 51 seconds"}},"simpleText":"1:51:51"},"style":"DEFAULT"}}],"offerButtons":[{"buttonRenderer":{"style":"STYLE_PRIMARY","size":"SIZE_LARGE","text":{"runs":[{"text":"Buy or rent"}]},"trackingParams":"","command":{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"https://accounts.google.com/ServiceLogin?service=youtube...","webPageType":"WEB_PAGE_TYPE_UNKNOWN","rootVe":83769}},"signInEndpoint":{"nextEndpoint":{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/ypc/get_offers"}},"ypcOffersEndpoint":{"params":"Cg8IARILNkpzSmlYRzFWV3cYATIDgAEC"}}}}}}]}
compactMovieRenderer
{"videoId":"llrBX6FpMpM","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/llrBX6FpMpM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBR1ly2-lw_NtNvYtNz85Fk5w2REQ","width":168,"height":94},{"url":"https://i.ytimg.com/vi/llrBX6FpMpM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAh_fqm5raQ6HdT3CBuH7S24OZGjw","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Cars 2 by Action & adventure • 2011 1 hour, 42 minutes"}},"simpleText":"Cars 2"},"shortBylineText":{"runs":[{"text":"YouTube Movies & TV","navigationEndpoint":{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"/channel/UClgRkhTL3_hImCAmdLfDE4g","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UClgRkhTL3_hImCAmdLfDE4g"}},"loggingDirectives":{"trackingParams":"","visibility":{"types":"12"}}}]},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 hour, 42 minutes, 36 seconds"}},"simpleText":"1:42:36"},"navigationEndpoint":{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=llrBX6FpMpM&pp=sAQB","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"llrBX6FpMpM","playerParams":"sAQB","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr5---sn-25ge7nzd.googlevideo.com/initplayback"}}}}},"badges":[{"metadataBadgeRenderer":{"style":"BADGE_STYLE_TYPE_YPC","label":"Buy or rent","trackingParams":"","accessibilityData":{"label":"Buy or rent"}}},{"metadataBadgeRenderer":{"style":"BADGE_STYLE_TYPE_SIMPLE","label":"FSK 0","trackingParams":"","accessibilityData":{"label":"fsk 0"}}}],"trackingParams":"","menu":{"menuRenderer":{"trackingParams":"","targetId":"watch-related-menu-button"}},"useVerticalPoster":false,"topMetadataItems":[{"simpleText":"Action & adventure • 2011"}],"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 hour, 42 minutes, 36 seconds"}},"simpleText":"1:42:36"},"style":"DEFAULT"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}]}

Generate `params` strings in code

Most params strings are just base64 encoded protobufs, and we can definitely use them in places such as:

  • [#23] Search Filters
  • Search continuations
    • this one will be hard, from what ive seen so far, theres an int value that acts as a hash
  • Channel/Playlist continuations
  • Comments
    • Instead of GetVideoCommentsAsync(string continuation) we can have GetVideoCommentsAsync(string videoId, CommentSortingType /* enum, TopComments or NewestFirst */ sortingType, object /* needs more research */ after)

& probably more!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.