作者归档:Henry

Deluge安装及配置(配置路径至NFS远程目录)

本文将说明如何在Ubuntu 18.04系统中安装Deluge服务(WebUI),以及将挂载的远程NFS目录设置为下载目录。

Deluge安装及配置

//确保系统是最新
sudo apt-get update
sudo apt-get upgrade

//添加源以及安装Deluge
//Deluge有三个包:deluge为桌面模式,deluged为daemon模式,deluge-webui是网页界面,这里使用daemon模式
sudo add-apt-repository ppa:deluge-team/ppa 
sudo apt install deluged deluge-webui

//新建deluge用户和deluge用户组,这里建的是无密码的系统用户
sudo adduser --system --group deluge

//将当前用户(your-username)添加至deluge组,这样用当前用户也能操作deluge下载的文件
sudo gpasswd -a your-username deluge

接下来,需要设置deluged和deluge-web服务

新建deluged.service服务

sudo vim /etc/systemd/system/deluged.service

写入以下内容

[Unit]
Description=Deluge Bittorrent Client Daemon
After=network-online.target

[Service]
Type=simple
User=deluge
Group=deluge
UMask=007

ExecStart=/usr/bin/deluged -d

Restart=on-failure

# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

启动服务并设置为开机启动

systemctl start deluged
systemctl enable deluged
//查看服务是否为active
systemctl status deluged

新建deluge-web.service服务

sudo vim /etc/systemd/system/deluge-web.service

写入以下内容

[Unit]
Description=Deluge Bittorrent Client Web Interface
After=network-online.target

[Service]
Type=simple

User=deluge
Group=deluge
UMask=027

ExecStart=/usr/bin/deluge-web

Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务并设置为开机启动

systemctl start deluge-web
systemctl enable deluge-web
//查看服务是否为active
systemctl status deluge-web

完成后,在浏览器中访问8112端口即可查看服务

http://your-server-ip:8112

如果无法访问,检查防火墙状态

sudo systemctl stop ufw
sudo systemctl disable ufw

进入界面需要输入密码,默认的密码为:deluge,登录后可以修改。

输入完成密码后,弹出Connection Manager对话框,选择当前服务器,点击Start Daemon,然后点击右下角的Connect连接至Deluge服务器。

Deluge下载路径配置及远程NFS挂载

首先,安装NFS

sudo apt-get install nfs-common

新建本地目录用于挂载

sudo mkdir /mnt/share

挂载远程NFS目录(假设远程NFS服务器IP为:NFS_IP,远程NFS共享目录路径为:/mnt/nas/share)

sudo mount -t nfs NFS_IP:/mnt/nas/share /mnt/share

在/mnt/share下新建目录以备Deluge使用

//新建Deluge下载的主目录
sudo mkdir /mnt/share/PTDownload
//存放下载完成的媒体文件
sudo mkdir /mnt/share/PTDownload/Media
//存放下载完成的种子文件
sudo mkdir /mnt/share/PTDownload/Torrent
//存放正在下载的文件
sudo mkdir /mnt/share/PTDownload/Temp

在网页上,修改Preference中的Downloads中的下载路径至上面新建的目录。

备注:如果在新建目录和写入文件时遇到了权限错误,请在NFS端修改相关权限,FreeNAS可以参考此文:FreeNAS中NFS共享挂载后权限不足问题解决办法

FreeNAS中Transmission插件的挂载点设置

在司波图的视频中,FreeNAS运行Transmission时,只挂载了Media文件夹,如果正常使用当然没有问题,但如果出现需要恢复Torrent文件,或者删除Torrent文件时,将无法找回。极端情况是,如果FreeNAS系统崩溃或者Transmission插件崩溃,Media文件得到了保留,但Torrent文件将全部丢失。所以,这里建议在以上基础上,额外映射:

FREENAS中的文件夹(源)····························Transmission Jail中的文件夹(目标)

/mnt/nas/share/Transmission/Media·················/mnt/nas/iocage/jails/transmission/root/media //下载完成的文件所在目录
/mnt/nas/share/Transmission/Torrents··············/mnt/nas/iocage/jails/transmission/root/usr/local/etc/transmission/home/torrents //种子文件所在目录
/mnt/nas/share/Transmission/Temp··················/mnt/nas/iocage/jails/transmission/root/usr/local/etc/transmission/home/Downloads //下载中的文件所在目录

 

 

