Gallery · App X-Ray

FreeTube 0.25.3

Electron 44.9.2 · 37 addresses · 153 modules · 0 IPC channels

Findings

info

Electron 44.9.2 is supported

as of 2026-10-22, Electron 43–45 are supported.

info

IPC channel names chosen at runtime

69 IPC calls take the channel name from a variable. When a preload script forwards a channel chosen by the page, the page can reach every handler; worth reviewing.

info

Stores data on this device

Uses session-storage (7 uses), cache-storage (1 use).

src/renderer/helpers/api/local.js:493 · src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js:1245 · src/renderer/store/modules/settings.js:401 · src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js:2781 · src/renderer/store/modules/settings.js:402 · static/pwabuilder-sw.js:140 · src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js:1237 · src/renderer/store/modules/settings.js:403

Network addresses

HostAddressHowWhere
—/property:pathsrc/renderer/router/index.js:22
—/aboutproperty:pathsrc/renderer/router/index.js:88
—/Applicationsproperty:path_scripts/ebuilder.config.mjs:36
—/channel/:id/:currentTab?property:pathsrc/renderer/router/index.js:118
—/hashtag/:hashtagproperty:pathsrc/renderer/router/index.js:132
—/historyproperty:pathsrc/renderer/router/index.js:72
—/playlist/:idproperty:pathsrc/renderer/router/index.js:111
—/popularproperty:pathsrc/renderer/router/index.js:56
—/post/:idproperty:pathsrc/renderer/router/index.js:139
—/search/:queryproperty:pathsrc/renderer/router/index.js:104
—/settingsproperty:pathsrc/renderer/router/index.js:80
—/settings/profileproperty:pathsrc/renderer/router/index.js:96
—/subscribedchannelsproperty:pathsrc/renderer/router/index.js:38
—/subscriptionsproperty:pathsrc/renderer/router/index.js:30
—/trendingproperty:pathsrc/renderer/router/index.js:47
—/userplaylistsproperty:pathsrc/renderer/router/index.js:64
—/watch/:idproperty:pathsrc/renderer/router/index.js:125
—buildURL('GenerateIT', true)call:fetchsrc/botGuardScript.js:83
—caption.urlcall:fetchsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js:2999
gpuchrome://gpucall:gpuWindow.loadURLsrc/main/index.js:2470
—ContinuationItemcall:memo.getsrc/renderer/helpers/api/local.js:1203
—data:text/html,<!DOCTYPE html><html lang="en"><head><title></title></head><body></body></html>call:webContentsView.webContents.loadURLsrc/main/poTokenGenerator.js:191
—event.requestcall:fetchstatic/pwabuilder-sw.js:88
—GridPlaylistcall:memo.getsrc/renderer/helpers/api/local.js:1200
api.invidious.iohttps://api.invidious.io/instances.jsoncall:fetch_scripts/getInstances.js:4
www.youtube.comhttps://www.youtube.com/youtubei/v1/att/get?prettyPrint=false&alt=jsoncall:fetchsrc/botGuardScript.js:27
—inputcall:fetchsrc/renderer/helpers/utils.js:913
—interpreterUrlcall:fetchsrc/botGuardScript.js:63
—LockupViewcall:memo.getsrc/renderer/helpers/api/local.js:1200
—Playlistcall:memo.getsrc/renderer/helpers/api/local.js:1200
—playlistIdcall:params.getsrc/main/index.js:191
—playlistTypecall:params.getsrc/main/index.js:190
—requestUrlcall:fetchsrc/renderer/helpers/sponsorblock.js:39
—sabrURL.toString()call:fetchsrc/renderer/helpers/player/SabrSchemePlugin.js:340
—timestampcall:params.getsrc/main/index.js:196
—urlcall:fetchsrc/renderer/store/modules/invidious.js:32
localhostws://localhost:9080/wscall:WebSocketsrc/renderer/i18n/index.js:54

Modules

