1.Samba

(1)更新当前软件。

sudo apt-get upgrade 
sudo apt-get update 
sudo apt-get dist-upgrade

(2)安装samba服务器。

sudo apt-get install samba samba-common

(3)创建一个用于分享的samba目录。

sudo mkdir /home/yys/share

(4)给创建的这个目录设置权限

sudo chmod 777 /home/yys/share

(5)添加用户(下面的linuxidc是我的用户名,之后会需要设置samba的密码)。
 

sudo smbpasswd -a yys

(6)配置samba的配置文件。

sudo nano /etc/samba/smb.conf

在配置文件smb.conf的最后添加下面的内容:

[share]
comment = share folder
browseable = yes
path = /home/yys/share
create mask = 0700
directory mask = 0700
valid users = yys
force user = yys
force group = yys
public = yes
available = yes
writable = yes

添加多个目录

[share]
comment = share folder
browseable = yes
path = /home/yys/share
create mask = 0700
directory mask = 0700
valid users = yys
force user = yys
force group = yys
public = yes
available = yes
writable = yes

[share2]
comment = share folder 2
browseable = yes
path = /home/yys/share2
create mask = 0700
directory mask = 0700
valid users = yys
force user = yys
force group = yys
public = yes
available = yes
writable = yes

在上面valid users = linuxidc中的linuxidc为我的用户名。

(7)重启samba服务器。

sudo service smbd restart

(8)Windows徽标+R 在弹出的运行窗口中输入 \\ip(或者文件夹地址)即可访问。如\\192.168.31.221,输入samba用户名及密码访问即可看到共享,然后就可以在Linux系统与Windows系统直接进行文件共享了

Win+R:在弹出的运行窗口中输入\ip(在ubuntu中用ifconfig查看ip)即可访问。

如果提示:提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。

解决方法见https://www.linuxidc.com/Linux/2018-11/155467.htm

(9)输入samba用户名及密码访问即可看到共享文件夹share。

(10)选中share,点击右键,选择映射网络驱动器。

注意:mnt挂载盘目录下必须三层目录,比挂载盘多一层(如挂载盘/mnt/nas那么目录就是/mnt/nas/share),不然没写入权限,

 

以下是ipv6访问Samba共享文件夹的方法:

  1. 首先,获取Samba共享文件夹所在的IPv6地址。
  2. 然后,将IPv6地址中的冒号替换为短横线,并在末尾添加.ipv6-literal.net。例如,如果IPv6地址是fded:abcd:1234::a,则替换后的地址为fded-abcd-1234--a.ipv6-literal.net
  3. 最后,在文件夹中访问这个地址即可。

如果您使用的是Windows系统,可以按照以下步骤操作:

  1. 打开文件资源管理器。
  2. 在地址栏中输入IPv6地址,例如\\fded-abcd-1234--a.ipv6-literal.net
  3. 按下回车键,即可访问Samba共享文件夹。

扩展:win11上开启共享文件ipv6外网共享(默认只能局域网访问)

方法1:直接控制面板关闭防火墙(不建议)

方法2:打开入栈规则放开445端口(推荐)

  1. 在电脑的键盘上按Windows + R键打开运行对话框,然后输入control打开控制面板。
  2. 在控制面板中找到并打开“系统和安全”,然后选择“Windows Defender防火墙”。
  3. 在左侧菜单中,选择“高级设置”。
  4. 在弹出的窗口中,选择“入站规则”。
  5. 在右侧面板中,选择“新建规则”。
  6. 在弹出的向导中,选择适合你的规则类型smb端口445,然后按照向导的指示完成规则的创建。

 

1.2 docker 镜像

    缺点:小米摄像头不能发现。未解决

  1. 环境变量
    dperson/samba 镜像不使用 USERNAME 和 PASSWORD 环境变量来设置用户。你需要在 command 中指定用户和密码。

  2. 共享目录路径
    在 command 中指定的共享目录路径应该与 volumes 中挂载的路径一致。

以下是调整后的 docker-compose.yml 文件:

version: '3.3'
services:
  smb:
    image: dperson/samba  # 使用 dperson/samba 镜像
    container_name: smb
    restart: always
    environment:
      TZ: Asia/Shanghai  # 设置时区
    ports:
      - "139:139"  # SMB 服务的端口
      - "445:445"  # SMB 服务的端口
    volumes:
      - /mnt/nas:/mnt/nas  # 将本地共享文件夹挂载到容器中
      - /mnt/big:/mnt/big  # 将本地共享文件夹挂载到容器中
    command: '-u "yys;123456" -s "nas;/mnt/nas;yes;no;yes;all;none" -s "big;/mnt/big;yes;no;yes;all;none"'  # 配置共享

