问题描述
点APP,过了很久出来个Download of appfeed failed,如下图:
image.png
解决方案
综合官方论坛里的解决方案。
应用商店版本:2021.06.21,下面的方案可能不兼容老版本
-
安装应用商店:https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
如果这个安装失败可以尝试修改/etc/hosts
-
在unraid的console中,备份paths.php
cd /usr/local/emhttp/plugins/community.applications/include
cp paths.php path.php.bak
- 进入paths.php (unraid可以用
nano paths.php
), 全文替换为如下代码。
nano下的全文替换方式:光标定位到页首,按command/ctrl + shift + end全选,再按command/ctrl + k剪贴,再复制下面的代码,按command/ctrl + v粘贴下面的代码。
<?PHP
###############################################################
# #
# Community Applications copyright 2015-2021, Andrew Zawadzki #
# Licenced under GPLv2 #
# #
###############################################################
$CA = "community.applications";
$caPaths['tempFiles'] = "/tmp/$CA/tempFiles"; /* path to temporary files */
$caPaths['flashDrive'] = "/boot/config/plugins/$CA";
$caPaths['templates-community'] = $caPaths['tempFiles']."/templates-community-apps"; /* templates and temporary files stored here. Deleted every update of applications */
$caPaths['community-templates-url'] = "https://cdn.jsdelivr.net/gh/Squidly271/Community-Applications-Moderators@master/Repositories.json";
$caPaths['PublicServiceAnnouncement'] = "https://cdn.jsdelivr.net/gh/Squidly271/Community-Applications-Moderators@master/PublicServiceAnnouncement.txt";
$caPaths['community-templates-info'] = $caPaths['tempFiles']."/templates.json"; /* json file containing all of the templates */
$caPaths['community-templates-displayed'] = $caPaths['tempFiles']."/displayed.json"; /* json file containing all of the templates currently displayed */
$caPaths['community-templates-allSearchResults']= $caPaths['tempFiles']."/allSearchResults.json";
$caPaths['community-templates-catSearchResults']= $caPaths['tempFiles']."/catSearchResults.json";
$caPaths['startupDisplayed'] = $caPaths['tempFiles']."/startupDisplayed";
$caPaths['repositoriesDisplayed'] = $caPaths['tempFiles']."/repositoriesDisplayed.json";
$caPaths['application-feed'] = "https://cdn.jsdelivr.net/gh/Squidly271/AppFeed@master/applicationFeed.json";
$caPaths['application-feed-last-updated'] = "https://cdn.jsdelivr.net/gh/Squidly271/AppFeed@master/applicationFeed-lastUpdated.json";
$caPaths['application-feedBackup'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/applicationFeed.json";
$caPaths['application-feed-last-updatedBackup'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/applicationFeed-lastUpdated.json";
$caPaths['appFeedDownloadError'] = $caPaths['tempFiles']."/downloaderror.txt";
$caPaths['categoryList'] = $caPaths['tempFiles']."/categoryList.json";
$caPaths['repositoryList'] = $caPaths['tempFiles']."/repositoryList.json";
$caPaths['sortOrder'] = $caPaths['tempFiles']."/sortOrder.json";
$caPaths['currentServer'] = $caPaths['tempFiles']."/currentServer.txt";
$caPaths['lastUpdated'] = $caPaths['tempFiles']."/lastUpdated.json";
$caPaths['lastUpdated-old'] = $caPaths['tempFiles']."/lastUpdated-old.json";
$caPaths['addConverted'] = $caPaths['tempFiles']."/TrippingTheRift"; /* flag to indicate a rescan needed since a dockerHub container was added */
$caPaths['convertedTemplates'] = "{$caPaths['flashDrive']}/private/"; /* path to private repositories on flash drive */
$caPaths['dockerSearchResults'] = $caPaths['tempFiles']."/docker_search.json"; /* The displayed docker search results */
$caPaths['dockerfilePage'] = $caPaths['tempFiles']."/dockerfilePage"; /* the downloaded webpage to scrape the dockerfile from */
$caPaths['Dockerfile'] = $caPaths['tempFiles']."/Dockerfile";
$caPaths['moderationURL'] = "https://raw.staticdn.net/Squidly271/Community-Applications-Moderators/master/Moderation.json";
$caPaths['moderation'] = $caPaths['tempFiles']."/moderation.json"; /* json file that has all of the moderation */
$caPaths['unRaidVersion'] = "/etc/unraid-version";
$caPaths['logos'] = $caPaths['tempFiles']."/logos.json";
$caPaths['unRaidVars'] = "/var/local/emhttp/var.ini";
$caPaths['docker_cfg'] = "/boot/config/docker.cfg";
$caPaths['dockerUpdateStatus'] = "/var/lib/docker/unraid-update-status.json";
$caPaths['pinnedV2'] = "{$caPaths['flashDrive']}/pinned_appsV2.json";
$caPaths['appOfTheDay'] = $caPaths['tempFiles']."/appOfTheDay.json";
$caPaths['statistics'] = $caPaths['tempFiles']."/statistics.json";
$caPaths['statisticsURL'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/statistics.json";
$caPaths['pluginSettings'] = "{$caPaths['flashDrive']}/community.applications.cfg";
$caPaths['fixedTemplates_txt'] = $caPaths['tempFiles']."/caFixed.txt";
$caPaths['invalidXML_txt'] = $caPaths['tempFiles']."/invalidxml.txt";
$caPaths['warningAccepted'] = "{$caPaths['flashDrive']}/accepted";
$caPaths['pluginWarning'] = "{$caPaths['flashDrive']}/plugins_accepted";
$caPaths['pluginDupes'] = $caPaths['tempFiles']."/pluginDupes.json";
$caPaths['pluginTempDownload'] = $caPaths['tempFiles']."/pluginTempFile.plg";
$caPaths['dockerManTemplates'] = $dockerManPaths['templates-user'];
$caPaths['iconHTTPSbase'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/https-images/";
$caPaths['disksINI'] = "/var/local/emhttp/disks.ini";
$caPaths['dynamixSettings'] = "/boot/config/plugins/dynamix/dynamix.cfg";
$caPaths['installedLanguages'] = "/boot/config/plugins";
$caPaths['dynamixUpdates'] = "/tmp/plugins";
$caPaths['LanguageErrors'] = "https://squidly271.github.io/languageErrors.html";
$caPaths['CA_languageBase'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/";
$caPaths['CA_logs'] = "/tmp/CA_logs";
$caPaths['logging'] = "{$caPaths['CA_logs']}/ca_log.txt";
?>
-
保存,并退出nano
-
不用重启(重启后配置就失效了),回到unraid,再次点击APP,发现可以进去了。
注意:该配置修改在unraid重启后会丢失,要想重启后配置不丢,可以写个启动脚本,每次重启后让系统自动执行上述修改,方法如下:
重启后配置不丢的方法
-
在应用商店中搜索:CA User Script,并安装
-
在SETTINGS中点击User Scripts
image.png -
点击ADD NEW SCRIPT创建一个新的脚本
-
脚本名称随意
-
复制以下内容为作为脚本内容:
#!/bin/bash
#
tee /usr/local/emhttp/plugins/community.applications/include/paths.php << 'EOF'
<?PHP
###############################################################
# #
# Community Applications copyright 2015-2021, Andrew Zawadzki #
# Licenced under GPLv2 #
# #
###############################################################
$CA = "community.applications";
$caPaths['tempFiles'] = "/tmp/$CA/tempFiles"; /* path to temporary files */
$caPaths['flashDrive'] = "/boot/config/plugins/$CA";
$caPaths['templates-community'] = $caPaths['tempFiles']."/templates-community-apps"; /* templates and temporary files stored here. Deleted every update of applications */
$caPaths['community-templates-url'] = "https://cdn.jsdelivr.net/gh/Squidly271/Community-Applications-Moderators@master/Repositories.json";
$caPaths['PublicServiceAnnouncement'] = "https://cdn.jsdelivr.net/gh/Squidly271/Community-Applications-Moderators@master/PublicServiceAnnouncement.txt";
$caPaths['community-templates-info'] = $caPaths['tempFiles']."/templates.json"; /* json file containing all of the templates */
$caPaths['community-templates-displayed'] = $caPaths['tempFiles']."/displayed.json"; /* json file containing all of the templates currently displayed */
$caPaths['community-templates-allSearchResults']= $caPaths['tempFiles']."/allSearchResults.json";
$caPaths['community-templates-catSearchResults']= $caPaths['tempFiles']."/catSearchResults.json";
$caPaths['startupDisplayed'] = $caPaths['tempFiles']."/startupDisplayed";
$caPaths['repositoriesDisplayed'] = $caPaths['tempFiles']."/repositoriesDisplayed.json";
$caPaths['application-feed'] = "https://cdn.jsdelivr.net/gh/Squidly271/AppFeed@master/applicationFeed.json";
$caPaths['application-feed-last-updated'] = "https://cdn.jsdelivr.net/gh/Squidly271/AppFeed@master/applicationFeed-lastUpdated.json";
$caPaths['application-feedBackup'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/applicationFeed.json";
$caPaths['application-feed-last-updatedBackup'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/applicationFeed-lastUpdated.json";
$caPaths['appFeedDownloadError'] = $caPaths['tempFiles']."/downloaderror.txt";
$caPaths['categoryList'] = $caPaths['tempFiles']."/categoryList.json";
$caPaths['repositoryList'] = $caPaths['tempFiles']."/repositoryList.json";
$caPaths['sortOrder'] = $caPaths['tempFiles']."/sortOrder.json";
$caPaths['currentServer'] = $caPaths['tempFiles']."/currentServer.txt";
$caPaths['lastUpdated'] = $caPaths['tempFiles']."/lastUpdated.json";
$caPaths['lastUpdated-old'] = $caPaths['tempFiles']."/lastUpdated-old.json";
$caPaths['addConverted'] = $caPaths['tempFiles']."/TrippingTheRift"; /* flag to indicate a rescan needed since a dockerHub container was added */
$caPaths['convertedTemplates'] = "{$caPaths['flashDrive']}/private/"; /* path to private repositories on flash drive */
$caPaths['dockerSearchResults'] = $caPaths['tempFiles']."/docker_search.json"; /* The displayed docker search results */
$caPaths['dockerfilePage'] = $caPaths['tempFiles']."/dockerfilePage"; /* the downloaded webpage to scrape the dockerfile from */
$caPaths['Dockerfile'] = $caPaths['tempFiles']."/Dockerfile";
$caPaths['moderationURL'] = "https://raw.staticdn.net/Squidly271/Community-Applications-Moderators/master/Moderation.json";
$caPaths['moderation'] = $caPaths['tempFiles']."/moderation.json"; /* json file that has all of the moderation */
$caPaths['unRaidVersion'] = "/etc/unraid-version";
$caPaths['logos'] = $caPaths['tempFiles']."/logos.json";
$caPaths['unRaidVars'] = "/var/local/emhttp/var.ini";
$caPaths['docker_cfg'] = "/boot/config/docker.cfg";
$caPaths['dockerUpdateStatus'] = "/var/lib/docker/unraid-update-status.json";
$caPaths['pinnedV2'] = "{$caPaths['flashDrive']}/pinned_appsV2.json";
$caPaths['appOfTheDay'] = $caPaths['tempFiles']."/appOfTheDay.json";
$caPaths['statistics'] = $caPaths['tempFiles']."/statistics.json";
$caPaths['statisticsURL'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/statistics.json";
$caPaths['pluginSettings'] = "{$caPaths['flashDrive']}/community.applications.cfg";
$caPaths['fixedTemplates_txt'] = $caPaths['tempFiles']."/caFixed.txt";
$caPaths['invalidXML_txt'] = $caPaths['tempFiles']."/invalidxml.txt";
$caPaths['warningAccepted'] = "{$caPaths['flashDrive']}/accepted";
$caPaths['pluginWarning'] = "{$caPaths['flashDrive']}/plugins_accepted";
$caPaths['pluginDupes'] = $caPaths['tempFiles']."/pluginDupes.json";
$caPaths['pluginTempDownload'] = $caPaths['tempFiles']."/pluginTempFile.plg";
$caPaths['dockerManTemplates'] = $dockerManPaths['templates-user'];
$caPaths['iconHTTPSbase'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/https-images/";
$caPaths['disksINI'] = "/var/local/emhttp/disks.ini";
$caPaths['dynamixSettings'] = "/boot/config/plugins/dynamix/dynamix.cfg";
$caPaths['installedLanguages'] = "/boot/config/plugins";
$caPaths['dynamixUpdates'] = "/tmp/plugins";
$caPaths['LanguageErrors'] = "https://squidly271.github.io/languageErrors.html";
$caPaths['CA_languageBase'] = "https://raw.staticdn.net/Squidly271/AppFeed/master/";
$caPaths['CA_logs'] = "/tmp/CA_logs";
$caPaths['logging'] = "{$caPaths['CA_logs']}/ca_log.txt";
?>
EOF
-
点击SAVE CHANGES
-
将该脚本的启动时间设为:At First Array Start Only
- 点击APPLY应用上述修改即可。
网友评论