OpenWrt编译生成文件说明和使用方法

在手动编译OpenWrt后,会生成以下文件,分别对应不同用途

openwrt-x86-64-combined-squashfs.img
openwrt-x86-64-combined-squashfs.qcow2
openwrt-x86-64-combined-squashfs.vhdx
openwrt-x86-64-combined-squashfs.vmdk

img文件:raw镜像文件,即原始镜像内容,可以通过镜像转换软件(例如StarWind V2V Converter)转换为任意镜像/虚拟磁盘。

qcow2:Virtual Box使用的磁盘软件

vhdx:Hyper-V使用的磁盘文件,创建Hyper-V虚拟机时,无需新建磁盘,使用此文件作为vdisk即可

vmdk:ESXi使用的磁盘文件,创建ESXi虚拟机时,无需新建磁盘,使用此文件作为vdisk即可。注意,添加时需选择IDE控制器,不能选择SCSI控制器,如下图

SuperMicro X11SCV-Q主板安装ESXi

超微X11SCV-Q主板安装ESXi时,由BIOS引导是无法进入安装界面,安装后也无法通过BIOS启动的。所以,必须保证:

1、安装盘使用EFI模式刻录,不能选择BIOS引导

2、在主板BIOS设置中(开机按DEL键进入),将U盘Legacy支持设为Disable,将Video、PCI模式从Legacy改为EFI,在BOOT启动顺序处,从DUAL模式修改为UEFI,并将UEFI USB KEY: XXXX这个启动项设置为首选。

最后附上用Rufus烧录镜像到U盘的设置:

如上图示:1、格式化使用GPT格式,不用MBR模式;2、硬盘格式选择NTFS,不用FAT32。

Twenty Twelve主题增加顶部搜索框

使用这个主题很多年了,之前有在顶部增加一个搜索框,由于主题自动更新掉了,这里补充记录一下。

首先进入主题代码编辑页面,修改header.php这个文件。找到</hgroup>这个结束标签,在后面添加上搜索框调用代码:

<div class="header-search"><?php get_search_form(); ?></div>

这时候,打开首页,就能看见顶部搜索框了,但是并不美观。接下来在自定义CSS中进行美化

.header-search {
	float: right;
	margin-top: -50px;
	margin-right:30px;
}

#searchsubmit {
	font-size: 13px!important;
	height: 29px;
	line-height: 18px!important;
	background-color: white;
	background-image:none;
	padding:5px 10px;
	box-shadow:none !important;
}

#searchsubmit:hover {
	color:#404040;
}

@media (max-width: 650px) {
	.header-search {
		margin-top:10px;
		text-align:center;
		float:none;
		margin-right:0px;
	}
	.main-navigation  {
		clear:both;
	}
}

#submit {
	font-size: 13px!important;
	height: 29px;
	line-height: 18px!important;
	background-color: white;
	background-image:none;
	padding:5px 10px;
	box-shadow:none !important;
}

#submit:hover {
	color:#404040;
}

#submit:submit {
	color:#404040;
	box-shadow:none !important;
}

button {
	font-size: 13px!important;
	height: 29px;
	line-height: 18px!important;
	background-color: white !important;
	background-image:none !important;
	padding:5px 10px;
	box-shadow:none !important;
}

botton:hover {
	color:#404040;
}

.menu-toggle.toggled-on {
	color:#404040;
	background-color:white !important;
	background-image:none !important;
	box-shadow:none !important;
	border:1px solid #ccc;
}

有一点需要注意,主题更新后,加在header.php中的代码会被更新掉,需要手动加回来,或者也可以建立一个子主题保存更改。

 

OpenWrt使用阿里云DDNS服务动态域名解析

个人环境:

主路由:192.168.10.1 (主路由pppoe拨号)
OpenWrt旁路由:192.168.10.2  (网关设为主路由192.168.10.1)

现在需要通过OpenWrt上的DDNS服务进行动态域名解析,由于是旁路由,所以无法直接从WAN口获得公网IP。首先需要安装Luci-app-ddns这个插件,进入插件页面。

主机名填写顶级域名,域名填写需要DDNS解析到的二级域名,如果想直接使用顶级域名就写成“@zivers.com”这种形式。用户名和密码填写从阿里云获得的AccessKey密钥对