在这个配置中:

  • 使用 -u "yys;123456" 来设置用户名和密码。
  • 使用 -s "nas;/mount/nas;yes;no;yes;all;none" 和 -s "big;/mount/big;yes;no;yes;all;none" 来配置共享目录。

这样应该可以正常工作。如果你有其他问题或需要进一步的帮助,请告诉我! 😊

 

2.BT下载

2.1安装

sudo add-apt-repository ppa:transmissionbt/ppa
sudo apt-get update
sudo apt-get install transmission
sudo apt-get install transmission-daemon

2.2修改配置文件:

sudo vi /var/lib/transmission-daemon/info/settings.json
    "download-dir": "/home/yys/share/download",
     ......
    "incomplete-dir": "/home/yys/share/download",
    ......
    "rpc-authentication-required": true
    "rpc-bind-address": "0.0.0.0", 
    "rpc-enabled": true, 
    "rpc-password": "123456", 
    "rpc-port": 9091, 
    "rpc-url": "/transmission/", 
    "rpc-username": "yys", 
    "rpc-whitelist": "127.0.0.1", 
    "rpc-whitelist-enabled": false, 

    ......

主要是rpc-whitelist-enabled(取消白名单)用户名密码。download-dir、incomplete-dir修改下载路径

注意:sudo service transmission-daemon stop后修改文件报错才能生效

切到 home 目录下,执行

2.3.权限管理

因为我们修改了默认的下载路径,而那个目录,默认安装的 transmission 是没有读写权限的,而且安装的 transmission 的用户组是 debian-transmission。所以赋予权限,改权限吧。
1、赋予权限

sudo usermod -a -G debian-transmission root
sudo chgrp -R debian-transmission ./transmission-daemon/

 

2、粗暴修改为 777 权限

sudo chmod -R 777 /etc/transmission-daemon  
sudo chmod -R 777 ./downloads # 切到transmission-daemon下,下载路径

 

2.4 启动和停止

启动:

sudo service transmission-daemon start

停止:

sudo service transmission-daemon stop

美化WEB UI:

wget https://gitee.com/culturist/transmission-web-control/raw/master/release/install-tr-control-gitee.sh
bash install-tr-control-gitee.sh

安装之后打开http://ip:9091/,输入用户名和密码就可以看到新的UI了。

2.5 卸载:

sudo apt-get install ppa-purge && sudo ppa-purge ppa:transmissionbt/ppa

3.aira2离线下载

3.1安装

sudo apt -y install aria2
sudo mkdir /etc/aria2
touch /etc/aria2/aria2.session
wget -P /etc/aria2 https://github.com/ToyoDAdoubi/doubi/blob/master/other/Aria2/dht.dat

 

3.2配置

sudo vim /etc/aria2/aria2.conf
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/home/yys/share/download

# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=trunc

# 断点续传
continue=true

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=10

# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=16

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M

# 单个任务最大线程数, 添加时可指定, 默认:5
split=16

# 整体下载速度限制, 运行时可修改, 默认:0
max-overall-download-limit=0

# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
max-overall-upload-limit=80

# 单个任务上传速度限制, 默认:0
#max-upload-limit=1000
# 禁用IPv6, 默认:false
disable-ipv6=false

#检查证书
check-certificate=false

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session

# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/etc/aria2/aria2.session

# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
#save-session-interval=60

## RPC相关设置 ##

# 启用RPC, 默认:false
enable-rpc=true

# 允许所有来源, 默认:false
rpc-allow-origin-all=true

# 允许非外部访问, 默认:false
rpc-listen-all=true

# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select

# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800

# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=123456

# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>

# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<PASSWD>

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true

# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
#listen-port=51413

# 单个种子最大连接数, 默认:55
#bt-max-peers=55

# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true

# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false

# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999

# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=true

# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true

# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K

# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77

# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0.1

# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false

# BT校验相关, 默认:true
#bt-hash-check-seed=true

# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true

# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.leechers-paradise.org:6969/announce,udp://p4p.arenabg.com:1337/announce,udp://9.rarbg.to:2710/announce,udp://9.rarbg.me:2710/announce,udp://tracker.internetwarriors.net:1337/announce,udp://exodus.desync.com:6969/announce,udp://tracker.cyberia.is:6969/announce,udp://retracker.lanta-net.ru:2710/announce,udp://tracker.tiny-vps.com:6969/announce,udp://open.stealth.si:80/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker3.itzmx.com:6961/announce,udp://tracker.moeking.me:6969/announce,udp://bt1.archive.org:6969/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://bt2.archive.org:6969/announce,udp://zephir.monocul.us:6969/announce,udp://valakas.rollo.dnsabr.com:2710/announce,udp://tracker.zerobytes.xyz:1337/announce,udp://tracker.uw0.xyz:6969/announce,udp://tracker.lelux.fi:6969/announce,udp://tracker.kamigami.org:2710/announce,udp://tracker.ds.is:6969/announce,udp://retracker.akado-ural.ru:80/announce,udp://opentracker.i2p.rocks:6969/announce,udp://opentor.org:2710/announce,udp://explodie.org:6969/announce,udp://tracker-udp.gbitt.info:80/announce,udp://chihaya.de:6969/announce,udp://www.loushao.net:8080/announce,udp://u.wwwww.wtf:1/announce,udp://tracker.yoshi210.com:6969/announce,udp://tracker.teambelgium.net:6969/announce,udp://tracker.swateam.org.uk:2710/announce,udp://tracker.skyts.net:6969/announce,udp://tracker.jae.moe:6969/announce,udp://tracker.army:6969/announce,udp://tr2.ysagin.top:2710/announce,udp://t3.leech.ie:1337/announce,udp://t1.leech.ie:1337/announce,udp://retracker.sevstar.net:2710/announce,udp://retracker.netbynet.ru:2710/announce,udp://qg.lorzl.gq:2710/announce,udp://aaa.army:8866/announce,udp://tracker6.dler.org:2710/announce,udp://tracker4.itzmx.com:2710/announce,udp://tracker2.itzmx.com:6961/announce,udp://tracker.filemail.com:6969/announce,udp://tracker.dler.org:6969/announce,udp://tr.bangumi.moe:6969/announce,udp://bt2.54new.com:8080/announce

3.3新建服务

sudo vim /etc/systemd/system/aria2c.service
[Unit]
Description=Aria2c

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

3.4启动、开机自启命令

systemctl enable aria2c.service
systemctl start aria2c.service

3.5浏览器使用

比如edge下载Aria2 for edge 插件

设置

扩展选项→Aria2-RPC-Server →更改ip http://192.168.31.84:6800/jsonrpc(端口号默认的)

可以端口转发,用的是内网下载的

3.6 出现问题

在/etc/aria2/aria2.conf设置rpc-secret=123456

进入Aria2 for edge 插件

系统设置→AriaNg 设置→RPC (ARIA2 RPC)→Aria2 RPC 密钥填入即可

3.7 下载磁力链和种子速度慢或无速度的解决办法