ModuleUsed by
../../../../constantssrc/renderer/components/ft-shaka-video-player/player-components/AudioTrackSelection.js, src/renderer/components/ft-shaka-video-player/player-components/AutoplayToggle.js, src/renderer/components/ft-shaka-video-player/player-components/FullWindowButton.js, src/renderer/components/ft-shaka-video-player/player-components/LegacyQualitySelection.js, src/renderer/components/ft-shaka-video-player/player-components/ScreenshotButton.js, src/renderer/components/ft-shaka-video-player/player-components/SkipButton.js, src/renderer/components/ft-shaka-video-player/player-components/StatsButton.js, src/renderer/components/ft-shaka-video-player/player-components/TheatreModeButton.js
../../../../node_modules/youtubei.js/dist/protos/generated/misc/paramssrc/renderer/helpers/api/shared.js
../../../constantssrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/helpers/api/local.js, src/renderer/store/modules/profiles.js, src/renderer/store/modules/search-history.js, src/renderer/store/modules/settings.js
../../../datastores/handlers/indexsrc/renderer/store/modules/history.js, src/renderer/store/modules/playlists.js, src/renderer/store/modules/profiles.js, src/renderer/store/modules/search-history.js, src/renderer/store/modules/settings.js, src/renderer/store/modules/subscription-cache.js
../../../helpers/player/utilssrc/renderer/components/ft-shaka-video-player/player-components/AudioTrackSelection.js
../../../helpers/utilssrc/renderer/components/ft-shaka-video-player/player-components/FullWindowButton.js, src/renderer/components/ft-shaka-video-player/player-components/ScreenshotButton.js, src/renderer/components/ft-shaka-video-player/player-components/SkipButton.js, src/renderer/components/ft-shaka-video-player/player-components/StatsButton.js, src/renderer/components/ft-shaka-video-player/player-components/TheatreModeButton.js
../../../i18n/indexsrc/renderer/components/ft-shaka-video-player/player-components/AudioTrackSelection.js, src/renderer/components/ft-shaka-video-player/player-components/AutoplayToggle.js, src/renderer/components/ft-shaka-video-player/player-components/FullWindowButton.js, src/renderer/components/ft-shaka-video-player/player-components/ScreenshotButton.js, src/renderer/components/ft-shaka-video-player/player-components/SkipButton.js, src/renderer/components/ft-shaka-video-player/player-components/StatsButton.js, src/renderer/components/ft-shaka-video-player/player-components/TheatreModeButton.js
../../components/CommentSection/CommentSection.vuesrc/renderer/views/Watch/Watch.js
../../components/ft-shaka-video-player/ft-shaka-video-player.vuesrc/renderer/views/Watch/Watch.js
../../components/FtAgeRestricted/FtAgeRestricted.vuesrc/renderer/views/Watch/Watch.js
../../components/FtLoader/FtLoader.vuesrc/renderer/views/Watch/Watch.js
../../components/WatchVideoChapters/WatchVideoChapters.vuesrc/renderer/views/Watch/Watch.js
../../components/WatchVideoDescription/WatchVideoDescription.vuesrc/renderer/views/Watch/Watch.js
../../components/WatchVideoInfo/WatchVideoInfo.vuesrc/renderer/views/Watch/Watch.js
../../components/WatchVideoLiveChat/WatchVideoLiveChat.vuesrc/renderer/views/Watch/Watch.js
../../components/WatchVideoPlaylist/WatchVideoPlaylist.vuesrc/renderer/views/Watch/Watch.js
../../components/WatchVideoRecommendations/WatchVideoRecommendations.vuesrc/renderer/views/Watch/Watch.js
../../constantssrc/datastores/handlers/electron.js, src/renderer/helpers/utils.js
../../helpers/api/invidioussrc/renderer/views/Watch/Watch.js
../../helpers/api/localsrc/renderer/views/Watch/Watch.js
../../helpers/colorssrc/renderer/store/modules/profiles.js, src/renderer/views/Watch/Watch.js
../../helpers/player/SabrManifestParsersrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/views/Watch/Watch.js
../../helpers/player/SabrSchemePluginsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
../../helpers/player/utilssrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/views/Watch/Watch.js
../../helpers/playlistssrc/renderer/store/modules/playlists.js
../../helpers/utilssrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/store/modules/invidious.js, src/renderer/store/modules/player.js, src/renderer/store/modules/playlists.js, src/renderer/store/modules/profiles.js, src/renderer/store/modules/settings.js, src/renderer/store/modules/utils.js, src/renderer/views/Watch/Watch.js
../../i18n/indexsrc/renderer/helpers/player/utils.js, src/renderer/store/modules/settings.js, src/renderer/store/modules/utils.js
../../store/indexsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/helpers/api/invidious.js
../constantssrc/main/externalPlayer.js, src/main/index.js
../datastores/handlers/basesrc/main/externalPlayer.js, src/main/index.js
../helpers/utilssrc/renderer/i18n/index.js
../i18n/indexsrc/renderer/helpers/strings.js, src/renderer/helpers/utils.js
../indexsrc/datastores/handlers/base.js
../router/indexsrc/renderer/helpers/utils.js
../sponsorblocksrc/renderer/helpers/player/utils.js
../store/indexsrc/renderer/helpers/sponsorblock.js, src/renderer/helpers/subscriptions.js
../stringssrc/renderer/helpers/api/invidious.js
../utilssrc/renderer/helpers/api/invidious.js, src/renderer/helpers/api/local.js, src/renderer/helpers/player/SabrSchemePlugin.js
../views/About/About.vuesrc/renderer/router/index.js
../views/Channel/Channel.vuesrc/renderer/router/index.js
../views/Hashtag/Hashtag.vuesrc/renderer/router/index.js
../views/History/History.vuesrc/renderer/router/index.js
../views/Playlist/Playlist.vuesrc/renderer/router/index.js
../views/Popular/Popular.vuesrc/renderer/router/index.js
../views/Post.vuesrc/renderer/router/index.js
../views/ProfileSettings/ProfileSettings.vuesrc/renderer/router/index.js
../views/SearchPage/SearchPage.vuesrc/renderer/router/index.js
../views/Settings/Settings.vuesrc/renderer/router/index.js
../views/SubscribedChannels/SubscribedChannels.vuesrc/renderer/router/index.js
../views/Subscriptions/Subscriptions.vuesrc/renderer/router/index.js
../views/Trending/Trending.vuesrc/renderer/router/index.js
../views/UserPlaylists/UserPlaylists.vuesrc/renderer/router/index.js
../views/Watch/Watch.vuesrc/renderer/router/index.js
./api/invidioussrc/renderer/helpers/channels.js
./api/localsrc/renderer/helpers/channels.js
./App.vuesrc/renderer/main.js
./basesrc/datastores/handlers/web.js
./EbmlParsersrc/renderer/helpers/player/WebmSegmentIndexParser.js
./externalPlayersrc/main/index.js
./fontawesome-minimalsrc/renderer/main.js
./helpers/utilssrc/renderer/main.js
./i18n/indexsrc/renderer/main.js
./ImageCachesrc/main/index.js
./modules/historysrc/renderer/store/index.js
./modules/invidioussrc/renderer/store/index.js
./modules/playersrc/renderer/store/index.js
./modules/playlistssrc/renderer/store/index.js
./modules/profilessrc/renderer/store/index.js
./modules/search-historysrc/renderer/store/index.js
./modules/settingssrc/renderer/store/index.js
./modules/subscription-cachesrc/renderer/store/index.js
./modules/utilssrc/renderer/store/index.js
./Mp4SegmentIndexParsersrc/renderer/helpers/player/SabrManifestParser.js
./player-components/AudioTrackSelectionsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./player-components/AutoplayTogglesrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./player-components/FullWindowButtonsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./player-components/LegacyQualitySelectionsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./player-components/ScreenshotButtonsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./player-components/SkipButtonsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./player-components/StatsButtonsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./player-components/TheatreModeButtonsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js
./PlayerCachesrc/renderer/helpers/api/local.js
./poTokenGeneratorsrc/main/index.js
./router/indexsrc/renderer/main.js
./sharedsrc/renderer/helpers/api/invidious.js, src/renderer/helpers/api/local.js
./store/indexsrc/renderer/main.js
./utilssrc/main/externalPlayer.js, src/main/index.js, src/renderer/helpers/colors.js
./WebmSegmentIndexParsersrc/renderer/helpers/player/SabrManifestParser.js
@double-great/stylelint-a11ystylelint.config.mjs
@eslint/jseslint.config.mjs
@fortawesome/fontawesome-svg-core/pluginssrc/renderer/fontawesome-minimal.js
@fortawesome/fontawesome-svg-core/styles.csssrc/renderer/main.js
@fortawesome/free-brands-svg-iconssrc/renderer/main.js
@fortawesome/free-regular-svg-iconssrc/renderer/main.js
@fortawesome/free-solid-svg-iconssrc/renderer/main.js
@fortawesome/vue-fontawesomesrc/renderer/main.js
@intlify/eslint-plugin-vue-i18neslint.config.mjs
@magda/tree-kill_scripts/dev-runner.js
@seald-io/nedbsrc/datastores/index.js
@stylistic/eslint-plugineslint.config.mjs
autolinkersrc/renderer/helpers/api/invidious.js, src/renderer/helpers/api/local.js
bgutils-js/botguardsrc/botGuardScript.js
bgutils-js/utilssrc/botGuardScript.js, src/renderer/helpers/api/local.js
bgutils-js/webposrc/botGuardScript.js
child_process_scripts/dev-runner.js, src/main/index.js
crypto_scripts/sigFrameConfig.js
DB_HANDLERS_ELECTRON_RENDERER_OR_WEBsrc/datastores/handlers/index.js
dompurifysrc/renderer/directives/vSaferHtml.js
electron_scripts/dev-runner.js, src/datastores/index.js, src/main/index.js, src/main/poTokenGenerator.js
electron-builder_scripts/build.mjs
electron-context-menusrc/main/index.js
electron/renderersrc/preload/interface.js, src/preload/main.js
eslint-plugin-import-xeslint.config.mjs
eslint-plugin-jsdoceslint.config.mjs
eslint-plugin-jsonceslint.config.mjs
eslint-plugin-neslint.config.mjs
eslint-plugin-promiseeslint.config.mjs
eslint-plugin-unicorneslint.config.mjs
eslint-plugin-vueeslint.config.mjs
eslint-plugin-vuejs-accessibilityeslint.config.mjs
eslint-plugin-ymleslint.config.mjs
eslint/configeslint.config.mjs
fs_scripts/ProcessLocalesPlugin.js, _scripts/getRegions.mjs, _scripts/getShakaLocales.js, _scripts/injectAllowedPaths.mjs, _scripts/sigFrameConfig.js, _scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js, src/datastores/index.js, src/main/index.js
fs/promises_scripts/ProcessLocalesPlugin.js, _scripts/clean.mjs, _scripts/getInstances.js, src/main/index.js, src/main/poTokenGenerator.js
globalseslint.config.mjs
googlevideo/protossrc/renderer/helpers/player/SabrSchemePlugin.js
googlevideo/umpsrc/renderer/helpers/player/SabrSchemePlugin.js
googlevideo/utilssrc/renderer/helpers/player/SabrSchemePlugin.js
html-webpack-plugin_scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js
js-yaml_scripts/ProcessLocalesPlugin.js, _scripts/findMissingTemplates.mjs
mini-css-extract-plugin_scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js
minimizer-webpack-plugin_scripts/webpack.main.config.js, _scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js
node:child_processsrc/main/externalPlayer.js
node:fs_scripts/findMissingTemplates.mjs
node:fs/promisessrc/main/externalPlayer.js
node:path_scripts/findMissingTemplates.mjs, src/main/externalPlayer.js
path_scripts/ProcessLocalesPlugin.js, _scripts/clean.mjs, _scripts/dev-runner.js, _scripts/getRegions.mjs, _scripts/getShakaLocales.js, _scripts/injectAllowedPaths.mjs, _scripts/sigFrameConfig.js, _scripts/webpack.botGuardScript.config.js, _scripts/webpack.main.config.js, _scripts/webpack.preload.config.js, _scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js, src/datastores/index.js, src/main/index.js, src/main/poTokenGenerator.js
sass_scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js
shaka-playersrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/components/ft-shaka-video-player/player-components/AudioTrackSelection.js, src/renderer/components/ft-shaka-video-player/player-components/AutoplayToggle.js, src/renderer/components/ft-shaka-video-player/player-components/FullWindowButton.js, src/renderer/components/ft-shaka-video-player/player-components/LegacyQualitySelection.js, src/renderer/components/ft-shaka-video-player/player-components/ScreenshotButton.js, src/renderer/components/ft-shaka-video-player/player-components/SkipButton.js, src/renderer/components/ft-shaka-video-player/player-components/StatsButton.js, src/renderer/components/ft-shaka-video-player/player-components/TheatreModeButton.js, src/renderer/helpers/player/EbmlParser.js, src/renderer/helpers/player/Mp4SegmentIndexParser.js, src/renderer/helpers/player/SabrManifestParser.js, src/renderer/helpers/player/SabrSchemePlugin.js, src/renderer/helpers/player/WebmSegmentIndexParser.js, src/renderer/helpers/player/utils.js, src/renderer/views/Watch/Watch.js
stylelint-use-logical-specstylelint.config.mjs
swiper/elementsrc/renderer/main.js
terser_scripts/sigFrameConfig.js
util_scripts/ProcessLocalesPlugin.js, src/main/index.js
vuesrc/renderer/components/ft-card/ft-card.js, src/renderer/components/ft-flex-box/ft-flex-box.js, src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/composables/colors.js, src/renderer/helpers/utils.js, src/renderer/main.js, src/renderer/views/Watch/Watch.js
vue-eslint-parsereslint.config.mjs
vue-i18nsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js, src/renderer/composables/colors.js, src/renderer/i18n/index.js, src/renderer/views/Watch/Watch.js
vue-loader_scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js
vue-routersrc/renderer/router/index.js, src/renderer/views/Watch/Watch.js
vuexsrc/renderer/store/index.js, src/renderer/views/Watch/Watch.js
webpack_scripts/dev-runner.js, _scripts/webpack.main.config.js, _scripts/webpack.renderer.config.js, _scripts/webpack.web.config.js
webpack-dev-server_scripts/dev-runner.js
youtubei.js_scripts/getRegions.mjs, src/renderer/helpers/api/invidious.js, src/renderer/helpers/api/local.js, src/renderer/helpers/api/shared.js, src/renderer/views/Watch/Watch.js
zlib_scripts/ProcessLocalesPlugin.js, src/main/index.js

Windows and IPC

WindowwebPreferences
src/main/index.js:1022defaults
src/main/index.js:2463devTools=false

No IPC channels found.

Remote pages, data and packaging

No remote pages are loaded into app windows.

StorageHowWhere
session-storagecall:sessionStorage.setItemsrc/renderer/helpers/api/local.js:493
session-storagecall:sessionStorage.setItemsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js:1245
session-storagecall:sessionStorage.setItemsrc/renderer/store/modules/settings.js:401
session-storagecall:sessionStorage.getItemsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js:2781
session-storagecall:sessionStorage.setItemsrc/renderer/store/modules/settings.js:402
cache-storagecall:thenstatic/pwabuilder-sw.js:140
session-storagecall:sessionStorage.getItemsrc/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js:1237
session-storagecall:sessionStorage.setItemsrc/renderer/store/modules/settings.js:403

No packaged executable was found, so Electron fuses were not read.

README badge

Maintainers can show this report in their README:

[![App X-Ray](https://Eliot5566.github.io/app-xray/apps/freetube/badge.svg)](https://Eliot5566.github.io/app-xray/apps/freetube/)

What this report cannot see