切换到高级设置标签,由于OpenWrt不是用作主路由拨号,无法直接通过网口获取到外网IP,所以需要选择用URL方式获取。默认提供了一个监测URL的网址,可以直接使用,如果不用这个,也可以使用其他的,比如:http://ddns.oray.com/checkip 或者 http://www.3322.net/dyndns/getip 

最后,如果开启了Shadowsocks服务的话,记得把URL检测的网站加入到白名单中,否则检测到的外网IP将会是代理服务器的地址

 

Hyper-V部署OpenWrt旁路网关(编译Lean版)

准备工作

1、已经编译好的OpenWrt镜像文件。由于是用于Hyper-V部署,所以编译时选择保存为.vhdx后缀的镜像文件,具体如何编译,参见源码地址:https://github.com/coolsnowwolf/lede。镜像文件名类似为: openwrt-x86-64-combined-squashfs.vhdx

2、一个可用的网口。我的主板上有两个千兆网口,一个是Intel I210,另一个是Intel I219-LM。I210我用来做为Hyper-V服务器的网络端口,而I219-LM则是我准备给OpenWrt专用的。

图片中,I210和I210创建的vEthernet是用与Hyper-V的虚拟交换机,I219-LM目前空闲。其他两个X540为万兆网口,与本文无关。

创建虚拟交换机

在Hyper-V管理器中,选择右侧的虚拟交换机管理器,在弹出的窗口中,新建外部虚拟交换机

选择之前说的用于OpenWrt的网口,这里用的是I219-LM,并取消下面的允许管理操作系统共享此网络适配器选项。取消此选项后,在系统的网络管理页面就不会看到I219-LM的vEthernet,只是单纯显示I219-LM。

由于我机器上的网口有两个,所以可以给OpenWrt专用一个网口,如果主板上只有一个网口,那配置起来会麻烦些,需要让Hyper-V和OpenWrt共用这一个网口,步骤较为复杂,这里不赘述。

创建OpenWrt虚拟机

创建虚拟机的步骤和一般创建步骤相同,这里只说明几个地方

1、创建时选择第一代虚拟机,兼容性和稳定性比较好

2、配置网络时,选择刚才创建的OpenWrt交换机

3、硬盘选择之前准备好的.vhdx文件

完成后点击完成,先不要启动虚拟机。在Hyper-V管理器界面,可以修改虚拟机处理器数量,我这里改成了两个,增加性能。另外,需要在网络适配器的高级选项中,勾选开启MAC地址欺骗选项。

保存后,启动虚拟机。

OpenWrt配置

进入虚拟机,默认是root用户登录,且无密码,所以可以直接查看和修改系统文件。主要修改的文件是etc/config/network这个网络配置文件

默认的配置OpenWrt使用的IP地址为192.168.1.1,那么就会有以下几个情况

1、OpenWrt就是用来当主路由的,且192.168.1.1不会和运营商的路由器网关地址相同,那就保持不变即可。直接访问192.168.1.1即可访问OpenWrt管理页面。

2、OpenWrt是用来当旁路网关的,主路由网关地址为192.168.1.1。这种情况下,OpenWrt和主路由网关冲突,需要修改OpenWrt的IP为192.168.1.2。之后通过192.168.1.2来访问OpenWrt管理页面。

3、OpenWrt是用来当旁路网关的,主路由网关地址为192.168.2.1。这种情况下,OpenWrt和主路由网关不冲突,但由于不在一个网段,OpenWrt无法通过主路由连接网络,所以也需要修改OpenWrt的IP,可以改为192.168.2.2。

具体修改IP就是直接修改上面那个文件,然后重启网络,执行

service network restart

OpenWrt设置

完成上述步骤之后,登录OpenWrt。下面以上文的情况3为例(即主路由为192.168.2.1,OpenWrt为192.168.2.2),登录用户名为root,默认密码password。

登陆后,在“网络->诊断页面”可以测试网络连接情况,目前是无法上网的,如下图所示。

所以,需要修改一下端口设置,进入“网络->接口”页面,点击“修改”按钮。修改其中的“IPv4网关”地址为主路由网关地址(192.168.2.1),修改“IPv4广播”地址,增加自定义的DNS服务器,点击“保存并应用”。