方法1:Aria2下载磁力链和种子速度慢或无速度的解决办法 - 知乎 (zhihu.com)

  1. 开启DHT功能: 连接到DHT网络可以提高下载速度。确保Aria2已开启DHT功能,并可以连接更多的DHT节点。

  2. 配置DHT网络监听端口: 默认端口为6881-6999,确保服务器放行相应端口。

  3. 下载DHT文件: 可以从给出的链接下载DHT文件(dht.dat https://down.cheshirex.com/杂项/dht.dat ),并将其放入Aria2的DHT文件目录。这可以帮助Aria2链接更多的DHT节点。

  4. 文件做种: 在Aria2中设置最小做种时间为不为0的值。分享下载后的文件也可以帮助连接DHT网络。

记得查看Aria2的BitTorrent设置(系统设置➡️Aria2设置➡️BitTorrent设置➡️DHT(IPV4)文件),确认DHT文件目录地址,并将下载的DHT文件放入对应目录。

 

这些步骤应该有助于提高Aria2下载磁力链和种子的速度。如果您有任何其他问题或需要更多帮助,请随时告诉我。

方法2:

Aria2下载速度慢可能有多种原因,以下是一些常见的解决方法:

  1. 增加Tracker服务器:BT下载速度慢通常是因为连接的Tracker服务器太少。你可以在Aria2的配置文件中添加更多的Tracker服务器。可以参考GitHub上的trackerslist来获取最新的Tracker列表¹。推荐使用 trackers_besttrackers_all_udp配置一般在/config/aria2.conf,配置后重启(如果容器重启容器)
    或者http://www.tkser.tk/ 备用网址 http://edam.top/tk/

  2. 启用DHT、LPD和Peer Exchange:在配置文件中启用这些选项可以帮助你找到更多的种子节点,从而提高下载速度¹。配置示例如下:

    enable-dht=true
    bt-enable-lpd=true
    enable-peer-exchange=true
  3. 使用热门种子:如果下载的是冷门种子,速度可能会很慢。尝试下载一些热门种子,挂着做种一段时间,这样可以建立更多的DHT节点缓存²。

  4. 调整最大连接数和下载线程数:适当增加最大连接数和下载线程数也可以提高下载速度。配置示例如下:

    max-concurrent-downloads=5
    split=10
  5. 使用代理服务器:如果网络环境不佳,可以尝试使用代理服务器来加速下载。

 

 

4.nextCloud 搭建自己的私人网盘

4.1基础设置
更新及安装基础包
请依次运行如下命令,有遇到询问的Is this ok [y/d/N]的时候直接键入y并回车即可。

sudo apt-get update
sudo apt-get install snap
sudo apt-get install snapd

4.2 安装 nextCloud
进入安装
运行如下命令:

sudo snap install nextcloud

看到如下图则证明安装成功。

nextcloud 22.2.3snap3 已从 Nextcloud安装

WARNING: There is 1 new warning. See 'snap warnings'.

4.3 设置 nextCloud
创建用户
访问本机ip (http://<您的 CVM IP 地址>/) 即可进入 nextCloud 的安装页面。
根据个人需求输入用户名创建用户即可(最后点安装完成)。

4.4 通过不被信任的域名访问 请联系您的管理员。如果您就是管理员,请参照 config.sample.php 中的示例编辑 config/config.php 中的 "trusted_domains" 设置。

如果你想允许通过不被信任的域名访问 Nextcloud,需要进行以下步骤:

1. 进入 Nextcloud 安装目录:使用管理员权限登录到 Nextcloud 服务器,并进入 Nextcloud 的安装目录。

2. 打开配置文件:在 Nextcloud 的安装目录中,找到并打开 `config/config.php` 文件。

sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

3. 编辑 "trusted_domains" 设置:在 `config.php` 文件中,查找名为 "trusted_domains" 的设置。它应该是一个包含已信任域名的数组。

4. 添加不被信任的域名:在 "trusted_domains" 设置中添加不被信任的域名。将其添加为数组的一个元素,以字符串形式表示。例如:

 

   'trusted_domains' =>
   array (
     0 => 'example.com',
     1 => 'otherdomain.com',
     2 => 'untrusteddomain.com',
   ),
   

   上述示例中,'untrusteddomain.com' 就是不被信任的域名。

5. 保存配置文件:保存对 `config.php` 文件的修改。

6. 重新加载 Nextcloud:重新加载 Nextcloud,以使配置的修改生效。可以通过重启 Web 服务器或执行 Nextcloud 相关的重载命令来实现。

请注意,通过不被信任的域名访问 Nextcloud 可能存在安全风险,因为未受信任的域名可能会被用于攻击或滥用。在允许不被信任的域名访问 Nextcloud 之前,请仔细评估安全风险,并确保你有适当的安全措施和监控机制。

此外,建议参考 Nextcloud 的官方文档和讨论社区,了解更多关于配置和安全性的建议。

4.5.使用 Python 发送文件到 Nextcloud

要使用 Python 发送文件到 Nextcloud,你可以使用 Nextcloud 的 WebDAV 接口。WebDAV 是一种基于 HTTP/HTTPS 的协议,用于在服务器和客户端之间进行文件传输和操作。以下是使用 Python 发送文件到 Nextcloud 的基本步骤:

1. 安装 `requests` 库:在 Python 中发送 HTTP 请求需要使用第三方库,可以使用 `requests` 库。确保你已经安装了该库,你可以通过运行 `pip install requests` 命令来安装它。

2. 导入库和设置变量:在 Python 脚本中,导入 `requests` 库,并设置一些变量,如 Nextcloud 的服务器地址、用户名、密码以及要上传的文件路径。```python
 

import requests
import os

server_url = 'https://your-nextcloud-server.com'
username = 'your-username'
password = 'your-password'
file_path = '/path/to/your/file.txt'

file_name = os.path.basename(file_path)


`

3. 创建会话并进行身份验证:使用 `requests` 库创建一个会话,并通过发送身份验证请求进行登录。

 

session = requests.Session()
session.auth = (username, password)

 

4. 发送文件:使用会话对象发送文件到 Nextcloud 的 WebDAV 接口。(默认根目录,如果发送别的路径{file_name}可以加个路径,如Photos/{file_name}

with open(file_path, 'rb') as file:
    response = session.put(f'{server_url}/remote.php/dav/files/{username}/{file_name}', data=file)


 

在上述代码中,使用 `open` 函数打开要上传的文件,然后使用 `session.put` 方法将文件发送到 Nextcloud。注意替换 `username` 和 `file_name` 为你的用户名和文件名。

5. 处理响应:检查上传文件的响应状态码,以确保文件上传成功。

if response.status_code == 201:
    print('文件上传成功!')
else:
    print('文件上传失败。')

 

以上代码示例仅展示了文件上传的基本步骤,你可以根据自己的需求进行适当的扩展和修改。请确保在代码中提供正确的 Nextcloud 服务器地址、用户名、密码和文件路径,以及适当处理异常情况和错误。

需要注意的是,文件上传到 Nextcloud 的过程可能受到服务器的配置和限制。确保你具有足够的权限和适当的存储空间来执行文件上传操作。

import os

import requests

server_url = 'http://192.168.31.166'
username = 'root'
password = '123456'
file_path = r"F:\新建文件夹\111.png"

file_name = os.path.basename(file_path)
session = requests.Session()
session.auth = (username, password)
with open(file_path, 'rb') as file:
    response = session.put(f'{server_url}/remote.php/dav/files/{username}/{file_name}', data=file)

if response.status_code == 201:
    print('文件上传成功!')
else:
    print('文件上传失败。')

4.6 查看日志

 sudo cat /var/snap/nextcloud/34542/logs/nextcloud.log

4.7解决使用外部存储添加本地外置硬盘出现无法读写的问题

由于我的nextcloud存储空间完全不够日常使用,于是我就用就固态硬盘安装到服务器上。并且我使用的nextcloud是通过snap安装部署的,所以使用命令设置会比较方便。但是我发现通过nextcloud设置页面添加的本地存储无法写入,在新添加的文件夹内写入会报错Error while copying file to target location (copied bytes: -1, expected filesize: 2568277 )

应用添加External storage support才有外部存储

解决方案

首先使用chown -R 777 来让新添加的硬盘有读写权限

chown -R 777 /mnt/nas/share/nextcloud

并在服务器控制台内输入snap connect nextcloud:removable-media

snap connect nextcloud:removable-media


之后就可以在新设置的外部存储内读写了。

docker容器解决
看起来你在尝试在Docker容器中使用snap connect命令,但是这个命令在Docker容器中可能无法正常工作¹。在Docker容器中运行Nextcloud时,你可能需要使用其他方法来解决读写权限的问题。

如果你的Nextcloud实例无法访问外部存储,可能是因为Docker容器没有正确地映射到宿主机的文件系统。你可以尝试以下步骤来解决这个问题²:

  1. 确保你的Docker容器有权访问宿主机的文件系统。你可以在运行Docker容器时使用-v参数来映射宿主机的目录到Docker容器中。例如,如果你想让Nextcloud访问宿主机上的/mnt/data目录,你可以在运行Docker容器时添加参数-v /mnt/data:/mnt/data

  2. 在Nextcloud的设置中添加一个新的本地存储,并将其路径设置为你在上一步中映射的目录。例如,如果你映射了/mnt/data目录,那么你应该在Nextcloud的设置中添加一个新的本地存储,并将其路径设置为/mnt/data

  3. 确保Nextcloud有权读写这个目录。你可以在宿主机上使用chown命令来更改目录的所有者。例如,你可以运行chown -R www-data:www-data /mnt/data来给予Nextcloud用户(通常是www-data)对/mnt/data目录的读写权限。

希望这些信息能帮助你解决问题。如果你还有其他问题,欢迎随时向我提问!

源: 与必应的对话, 2024/2/4
(1) [Solved] Snap Nextcloud Removable-Media and External storages ... - GitHub. 
https://github.com/nextcloud-snap/nextcloud-snap/issues/511.
(2) 基于docker部署nextcloud及其升级和问题修复 - CSDN博客. 
https://blog.csdn.net/qi_w_ip/article/details/114624078.
(3) [nextcloud]解决使用外部存储添加本地外置硬盘出现无法读写的问题_nextcloud 无法创建或写入数据文件夹-CSDN博客. 
https://bing.com/search?q=docker容器中snap+connect+nextcloud%3Aremovable-media报错解决方法.
(4) [nextcloud]解决使用外部存储添加本地外置硬盘出现无法读写的问题_nextcloud 无法创建或写入数据文件夹-CSDN博客. 
https://blog.csdn.net/weixin_43520002/article/details/121891883.
(5) 使用ssh直连docker容器的方法 :解决Connection refused报错. 
https://blog.csdn.net/piaopu0120/article/details/120550181.
(6) undefined. 
https://bing.com/search?q=.

 

4.8 开启ipv6

vim /var/snap/nextcloud/current/nextcloud/config/config.php

两个具体的更改:(端口千万不要80端口)

1. 在'trusted_domains' =>array位置添加 'ipv6域名'。
2. 修改 'overwrite.cli.url', 'http://ipv6域名'(多个可以逗好隔开)。

4.9手动安装插件

参考:1.nextclound安装onlyoffice插件

4.10 刚搭建好提示:请使用命令行更新程序,因为通过浏览器更新在您的config.php中被禁用。 获取更多帮助,请查看文档。

这个错误提示表明你尝试通过浏览器更新 Nextcloud,但在配置文件 config.php 中禁用了该操作。为了解决这个问题,你需要通过命令行进行更新。

1. 通过命令行更新 Nextcloud

首先,你需要进入运行 Nextcloud 的容器并执行命令行更新。按照以下步骤操作:

1.1 进入 Nextcloud 容器

如果你是使用 Docker 部署的 Nextcloud,可以通过以下命令进入 Nextcloud 容器:

docker exec -it nextcloud bash

1.2 运行 Nextcloud 更新命令

进入容器后,使用 Nextcloud 提供的命令行工具 occ 来进行更新。首先执行以下命令检查当前 Nextcloud 状态:

su -s /bin/bash www-data -c "php /var/www/html/occ status"

从输出中可以看到,Nextcloud 需要进行数据库升级(needsDbUpgrade: true)。为了完成升级,你需要运行升级命令。由于 maintenance 模式处于禁用状态(maintenance: false),你可以直接通过 occ 命令进行数据库升级。

进行数据库升级

请按照以下步骤操作:

  1. 运行升级命令
    使用以下命令来升级 Nextcloud 的数据库:

    su -s /bin/bash www-data -c "php /var/www/html/occ upgrade"
  2. 如果需要维护模式
    如果数据库升级过程需要进入维护模式,你可以手动启用维护模式,然后执行升级:

    su -s /bin/bash www-data -c "php /var/www/html/occ maintenance:mode --on"
    su -s /bin/bash www-data -c "php /var/www/html/occ upgrade"
    su -s /bin/bash www-data -c "php /var/www/html/occ maintenance:mode --off"

完成升级后

升级完成后,你可以通过浏览器访问 Nextcloud,检查是否一切正常。如果仍然有问题,可以查看日志文件,帮助进一步排查。

5.Jellyfin

Jellyfin 是一个免费的媒体服务器程序,它允许你远程控制、管理和与多媒体设备共享你的数字媒体⁴。以下是 Jellyfin 的一些主要特点¹²³:

  • 自由软件:Jellyfin 是一个自由软件媒体系统,它允许你控制媒体的管理和流媒体¹²³。
  • Emby 和 Plex 的替代品:Jellyfin 是专有的 Emby 和 Plex 的替代品,可以通过多个应用程序从专用服务器向终端用户设备提供媒体¹²³。
  • 跨平台支持:Jellyfin 是 Emby 3.5.2 版本的后代,移植到 .NET Core 框架以支持完整的跨平台支持¹²³。
  • 可扩展性:Jellyfin 是可扩展的,可以安装第三方插件以提供额外的功能²。

 

当然,我会尽量详细地解释每一步。在Ubuntu 22.04上搭建Jellyfin并配置RSS订阅,你可以参考以下步骤:

  1. 安装Ubuntu Server:首先,你需要在你的硬件上安装Ubuntu Server。你可以从Ubuntu的官方网站下载Ubuntu Server的ISO镜像文件,然后使用Rufus或者Etcher等工具制作成U盘启动盘。然后,你可以从U盘启动你的电脑,并按照提示安装Ubuntu Server。

  2. 安装Jellyfin:安装完成后,你需要在你的Ubuntu Server上安装Jellyfin。你可以使用以下命令来安装Jellyfin¹³:

    curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash

    这个命令会从Jellyfin的官方仓库下载并安装Jellyfin。
    方法二:docker安装容器:https://hub.docker.com/r/jellyfin/jellyfin/tags

  3. 配置Jellyfin:安装完成后,你需要配置Jellyfin来识别你的媒体文件。你可以在Jellyfin的web界面中添加你的媒体库。你需要指定你的视频文件的位置,然后Jellyfin会自动扫描并识别你的视频文件。

看起来你在配置Jellyfin媒体服务器,并安装了AniList和AniDB插件来改善番剧的识别问题。以下是你提到的步骤的一些简要解释:

  1. 安装AniList和AniDB插件:

    打开Jellyfin控制台,导航到插件选项,在目录中找到AniList和AniDB插件,并进行安装。

  2. 重启Jellyfin:

    安装完成后,确保重新启动Jellyfin以使插件生效。使用以下命令查看所有正在运行的Docker镜像:

    docker ps -a

    找到Jellyfin的ID(在你提到的情况下是abfffaab5be7),然后使用以下命令重启Jellyfin:

    docker restart abfffaab5be7
  3. 配置媒体库:

    打开Jellyfin控制台,导航到媒体库,选择添加媒体库。设置文件夹路径为/media/anime。在刮削器选项中,将AniDB排在第一位,AniList排在第二位。可以保留Screen Grabber,取消其他刮削器选项。

这些步骤的目标是提高Jellyfin对番剧的媒体识别准确性。请确保按照这些建议进行操作,以便更好地管理和浏览你的媒体库。

 

  1. 安装Aria2:Aria2是一个下载工具,你需要安装Aria2来下载RSS订阅的视频文件。你可以使用以下命令来安装Aria2:

    sudo apt-get install aria2
  2. 配置RSS订阅:你需要一个RSS订阅源。例如,你可以使用漫猫bt作为你的RSS订阅源。然后,你可以在Jellyfin中配置RSS订阅,让Jellyfin自动下载RSS订阅的视频文件。

以下是整理后的步骤:

  1. 获取RSS订阅源,例如漫猫bt http://www.comicat.org
  2. 查看rss解析磁力链

 

 

5.1电视直播

在设置 Jellyfin 电视直播之前,你可以按照以下步骤在 iptv link search 中搜索并获取 IPTV 源:

  1. 获取 IPTV 源

    • 打开浏览器访问 http://tonkiang.us/。
    • 在搜索框中输入你想要添加的电视台名称进行搜索。
    • 搜索结果会显示多个链接,点击“Play with PC”播放流畅点,然后复制链接。
    • 将复制的链接放入记事本文件,格式如下:

    示例:

    cctv1,http://58.248.112.205:8006/GD_CUCC/G_CCTV-1-CQ.m3u8?Authinfo=F8UQ%2BEevMmd%2FnekE5YOOKkjJ6yQpJZ9CGFM9sHS3VdiLvaf2eXKnEWpoNjJ53rwe
    金鹰卡通,http://58.248.112.205:8006/GD_CUCC/G_JINYING.m3u8?Authinfo=9hNanvH1E%2F3aeNps0dqr4h6gGWJMNQB1kcGZ5ATkqj2LiJBXD8tRgkQULJW4n2bL
    河南卫视,http://58.248.112.205:8006/GD_CUCC/G_HENAN-CQ.m3u8?Authinfo=3iRp8RZG1d3hGsaPmj%2FtHWZ%2Fm7n7CVTCrcobp4nZ6sZSM%2B19aM2hw2IMIRHBBV72
  2. 创建频道列表文件

    • 打开记事本创建一个 "txt" 文件,将上述 IPTV 源信息按如下格式添加到文件中:频道名, 频道的 m3u8 源链接(用英文逗号分隔)。
  3. 使用 TeleList 软件转换

  4. 在 Jellyfin 中设置电视直播

    1. 添加调谐器设备

      • 打开 Jellyfin 控制台,导航到“电视直播”部分。
      • 点击“添加调谐器设备”,选择“M3U Tuner”。
    2. 配置 M3U 播放列表

      • 在“文件或网址”字段中,输入你转换好的 M3U 播放列表的 URL 或者选择第一步获取 IPTV 源本地制作的 M3U 文件路径。
      • 保存设置。
    3. 添加电视指南数据(可选)

      • 如果你希望看到节目信息,可以添加 EPG(电子节目指南)数据。
      • 在“电视指南数据提供方”中输入提供方的 URL,例如http://epg.51zmt.top:8000/e.xml。
    4. 测试和使用

      • 返回 Jellyfin 首页,选择“电视直播”。
      • 切换到“频道”选项卡,查看已识别的频道。
      • 选择一个频道进行播放测试,如果播放正常,说明设置成功。

通过上述步骤,你可以成功在 Jellyfin 中设置电视直播,并将 m3u8 格式的源转换为 m3u 格式。

 

5.2 解决视频节目刷新不出来的问题

开始以为硬件加速问题,原来因为墙!!需要安装MetaShark插件

如何在不能访问外网的Jellyfin服务器上安装MetaShark插件

如果你的Jellyfin服务器无法访问外网,可以通过手动添加插件存储库并安装MetaShark插件来解决视频节目刷新不出来的问题。以下是详细步骤:

步骤 1:添加插件存储库

  1. 打开Jellyfin的控制台。
  2. 导航到“插件”选项卡。
  3. 选择“存储库”。
  4. 点击右上角的“+”按钮添加新的存储库。

国内加速镜像

在弹出的对话框中,输入以下地址:

https://mirror.ghproxy.com/https://github.com/cxfksword/jellyfin-plugin-metashark/releases/download/manifest/manifest_cn.json

国外访问地址

在弹出的对话框中,输入以下地址:

https://github.com/cxfksword/jellyfin-plugin-metashark/releases/download/manifest/manifest.json

步骤 2:安装MetaShark插件

  1. 打开Jellyfin控制台。
  2. 导航到“插件”选项卡。
  3. 选择“目录”。
  4. 在搜索栏中输入MetaShark,找到该插件并点击安装。

步骤 3:配置MetaShark插件

  1. 打开Jellyfin控制台。
  2. 导航到“媒体库”选项卡。
  3. 点击任一媒体库,进入配置页面。
  4. 在“元数据下载器”选项中,勾选MetaShark
  5. MetaShark移动到第一位。
  6. 可以选择将TheMovieDb去掉。

通过以上步骤,你的Jellyfin服务器即使不能访问外网,也可以通过MetaShark插件来刷新视频节目。

 

参考文档:MetaShark插件GitHub页面

 

6.gitlab

GitLab是一个开源的全面的软件开发平台,它提供了版本控制、代码审查、持续集成/持续部署(CI/CD)、以及项目管理等功能,为软件开发的整个生命周期提供支持。
 

gitlab使用和部署

7.homeassistant

Home Assistant是一个开源的家庭自动化平台,它可以智能地集成并控制家中的各种设备和服务,从而提升生活的便利和智能体验。
 

homeassistant使用教程

8.jenkins

Jenkins是一个开源的自动化服务器,主要用于持续集成和持续部署软件开发的过程。

jenkins使用

9.ONLYOFFICE

onlyoffice的使用

ONLYOFFICE 是一套用于文档管理和协作的开源办公软件套件。它包含在线文档编辑器、协作平台、项目管理工具和CRM系统等多个模块,可以和nextcloud结合。

10.PhotoPrism 

PhotoPrism 智能照片

PhotoPrism 是一款智能照片管理工具,能够自动扫描、索引和分类你的图片库,通过先进的图像识别技术对照片进行分组和标签化,从而方便用户按日期、地点或内容快速搜索和浏览,同时支持多种存储后端和数据库,提供高效、隐私安全的个人云照片管理体验。

11.Vaultwarden

Vaultwarden

Vaultwarden 是一个轻量级的开源密码管理服务器,是 Bitwarden 官方服务的非官方实现。它使用 Rust 编写,专为自建密码保险库而设计,让你能够在自己的服务器或 NAS 上安全存储和管理密码。相比于官方 Bitwarden 服务器,Vaultwarden 占用资源更少、部署简单,非常适合个人或小团队使用。

12.docker 使用 KasmVNC 快速搭建 Web 图形化桌面环境

🚀 教程:docker 使用 KasmVNC 快速搭建 Web 图形化桌面环境(debian系统)

KasmVNC 是一款轻量级、基于浏览器访问的远程桌面解决方案,支持容器化部署,非常适合内网远程管理或嵌入式开发使用。