Compare commits

..

No commits in common. "master" and "v1.0.4" have entirely different histories.

38 changed files with 707 additions and 34 deletions

125
README.md
View File

@ -1,3 +1,126 @@
# 盒子助手Docker版
https://github.com/wukongdaily/tvhelper-docker
## 🤔 这是什么?
该项目可以让你使用电脑、NAS等一切能运行docker的设备变成盒子的ADB安装助手。让你的盒子用起来更加得心应手。<br>
另外【OpenWrt版本盒子助手命令行】可以[点击这里直达](https://github.com/wukongdaily/tvhelper)
## 💡 特色功能
- 💻 支持`一键修改安卓原生电视盒子/TV的NTP服务器地址`
- 💻 支持`SSH连接 且容器内ADB服务均已准备就绪,无需额外安装`
- 🔑 支持`安装装机必备app 尤其是文件管理器和三方市场、图标等`
- 🌏 支持`一键批量安装主机上指定目录的全部apk`
- 🐋 支持`Docker compose和 docker cli`一键部署
- 📕 支持`为国行Sony电视安装时下流行的流媒体应用`
- ❓ 兼容`ARMv7/ARM64/x86_64 双平台设备
- ❓ 其他功能和特点会持续迭代
- MacOS(Apple芯片/Intel芯片)✅
- Windows 10/11 ✅
- Linux发行版 ✅
- NAS系统群晖、威联通等
- 软路由iStoreOS/OpenWrt ✅
## 🚀 快速上手
### 1. 安装`Docker`和`Docker compose`
- `Docker`安装教程:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/)
- `Docker compose`安装教程:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)
- `个人普通电脑`安装教程https://docs.docker.com/get-docker/
- `docker镜像主页` https://hub.docker.com/repository/docker/wukongdaily/box/tags
### 2. 下载image
```bash
docker pull wukongdaily/box:latest
```
### 3. 容器系统默认账号密码或环境变量
- 容器内运行的就是alpine linux系统。
- ssh用户名和密码分别是`root`和`password`
- 推荐ssh端口映射到主机端口为2299。<br>
> 调用形式举例
`ssh root@宿主机ip地址 -p 2299`
> SSH常见错误举例和新手指南详见
https://github.com/wukongdaily/HowToUseSSH <br>
- 容器内的环境变量
- `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/android-sdk/platform-tools`
### 4. 运行
- Windows电脑使用-CMD写法,注意不是powershell 且注意💡续行符^后不能有空格。数据目录默认映射到 【我的文档】
```bash
docker run -d ^
--restart unless-stopped ^
--name tvhelper ^
-p 2299:22 ^
-v "%USERPROFILE%\Documents\tvhelper_data:/tvhelper/shells/data" ^
-e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/android-sdk/platform-tools ^
wukongdaily/box:latest
```
- Linux 使用下列命令,数据目录默认映射到linux的`/tmp/upload/`下
```bash
docker run -d \
--restart unless-stopped \
--name tvhelper \
-p 2299:22 \
-v "/tmp/upload/tvhelper_data:/tvhelper/shells/data" \
-e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/android-sdk/platform-tools \
wukongdaily/box:latest
```
- macOS苹果电脑写法,数据目录默认映射到mac电脑文稿目录下
```bash
docker run -d \
--restart unless-stopped \
--name tvhelper \
-p 2299:22 \
-v "$HOME/Documents/tvhelper_data:/tvhelper/shells/data" \
-e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/android-sdk/platform-tools \
wukongdaily/box:latest
```
- UNRAID 写法,注意容器内的data目录默认映射到 /mnt/user/appdata/,你可以适当修改成别的空间的路径。
```bash
docker run -d \
--name='tvhelper' \
--net='bridge' \
-e HOST_OS="Unraid" \
-e HOST_HOSTNAME="unraid" \
-e HOST_CONTAINERNAME="tvhelper" \
-e 'PATH'='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/android-sdk/platform-tools' \
-l net.unraid.docker.managed=dockerman \
-p '2299:22/tcp' \
-v '/mnt/user/appdata/':'/tvhelper/shells/data':'rw' 'wukongdaily/box'
```
### 5. 如何导入本地镜像tar
- 离线包https://pan.baidu.com/share/init?surl=lWsaAtuAcwaO_9DtJo0hnA&pwd=1111
#### Windows 举例
```bash
docker load < "%USERPROFILE%\Documents\tvhelper-amd64.tar"
```
#### Linux/OpenWrt 举例
```bash
docker load < /mnt/sata1.3-1/myboxarm.tar
```
### 辅助视频教程⬇️
[在线教学视频 长视频](https://youtu.be/xAk-3TxeXxQ)
## 🗂️ 引用项目
本项目的开发参照了以下项目,感谢这些开源项目的作者:
### my-tv
https://github.com/lizongying/my-tv
### BBLL
https://github.com/xiaye13579/BBLL
### TVBox
https://github.com/takagen99/Box

BIN
apks/File_Manager_Plus.apk Executable file

Binary file not shown.

BIN
apks/TVBox.apk Normal file

Binary file not shown.

20
apks/TVBox.json Normal file
View File

@ -0,0 +1,20 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.github.tvbox.osc.wk",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 1,
"versionName": "编译时间:2024-02-28 11:55",
"outputFile": "app-release.apk"
}
],
"elementType": "File"
}

BIN
apks/bbll.apk Normal file

Binary file not shown.

BIN
apks/dangbeimarket.apk Normal file

Binary file not shown.

BIN
apks/downloader.apk Normal file

Binary file not shown.

BIN
apks/emotn.apk Normal file

Binary file not shown.

BIN
apks/mix.xapk Normal file

Binary file not shown.

BIN
apks/mytv.apk Normal file

Binary file not shown.

BIN
apks/play-icon.apk Normal file

Binary file not shown.

BIN
apks/subhelp14.apk Normal file

Binary file not shown.

BIN
apks/ui.apk Normal file

Binary file not shown.

BIN
apks/youtube.apk Normal file

Binary file not shown.

530
kodi/guisettings.xml Executable file
View File

@ -0,0 +1,530 @@
<settings version="2">
<setting id="gamesgeneral.enable" default="true">true</setting>
<setting id="gamesgeneral.showosdhelp" default="true">true</setting>
<setting id="gamesgeneral.enableautosave" default="true">true</setting>
<setting id="gamesgeneral.enablerewind" default="true">true</setting>
<setting id="gamesgeneral.rewindtime" default="true">60</setting>
<setting id="gamesachievements.username" default="true" />
<setting id="gamesachievements.password" default="true" />
<setting id="gamesachievements.token" default="true" />
<setting id="gamesachievements.loggedin" default="true">false</setting>
<setting id="lookandfeel.skin" default="true">skin.estuary</setting>
<setting id="lookandfeel.skintheme" default="true">SKINDEFAULT</setting>
<setting id="lookandfeel.skincolors" default="true">SKINDEFAULT</setting>
<setting id="lookandfeel.font">Arial</setting>
<setting id="lookandfeel.skinzoom" default="true">0</setting>
<setting id="lookandfeel.stereostrength" default="true">5</setting>
<setting id="lookandfeel.enablerssfeeds" default="true">false</setting>
<setting id="lookandfeel.rssedit" default="true" />
<setting id="locale.language">resource.language.zh_cn</setting>
<setting id="locale.charset" default="true">DEFAULT</setting>
<setting id="locale.keyboardlayouts" default="true">English QWERTY</setting>
<setting id="locale.activekeyboardlayout" default="true">English QWERTY</setting>
<setting id="locale.country" default="true">USA (12h)</setting>
<setting id="locale.timezonecountry" default="true">default</setting>
<setting id="locale.timezone" default="true">default</setting>
<setting id="locale.shortdateformat" default="true">regional</setting>
<setting id="locale.longdateformat" default="true">regional</setting>
<setting id="locale.timeformat" default="true">regional</setting>
<setting id="locale.use24hourclock" default="true">regional</setting>
<setting id="locale.temperatureunit" default="true">regional</setting>
<setting id="locale.speedunit" default="true">regional</setting>
<setting id="screensaver.mode" default="true" />
<setting id="screensaver.time" default="true">3</setting>
<setting id="screensaver.usemusicvisinstead" default="true">true</setting>
<setting id="screensaver.usedimonpause" default="true">true</setting>
<setting id="masterlock.startuplock" default="true">false</setting>
<setting id="masterlock.maxretries" default="true">3</setting>
<setting id="lookandfeel.startupaction" default="true">0</setting>
<setting id="lookandfeel.startupwindow" default="true">10000</setting>
<setting id="window.width" default="true">720</setting>
<setting id="window.height" default="true">480</setting>
<setting id="videolibrary.updateonstartup" default="true">false</setting>
<setting id="videolibrary.backgroundupdate" default="true">false</setting>
<setting id="musiclibrary.updateonstartup" default="true">false</setting>
<setting id="musiclibrary.backgroundupdate" default="true">false</setting>
<setting id="musiclibrary.exportfiletype" default="true">0</setting>
<setting id="musiclibrary.exportfolder" default="true" />
<setting id="musiclibrary.exportitems" default="true">48</setting>
<setting id="musiclibrary.exportunscraped" default="true">false</setting>
<setting id="musiclibrary.exportoverwrite" default="true">false</setting>
<setting id="musiclibrary.exportartwork" default="true">false</setting>
<setting id="musiclibrary.exportskipnfo" default="true">false</setting>
<setting id="filelists.showparentdiritems" default="true">true</setting>
<setting id="filelists.ignorethewhensorting" default="true">true</setting>
<setting id="filelists.showextensions" default="true">true</setting>
<setting id="filelists.showaddsourcebuttons" default="true">true</setting>
<setting id="filelists.showhidden" default="true">false</setting>
<setting id="filelists.allowfiledeletion" default="true">false</setting>
<setting id="myvideos.selectaction" default="true">1</setting>
<setting id="myvideos.usetags" default="true">false</setting>
<setting id="myvideos.extractflags" default="true">true</setting>
<setting id="myvideos.extractchapterthumbs" default="true">true</setting>
<setting id="myvideos.stackvideos" default="true">false</setting>
<setting id="myvideos.replacelabels" default="true">true</setting>
<setting id="videolibrary.showallitems" default="true">true</setting>
<setting id="videolibrary.showunwatchedplots" default="true">0,1,2</setting>
<setting id="videolibrary.groupmoviesets" default="true">false</setting>
<setting id="videolibrary.groupsingleitemsets" default="true">false</setting>
<setting id="myvideos.flatten" default="true">false</setting>
<setting id="videolibrary.flattentvshows" default="true">1</setting>
<setting id="videolibrary.showemptytvshows" default="true">true</setting>
<setting id="videolibrary.tvshowsselectfirstunwatcheditem" default="true">0</setting>
<setting id="videolibrary.tvshowsincludeallseasonsandspecials" default="true">0</setting>
<setting id="videolibrary.moviesetsfolder" default="true" />
<setting id="videolibrary.musicvideosallperformers" default="true">true</setting>
<setting id="videolibrary.artsettingsupdated" default="true">false</setting>
<setting id="videolibrary.artworklevel" default="true">0</setting>
<setting id="videolibrary.movieartwhitelist" default="true" />
<setting id="videolibrary.tvshowartwhitelist" default="true" />
<setting id="videolibrary.episodeartwhitelist" default="true" />
<setting id="videolibrary.musicvideoartwhitelist" default="true" />
<setting id="videolibrary.actorthumbs" default="true">true</setting>
<setting id="myvideos.extractthumb" default="true">true</setting>
<setting id="musiclibrary.showallitems" default="true">true</setting>
<setting id="musiclibrary.showcompilationartists" default="true">true</setting>
<setting id="musiclibrary.showdiscs" default="true">true</setting>
<setting id="musiclibrary.useartistsortname" default="true">false</setting>
<setting id="musiclibrary.useoriginaldate" default="true">false</setting>
<setting id="musiclibrary.downloadinfo" default="true">false</setting>
<setting id="musiclibrary.artistsfolder" default="true" />
<setting id="musiclibrary.albumsscraper" default="true">metadata.generic.albums</setting>
<setting id="musiclibrary.artistsscraper" default="true">metadata.generic.artists</setting>
<setting id="musiclibrary.overridetags" default="true">false</setting>
<setting id="musiclibrary.artsettings" default="true">false</setting>
<setting id="musiclibrary.artworklevel" default="true">0</setting>
<setting id="musiclibrary.usealllocalart" default="true">false</setting>
<setting id="musiclibrary.useallremoteart" default="true">false</setting>
<setting id="musiclibrary.artistartwhitelist" default="true" />
<setting id="musiclibrary.albumartwhitelist" default="true" />
<setting id="musiclibrary.musicthumbs" default="true">folder.jpg, cover.jpg, cover.jpeg, thumb.jpg</setting>
<setting id="musiclibrary.preferonlinealbumart" default="true">false</setting>
<setting id="musicfiles.selectaction" default="true">false</setting>
<setting id="musicfiles.trackformat" default="true">[%N. ]%A - %T</setting>
<setting id="musicfiles.nowplayingtrackformat" default="true" />
<setting id="musicfiles.librarytrackformat" default="true" />
<setting id="musicfiles.findremotethumbs" default="true">true</setting>
<setting id="musicfiles.usetags" default="true">true</setting>
<setting id="mymusic.songthumbinvis" default="true">false</setting>
<setting id="mymusic.defaultlibview" default="true" />
<setting id="pictures.usetags" default="true">true</setting>
<setting id="pictures.generatethumbs" default="true">true</setting>
<setting id="pictures.showvideos" default="true">true</setting>
<setting id="pictures.displayresolution" default="true">14</setting>
<setting id="scrapers.moviesdefault" default="true">metadata.themoviedb.org.python</setting>
<setting id="scrapers.tvshowsdefault" default="true">metadata.tvshows.themoviedb.org.python</setting>
<setting id="scrapers.musicvideosdefault" default="true">metadata.local</setting>
<setting id="videoplayer.autoplaynextitem" default="true" />
<setting id="videoplayer.seeksteps" default="true">-600,-300,-180,-60,-30,-10,10,30,60,180,300,600</setting>
<setting id="videoplayer.seekdelay" default="true">750</setting>
<setting id="videoplayer.adjustrefreshrate" default="true">0</setting>
<setting id="videoplayer.usedisplayasclock" default="true">false</setting>
<setting id="videoplayer.errorinaspect" default="true">0</setting>
<setting id="videoplayer.stretch43" default="true">0</setting>
<setting id="videoplayer.rendermethod" default="true">0</setting>
<setting id="videoplayer.hqscalers" default="true">20</setting>
<setting id="videoplayer.usemediacodecsurface" default="true">true</setting>
<setting id="videoplayer.usemediacodec" default="true">true</setting>
<setting id="videoplayer.usedxva2" default="true">true</setting>
<setting id="videoplayer.usevtb" default="true">true</setting>
<setting id="winsystem.ishdrdisplay" default="true">true</setting>
<setting id="videoplayer.stereoscopicplaybackmode" default="true">0</setting>
<setting id="videoplayer.quitstereomodeonstop" default="true">true</setting>
<setting id="videoplayer.teletextenabled" default="true">true</setting>
<setting id="videoplayer.teletextscale" default="true">true</setting>
<setting id="musicplayer.autoplaynextitem" default="true">true</setting>
<setting id="musicplayer.queuebydefault" default="true">false</setting>
<setting id="musicplayer.seeksteps" default="true">-60,-30,-10,10,30,60</setting>
<setting id="musicplayer.seekdelay" default="true">750</setting>
<setting id="musicplayer.crossfade" default="true">0</setting>
<setting id="musicplayer.crossfadealbumtracks" default="true">true</setting>
<setting id="musicplayer.visualisation" default="true" />
<setting id="musicplayer.replaygaintype" default="true">1</setting>
<setting id="musicplayer.replaygainpreamp" default="true">89</setting>
<setting id="musicplayer.replaygainnogainpreamp" default="true">89</setting>
<setting id="musicplayer.replaygainavoidclipping" default="true">false</setting>
<setting id="dvds.autorun" default="true">false</setting>
<setting id="dvds.playerregion" default="true">0</setting>
<setting id="dvds.automenu" default="true">false</setting>
<setting id="bluray.playerregion" default="true">1</setting>
<setting id="disc.playback" default="true">0</setting>
<setting id="audiocds.autoaction" default="true">0</setting>
<setting id="audiocds.usecddb" default="true">true</setting>
<setting id="audiocds.recordingpath" default="true" />
<setting id="audiocds.trackpathformat" default="true">%A/%A - %B/[%N. ][%A - ]%T</setting>
<setting id="audiocds.encoder" default="true">audioencoder.kodi.builtin.aac</setting>
<setting id="audiocds.ejectonrip" default="true">true</setting>
<setting id="slideshow.staytime" default="true">5</setting>
<setting id="slideshow.displayeffects" default="true">true</setting>
<setting id="slideshow.shuffle" default="true">false</setting>
<setting id="slideshow.highqualitydownscaling" default="true">false</setting>
<setting id="locale.audiolanguage" default="true">mediadefault</setting>
<setting id="videoplayer.preferdefaultflag" default="true">true</setting>
<setting id="locale.subtitlelanguage" default="true">original</setting>
<setting id="accessibility.audiovisual" default="true">false</setting>
<setting id="accessibility.audiohearing" default="true">false</setting>
<setting id="accessibility.subhearing" default="true">false</setting>
<setting id="subtitles.align" default="true">2</setting>
<setting id="subtitles.fontname" default="true">DEFAULT</setting>
<setting id="subtitles.fontsize" default="true">42</setting>
<setting id="subtitles.style" default="true">0</setting>
<setting id="subtitles.colorpick" default="true">FFFFFFFF</setting>
<setting id="subtitles.opacity" default="true">100</setting>
<setting id="subtitles.bordersize" default="true">25</setting>
<setting id="subtitles.bordercolorpick" default="true">FF000000</setting>
<setting id="subtitles.blur" default="true">0</setting>
<setting id="subtitles.backgroundtype" default="true">0</setting>
<setting id="subtitles.bgcolorpick" default="true">FF000000</setting>
<setting id="subtitles.bgopacity" default="true">80</setting>
<setting id="subtitles.shadowcolor" default="true">FF000000</setting>
<setting id="subtitles.shadowopacity" default="true">100</setting>
<setting id="subtitles.shadowsize" default="true">15</setting>
<setting id="subtitles.marginvertical" default="true">4.95</setting>
<setting id="subtitles.overridefonts" default="true">false</setting>
<setting id="subtitles.overridestyles" default="true">0</setting>
<setting id="subtitles.stereoscopicdepth" default="true">0</setting>
<setting id="subtitles.charset" default="true">DEFAULT</setting>
<setting id="subtitles.parsecaptions" default="true">false</setting>
<setting id="subtitles.captionsalign" default="true">0</setting>
<setting id="subtitles.languages" default="true">English</setting>
<setting id="subtitles.storagemode" default="true">0</setting>
<setting id="subtitles.custompath" default="true" />
<setting id="subtitles.pauseonsearch" default="true">true</setting>
<setting id="subtitles.downloadfirst" default="true">false</setting>
<setting id="subtitles.tv" default="true" />
<setting id="subtitles.movie" default="true" />
<setting id="pvrmanager.syncchannelgroups" default="true">true</setting>
<setting id="pvrmanager.backendchannelorder" default="true">true</setting>
<setting id="pvrmanager.usebackendchannelnumbersalways" default="true">false</setting>
<setting id="pvrmanager.usebackendchannelnumbers" default="true">false</setting>
<setting id="pvrmanager.startgroupchannelnumbersfromone" default="true">false</setting>
<setting id="pvrmenu.iconpath" default="true" />
<setting id="epg.pastdaystodisplay" default="true">1</setting>
<setting id="epg.futuredaystodisplay" default="true">3</setting>
<setting id="epg.selectaction" default="true">2</setting>
<setting id="epg.hidenoinfoavailable" default="true">true</setting>
<setting id="epg.epgupdate" default="true">120</setting>
<setting id="epg.preventupdateswhileplayingtv" default="true">false</setting>
<setting id="pvrplayback.switchtofullscreenchanneltypes" default="true">3</setting>
<setting id="pvrmanager.preselectplayingchannel" default="true">false</setting>
<setting id="pvrmenu.displaychannelinfo" default="true">5</setting>
<setting id="pvrmenu.closechannelosdonswitch" default="true">true</setting>
<setting id="pvrplayback.confirmchannelswitch" default="true">true</setting>
<setting id="pvrplayback.channelentrytimeout" default="true">0</setting>
<setting id="pvrplayback.delaymarklastwatched" default="true">0</setting>
<setting id="pvrplayback.signalquality" default="true">true</setting>
<setting id="pvrplayback.fps" default="true">0</setting>
<setting id="pvrplayback.enableradiords" default="true">true</setting>
<setting id="pvrplayback.trafficadvisory" default="true">false</setting>
<setting id="pvrplayback.trafficadvisoryvolume" default="true">10</setting>
<setting id="pvrrecord.instantrecordaction" default="true">0</setting>
<setting id="pvrrecord.instantrecordtime" default="true">120</setting>
<setting id="pvrrecord.marginstart" default="true">0</setting>
<setting id="pvrrecord.marginend" default="true">0</setting>
<setting id="pvrrecord.timernotifications" default="true">true</setting>
<setting id="pvrrecord.grouprecordings" default="true">true</setting>
<setting id="pvrreminders.autoclosedelay" default="true">10</setting>
<setting id="pvrreminders.autorecord" default="true">true</setting>
<setting id="pvrreminders.autoswitch" default="true">false</setting>
<setting id="pvrpowermanagement.enabled" default="true">false</setting>
<setting id="pvrpowermanagement.backendidletime" default="true">15</setting>
<setting id="pvrpowermanagement.setwakeupcmd" default="true" />
<setting id="pvrpowermanagement.prewakeup" default="true">15</setting>
<setting id="pvrpowermanagement.dailywakeup" default="true">false</setting>
<setting id="pvrpowermanagement.dailywakeuptime" default="true">00:00:00</setting>
<setting id="pvrparental.enabled" default="true">false</setting>
<setting id="pvrparental.pin" default="true" />
<setting id="pvrparental.duration" default="true">300</setting>
<setting id="pvrtimers.hidedisabledtimers" default="true">false</setting>
<setting id="services.devicename" default="true">Kodi</setting>
<setting id="services.zeroconf" default="true">true</setting>
<setting id="services.deviceuuid">575bde14-911b-484b-9764-35c6d3f86f03</setting>
<setting id="services.webserver" default="true">false</setting>
<setting id="services.webserverport" default="true">8080</setting>
<setting id="services.webserverauthentication" default="true">true</setting>
<setting id="services.webserverusername" default="true">kodi</setting>
<setting id="services.webserverpassword" default="true" />
<setting id="services.webserverssl" default="true">false</setting>
<setting id="services.webskin" default="true">webinterface.default</setting>
<setting id="services.esenabled" default="true">true</setting>
<setting id="services.esport" default="true">9777</setting>
<setting id="services.esportrange" default="true">10</setting>
<setting id="services.esmaxclients" default="true">20</setting>
<setting id="services.esallinterfaces" default="true">false</setting>
<setting id="services.esinitialdelay" default="true">750</setting>
<setting id="services.escontinuousdelay" default="true">25</setting>
<setting id="services.upnp" default="true">false</setting>
<setting id="services.upnpserver" default="true">false</setting>
<setting id="services.upnpannounce" default="true">true</setting>
<setting id="services.upnplookforexternalsubtitles" default="true">false</setting>
<setting id="services.upnpcontroller" default="true">false</setting>
<setting id="services.upnprenderer" default="true">false</setting>
<setting id="services.airplay" default="true">false</setting>
<setting id="services.airplayvolumecontrol" default="true">true</setting>
<setting id="services.airplayvideosupport" default="true">false</setting>
<setting id="services.useairplaypassword" default="true">false</setting>
<setting id="services.airplaypassword" default="true" />
<setting id="smb.workgroup" default="true">WORKGROUP</setting>
<setting id="smb.winsserver" default="true">0.0.0.0</setting>
<setting id="smb.minprotocol" default="true">0</setting>
<setting id="smb.maxprotocol" default="true">3</setting>
<setting id="smb.legacysecurity" default="true">false</setting>
<setting id="services.wsdiscovery" default="true">true</setting>
<setting id="nfs.version" default="true">3</setting>
<setting id="weather.currentlocation" default="true">1</setting>
<setting id="weather.addon" default="true" />
<setting id="videoscreen.monitor" default="true">Default</setting>
<setting id="videoscreen.screen" default="true">0</setting>
<setting id="videoscreen.resolution">17</setting>
<setting id="videoscreen.screenmode" default="true">DESKTOP</setting>
<setting id="videoscreen.fakefullscreen" default="true">true</setting>
<setting id="videoscreen.blankdisplays" default="true">false</setting>
<setting id="videoscreen.delayrefreshchange" default="true">0</setting>
<setting id="videoscreen.guisdrpeakluminance" default="true">60</setting>
<setting id="videoscreen.10bitsurfaces" default="true">0</setting>
<setting id="videoscreen.dither" default="true">false</setting>
<setting id="videoscreen.ditherdepth" default="true">8</setting>
<setting id="videoscreen.cmsenabled" default="true">false</setting>
<setting id="videoscreen.cmsmode" default="true">0</setting>
<setting id="videoscreen.cms3dlut" default="true" />
<setting id="videoscreen.displayprofile" default="true" />
<setting id="videoscreen.cmswhitepoint" default="true">0</setting>
<setting id="videoscreen.cmsprimaries" default="true">0</setting>
<setting id="videoscreen.cmsgammamode" default="true">0</setting>
<setting id="videoscreen.cmsgamma" default="true">220</setting>
<setting id="videoscreen.cmslutsize" default="true">6</setting>
<setting id="videoscreen.limitgui" default="true">0</setting>
<setting id="videoscreen.whitelist" default="true" />
<setting id="videoscreen.whitelistpulldown" default="true">false</setting>
<setting id="videoscreen.whitelistdoublerefreshrate" default="true">false</setting>
<setting id="videoscreen.stereoscopicmode" default="true">0</setting>
<setting id="videoscreen.preferedstereoscopicmode" default="true">100</setting>
<setting id="videoscreen.noofbuffers" default="true">3</setting>
<setting id="audiooutput.audiodevice">AUDIOTRACK:AudioTrack (IEC)</setting>
<setting id="audiooutput.channels" default="true">1</setting>
<setting id="audiooutput.config" default="true">2</setting>
<setting id="audiooutput.volumesteps" default="true">90</setting>
<setting id="audiooutput.maintainoriginalvolume" default="true">true</setting>
<setting id="audiooutput.stereoupmix" default="true">false</setting>
<setting id="audiooutput.processquality" default="true">30</setting>
<setting id="audiooutput.atempothreshold" default="true">2</setting>
<setting id="audiooutput.samplerate" default="true">48000</setting>
<setting id="audiooutput.streamsilence" default="true">1</setting>
<setting id="audiooutput.streamnoise" default="true">true</setting>
<setting id="audiooutput.guisoundmode" default="true">1</setting>
<setting id="audiooutput.guisoundvolume" default="true">100</setting>
<setting id="lookandfeel.soundskin" default="true">resource.uisounds.kodi</setting>
<setting id="audiooutput.passthrough" default="true">false</setting>
<setting id="audiooutput.passthroughdevice">AUDIOTRACK:AudioTrack (IEC)</setting>
<setting id="audiooutput.ac3passthrough" default="true">true</setting>
<setting id="audiooutput.ac3transcode" default="true">false</setting>
<setting id="audiooutput.eac3passthrough" default="true">false</setting>
<setting id="audiooutput.dtspassthrough" default="true">false</setting>
<setting id="audiooutput.truehdpassthrough" default="true">false</setting>
<setting id="audiooutput.dtshdpassthrough" default="true">false</setting>
<setting id="audiooutput.dtshdcorefallback" default="true">true</setting>
<setting id="input.enablemouse" default="true">true</setting>
<setting id="input.enablejoystick" default="true">true</setting>
<setting id="input.asknewcontrollers" default="true">true</setting>
<setting id="input.rumblenotify" default="true">false</setting>
<setting id="input.controllerpoweroff" default="true">false</setting>
<setting id="network.usehttpproxy" default="true">false</setting>
<setting id="network.httpproxytype" default="true">0</setting>
<setting id="network.httpproxyserver" default="true" />
<setting id="network.httpproxyport" default="true">8080</setting>
<setting id="network.httpproxyusername" default="true" />
<setting id="network.httpproxypassword" default="true" />
<setting id="network.bandwidth" default="true">0</setting>
<setting id="powermanagement.displaysoff" default="true">0</setting>
<setting id="powermanagement.shutdowntime" default="true">0</setting>
<setting id="powermanagement.shutdownstate" default="true">0</setting>
<setting id="powermanagement.waitfornetwork" default="true">0</setting>
<setting id="powermanagement.wakeonaccess" default="true">false</setting>
<setting id="general.addonupdates" default="true">0</setting>
<setting id="general.addonnotifications" default="true">false</setting>
<setting id="addons.unknownsources" default="true">false</setting>
<setting id="addons.updatemode" default="true">0</setting>
<setting id="debug.showloginfo" default="true">false</setting>
<setting id="debug.extralogging" default="true">false</setting>
<setting id="debug.setextraloglevel" default="true" />
<setting id="debug.screenshotpath" default="true" />
<setting id="eventlog.enabled" default="true">true</setting>
<setting id="eventlog.enablednotifications" default="true">false</setting>
<setting id="cache.harddisk" default="true">256</setting>
<setting id="cachevideo.dvdrom" default="true">2048</setting>
<setting id="cachevideo.lan" default="true">2048</setting>
<setting id="cachevideo.internet" default="true">4096</setting>
<setting id="cacheaudio.dvdrom" default="true">256</setting>
<setting id="cacheaudio.lan" default="true">256</setting>
<setting id="cacheaudio.internet" default="true">256</setting>
<setting id="cachedvd.dvdrom" default="true">2048</setting>
<setting id="cachedvd.lan" default="true">2048</setting>
<setting id="cacheunknown.internet" default="true">4096</setting>
<setting id="system.playlistspath">special://profile/playlists/</setting>
<setting id="general.addonforeignfilter" default="true">false</setting>
<setting id="general.addonbrokenfilter" default="true">true</setting>
<viewstates>
<games>
<viewmode>720896</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</games>
<musicfiles>
<viewmode>720896</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</musicfiles>
<musiclastfm>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</musiclastfm>
<musicnavalbums>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</musicnavalbums>
<musicnavartists>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</musicnavartists>
<musicnavsongs>
<viewmode>65536</viewmode>
<sortmethod>8</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</musicnavsongs>
<pictures>
<viewmode>720896</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</pictures>
<programs>
<viewmode>720896</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</programs>
<videofiles>
<viewmode>720896</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videofiles>
<videonavactors>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavactors>
<videonavepisodes>
<viewmode>720896</viewmode>
<sortmethod>23</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavepisodes>
<videonavgenres>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavgenres>
<videonavmusicvideos>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavmusicvideos>
<videonavseasons>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavseasons>
<videonavtitles>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavtitles>
<videonavtvshows>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavtvshows>
<videonavyears>
<viewmode>65536</viewmode>
<sortmethod>1</sortmethod>
<sortorder>1</sortorder>
<sortattributes>0</sortattributes>
</videonavyears>
</viewstates>
<general>
<settinglevel>1</settinglevel>
<eventlog>
<level>0</level>
<showhigherlevels>true</showhigherlevels>
</eventlog>
<systemtotaluptime>1</systemtotaluptime>
</general>
<resolutions />
<defaultvideosettings>
<interlacemethod>1</interlacemethod>
<scalingmethod>1</scalingmethod>
<noisereduction>0.000000</noisereduction>
<postprocess>false</postprocess>
<sharpness>0.000000</sharpness>
<viewmode>0</viewmode>
<zoomamount>1.000000</zoomamount>
<pixelratio>1.000000</pixelratio>
<verticalshift>0.000000</verticalshift>
<volumeamplification>0.000000</volumeamplification>
<showsubtitles>true</showsubtitles>
<brightness>50.000000</brightness>
<contrast>50.000000</contrast>
<gamma>20.000000</gamma>
<audiodelay>0.000000</audiodelay>
<subtitledelay>0.000000</subtitledelay>
<nonlinstretch>false</nonlinstretch>
<stereomode>0</stereomode>
<centermixlevel>0</centermixlevel>
<tonemapmethod>1</tonemapmethod>
<tonemapparam>1.000000</tonemapparam>
</defaultvideosettings>
<defaultaudiosettings />
<defaultgamesettings>
<videofilter></videofilter>
<stretchmode>normal</stretchmode>
<rotation>0</rotation>
</defaultgamesettings>
<mymusic>
<playlist>
<repeat>false</repeat>
<shuffle>false</shuffle>
</playlist>
<needsupdate>0</needsupdate>
</mymusic>
<myvideos>
<watchmodemovies>0</watchmodemovies>
<watchmodetvshows>0</watchmodetvshows>
<watchmodemusicvideos>0</watchmodemusicvideos>
<watchmoderecordings>0</watchmoderecordings>
<playlist>
<repeat>false</repeat>
<shuffle>false</shuffle>
</playlist>
<needsupdate>0</needsupdate>
</myvideos>
<audio>
<mute>false</mute>
<fvolumelevel>1.000000</fvolumelevel>
</audio>
</settings>

BIN
kodi/kodi.apk Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
#!/bin/bash
# wget -O box.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/box.sh && chmod +x box.sh && ./box.sh
# wget -O box.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/box.sh && chmod +x box.sh && ./box.sh
#********************************************************
source common.sh
apk_path="/tvhelper/apks/"
@ -150,14 +150,14 @@ install_tvbox() {
menu_options=(
"连接ADB"
"断开ADB"
"安装TVBox(编译时间:2024-06-28)"
"安装TVBox(编译时间:2024-02-28)"
"赞助|打赏"
)
commands=(
["连接ADB"]="connect_adb"
["断开ADB"]="disconnect_adb"
["安装TVBox(编译时间:2024-06-28)"]="install_tvbox"
["安装TVBox(编译时间:2024-02-28)"]="install_tvbox"
["赞助|打赏"]="sponsor"
)

View File

@ -10,6 +10,8 @@ BLUE="\e[96m"
sponsor() {
echo
echo -e "${GREEN}悟空的赞赏码如下⬇${BLUE}"
echo -e "${BLUE} https://wkdaily.cpolar.top/01 ${NC}"
echo -e "${BLUE} https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/image.jpg${NC}"
echo
qrencode -t ANSIUTF8 'https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/image.jpg'
echo
}

BIN
shells/image.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,5 +1,5 @@
#!/bin/bash
# wget -O kodi.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/kodi.sh && chmod +x kodi.sh && ./kodi.sh
# wget -O kodi.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/kodi.sh && chmod +x kodi.sh && ./kodi.sh
#********************************************************
source common.sh

View File

@ -1,5 +1,5 @@
#!/bin/bash
# wget -O sony.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/sony.sh && chmod +x sony.sh && ./sony.sh
# wget -O sony.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/sony.sh && chmod +x sony.sh && ./sony.sh
#********************************************************
source common.sh
# 定义红色文本
@ -259,7 +259,7 @@ menu_options=(
"安装Netflix最新版"
"安装Apple TV+最新版"
"安装Disney+最新版"
"安装HBO MAX最新版"
"安装HBO GO最新版"
"安装myTVSuper最新版"
"安装Youtube-FireTV版"
"赞助|打赏"
@ -271,7 +271,7 @@ commands=(
["安装Netflix最新版"]="install_netflix"
["安装Disney+最新版"]="install_disney"
["安装Youtube-FireTV版"]="install_youtube"
["安装HBO MAX最新版"]="install_hbogo"
["安装HBO GO最新版"]="install_hbogo"
["安装Apple TV+最新版"]="install_appletv"
["安装myTVSuper最新版"]="install_mytvsuper"
["赞助|打赏"]="sponsor"

View File

@ -1,5 +1,5 @@
#!/bin/bash
# wget -O tv.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/tv.sh && chmod +x tv.sh && ./tv.sh
# wget -O tv.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/tv.sh && chmod +x tv.sh && ./tv.sh
source common.sh
apk_path="/tvhelper/apks/"
# 定义红色文本
@ -20,13 +20,19 @@ declare -A commands_essentials
declare -a tv_model_options
declare -A tv_model_commands
# 设置全局命令 p
cp -f "$0" /usr/local/bin/t
chmod +x /usr/local/bin/t
get_docker_version() {
VERSION=$(grep -E '^VERSION=' /etc/environment | cut -d '=' -f2)
echo $VERSION
# 尝试从 /etc/environment 读取 APP_VERSION
if [ -f /etc/environment ]; then
source /etc/environment
fi
if [ -n "$APP_VERSION" ]; then
version=$APP_VERSION
else
# 若 /etc/environment 中的 APP_VERSION 为空,使用默认值
version="1.0.2"
fi
echo $version
}
# 使用get_docker_version函数
@ -398,12 +404,6 @@ install_dbmarket() {
install_apk "${apk_path}dangbeimarket.apk" "com.dangbeimarket"
}
# 安装沙发管家
install_shafa() {
echo -e "${BLUE}安装过程若出现弹框,请点击详情后选择【仍然安装】即可${NC}"
install_apk "${apk_path}sfgj.apk" "com.shafa.market"
}
# 安装网络获取的apk
install_web_apk() {
local apk_download_url=$1
@ -448,7 +448,7 @@ install_web_apk() {
# 安装my-tv
# release地址、包名、apk命名前缀
install_mytv_latest_apk() {
echo -e "${BLUE}项目主页:https://github.com/yaoxieyoulei/mytv-android ${NC}"
echo -e "${BLUE}项目主页:https://github.com/lizongying/my-tv ${NC}"
install_apk "${apk_path}mytv.apk" "com.lizongying.mytv"
}
@ -650,7 +650,7 @@ install_mixapps() {
}
# 进入KODI助手
kodi_helper() {
wget -O kodi.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/kodi.sh && chmod +x kodi.sh && ./kodi.sh
wget -O kodi.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/kodi.sh && chmod +x kodi.sh && ./kodi.sh
}
# 安装fire tv版本youtube
@ -689,12 +689,12 @@ install_youtube_firetv() {
# 进入tvbox安装助手
enter_tvbox_helper() {
wget -O box.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/box.sh && chmod +x box.sh && ./box.sh
wget -O box.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/box.sh && chmod +x box.sh && ./box.sh
}
# 进入sony电视助手
enter_sonytv() {
wget -O sony.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/sony.sh && chmod +x sony.sh && ./sony.sh
wget -O sony.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/sony.sh && chmod +x sony.sh && ./sony.sh
}
# 更新脚本
@ -702,7 +702,7 @@ update_sh() {
break
echo "正在更新脚本..."
# 下载最新的脚本到临时文件
wget -O /tmp/script.sh https://cafe.cpolar.top/wkdaily/tvhelper-docker/raw/branch/master/shells/tv.sh
wget -O /tmp/script.sh https://gitee.com/wukongdaily/tvhelper-docker/raw/master/shells/tv.sh
# 替换当前脚本
if [ -f /tmp/script.sh ]; then
chmod +x /tmp/script.sh
@ -719,7 +719,7 @@ update_sh() {
menu_options=(
"连接ADB"
"断开ADB"
"安装Android原生TV必备精选Apps(含子菜单)"
"安装Android原生TV必备精选Apps"
"一键修改NTP(限原生TV,需重启)"
"安装Play商店图标(仅google tv使用)"
"自定义批量安装data目录下的所有apk"
@ -737,7 +737,7 @@ menu_options=(
commands=(
["连接ADB"]="connect_adb"
["断开ADB"]="disconnect_adb"
["安装Android原生TV必备精选Apps(含子菜单)"]="android_tv_essentials"
["安装Android原生TV必备精选Apps"]="android_tv_essentials"
["一键修改NTP(限原生TV,需重启)"]="modify_ntp"
["向TV端输入文字(限英文)"]="input_text"
["显示Netflix影片码率"]="show_nf_info"
@ -756,8 +756,7 @@ item_options=(
"安装电视订阅助手"
"安装Emotn Store应用商店"
"安装当贝市场"
"安装沙发管家"
"安装新版我的电视"
"安装my-tv(lizongying)"
"安装BBLL(xiaye13579)"
"安装文件管理器+"
"安装Downloader"
@ -769,12 +768,11 @@ commands_essentials=(
["安装电视订阅助手"]="install_subhelper_apk"
["安装Emotn Store应用商店"]="install_emotn_store"
["安装当贝市场"]="install_dbmarket"
["安装新版我的电视"]="install_mytv_latest_apk"
["安装my-tv(lizongying)"]="install_mytv_latest_apk"
["安装BBLL(xiaye13579)"]="install_BBLL_latest_apk"
["安装文件管理器+"]="install_file_manager_plus"
["安装Downloader"]="install_downloader"
["安装Mix-Apps用于显示全部应用"]="install_mixapps"
["安装沙发管家"]="install_shafa"
)
# 替换或恢复系统桌面
@ -1036,9 +1034,9 @@ show_menu() {
mkdir -p /tvhelper/shells/data
clear
echo "***********************************************************************"
echo -e "* ${YELLOW}盒子助手Docker版 (v$(get_docker_version))${NC} "
echo -e "* ${YELLOW}盒子助手Docker版 (v${docker_version})${NC} "
echo -e "* ${GREEN}base Alpine Linux${NC} "
echo -e "* ${RED}请确保电视盒子和Docker宿主机处于${NC}${BLUE}同一网段${NC}\n* ${RED}且电视盒子开启了${NC}${BLUE}USB调试模式(adb开关)${NC} "
echo -e "* ${YELLOW}【注意】再次运行 只输入 t 即可 ${NC} "
echo "**********************************************************************"
echo "$(get_status)"
echo "$(get_tvbox_model_name)"

BIN
sony/appletv/appletv.apk Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sony/disney/disney.apk Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sony/hbogo/hbo-go.apk Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sony/netflix/netflix.apk Normal file

Binary file not shown.