修改完成后,再进行网络测试,可以联通了。

至此,OpenWrt旁路网关配置完成。

使用OpenWrt旁路网关上网

如果需要使用OpenWrt上网,那只需要将设备的默认网关设置成OpenWrt地址即可,如上设置,则为192.168.2.2

CentOS 7部署V2Ray服务

由于Shadowsocks在国内被大范围识别封锁,所以转向V2Ray。虽然V2Ray作为一个平台,比起Shadowsocks复杂许多,但是安装部署其实已经集成的非常好。以下是部署步骤:

1、安装V2Ray服务端

bash <(curl -L -s https://install.direct/go.sh)

执行完后得到以下内容

Installing V2Ray v4.20.0 on x86_64
Downloading V2Ray: https://github.com/v2ray/v2ray-core/releases/download/v4.20.0/v2ray-linux-64.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   608    0   608    0     0   1647      0 --:--:-- --:--:-- --:--:--  1652
100 11.3M  100 11.3M    0     0  7368k      0  0:00:01  0:00:01 --:--:-- 11.5M
Updating software repo
Installing unzip
warning: /var/cache/yum/x86_64/7/base/packages/unzip-6.0-20.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for unzip-6.0-20.el7.x86_64.rpm is not installed
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Extracting V2Ray package to /tmp/v2ray.
Archive:  /tmp/v2ray/v2ray.zip
  inflating: /tmp/v2ray/config.json  
   creating: /tmp/v2ray/doc/
  inflating: /tmp/v2ray/doc/readme.md  
  inflating: /tmp/v2ray/geoip.dat    
  inflating: /tmp/v2ray/geosite.dat  
   creating: /tmp/v2ray/systemd/
  inflating: /tmp/v2ray/systemd/v2ray.service  
   creating: /tmp/v2ray/systemv/
  inflating: /tmp/v2ray/systemv/v2ray  
  inflating: /tmp/v2ray/v2ctl        
 extracting: /tmp/v2ray/v2ctl.sig    
  inflating: /tmp/v2ray/v2ray        
 extracting: /tmp/v2ray/v2ray.sig    
  inflating: /tmp/v2ray/vpoint_socks_vmess.json  
  inflating: /tmp/v2ray/vpoint_vmess_freedom.json  
PORT:38731
UUID:c877a768-946e-4bea-93ff-d44a5a5b3915
Created symlink from /etc/systemd/system/multi-user.target.wants/v2ray.service to /etc/systemd/system/v2ray.service.
V2Ray v4.20.0 is installed.

以上信息中,有两项需要记下:UUIDPORT

启动V2Ray服务

systemctl start v2ray
systemctl enable v2ray

由于需要端口通讯,建议将端口加入防火墙白名单。这里只是示范,所以关闭防火墙

iptables -F
systemctl stop firewalld

2、安装Windows客户端

Windows系统客户端可以使用V2RayN,首先去Github上下载最新的release:

将压缩包解压,执行v2rayN.exe即可启动客户端。

启动之后,选择服务器->添加[VMess]服务器,按之前在服务器上得到的UUIDPORT填写

参考:

Project V Official Site: V2Ray

CentOS 7部署Shadowsocks服务

注:这篇文章写成的时候,Shadowsocks服务在中国已经被大范围识别封锁,无法使用。 首先,在CentOS上启用BBR算法,具体见此文:《Linode CentOS 7应用BBR算法》 下面,安装Shadowsocks服务 1、更新源和依赖

yum update -y
yum install epel-release -y
yum install python-pip m2crypto -y

2、pip安装Shadowsocks

pip install --upgrade pip
pip install shadowsocks

3、编辑/etc/shadowsocks.json这个文件

{
    "server": "0.0.0.0",
    "port_password": {
        "YOUR_PORT": "YOUR_PASSWORD"    //这里定义端口和密码,可以设置多个端口
    },
    "timeout": 300,
    "method": "aes-256-cfb"
}

4、启动Shadowsocks服务

ssserver -c /etc/shadowsocks.json -d start

5、允许Shadowsocks服务器通过防火墙,这里简单关闭防火墙作为示范

iptables -F
systemctl stop firewalld

6、在客户端使用服务器IP、端口、密码登录