飞蚊话 发布的文章

以CentOS7为例。

1. 安装Python相关工具以及shadowsocks

yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks
若不能成功安装m2crypto,请先用以下命令安装其依赖包:
yum install -y openssl-devel gcc swig python-devel autoconf libtool

2. 配置chacha20加密方法(可选)

chacha20 加密算法后可以提高密钥加密和解密速度,同时可以规避GFW利用OpenSSL特性进行特征包跟踪的问题
  1. 安装套件:yum groupinstall "Development Tools"
  2. 下载libsodium:wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
  3. 编译安装:tar xvf libsodium-1.0.11.tar.gz && cd libsodium-1.0.11 && ./configure && make && make install
  4. 更新动态库:ldconfig

3. 服务器配置

vi /etc/shadowsocks.json

其中,shadowsocks名称随意更改,下面用到这个名称的地方注意对应即可。

写入如下配置:

{
"server":"0.0.0.0",
"server_port":your server port,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"your password",
"timeout":600,
"method":"chacha20",# 若未进行第二步,此处推荐设置为`aes-256-cfb`
"fast_open": false
}

其中:

server_port处填写你想要的端口号,之后在客户端中需要填入

password处填写连接密码

method处可以更改加密方法,一般默认即可

如果有多用户,可以通过下面方法配置:

{
"server":"0.0.0.0",
"local_address": "127.0.0.1",
"local_port":1080,
"port_password": {
"port1": "password1",
"port2": "password2"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}

如上,只需添加多个端口和密码即可。

4. 配置防火墙端口

没有安装防火墙建议安装一下,然后开启防火墙相应的端口。这里以开启443端口为例。

firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload

5. 配置Shadowsocks 服务自启动

使用rc.local完成即可。注意需要先通过命令 chmod +x /etc/rc.local 保证该脚本可执行。

之后在该文件结尾加入一行
ssserver -c /etc/shadowsocks.json -d start
保存即可。

直播推流是离不开ffmpeg组件的。尤其像我这种全天推电视剧的直播间。而我不可能一直在我的电脑上开着直播(这不现实),所以我需要一台最基本的服务器来维持它。而一般的服务器默认都是配置CentOS系统的。而且推流也不是什么需要保证稳定的东西,因此通过yum直接安装是最省时省力的。但是CentOS默认的源中没有该组件。因此需要自行进行一些配置才可以。

1、安装EPEL Release

因为安装需要使用其他的repo源,所以需要EPEL支持

yum install -y epel-release

如果出现缺少Code提示,可以:
sudo rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

安装完成之后,可以查看是否安装成功:

yum repolist

2、导入一个Code

这一步可能不成功(提示404找不到文件),但是根据我的测试来看,对之后好像没什么影响。

rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

3、安装nux-dextop 源

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

可以通过 yum repolist 查看repo源,看是否安装成功

4、安装ffmpeg

yum install -y ffmpeg

完成。可以通过 ffmpeg -version 检查版本信息。

闲来去读DDE-Dock的代码,发现了一点儿东西,可以把颜色换成亮色,很简单。

从GitHub上下载DDE-Dock源码包

前往GitHub,搜索 DDE-dock ,可以找到 linuxdeepin/dde-dock 项目,进入之后下载即可。

修改代码

将下载的源码包解压,进入其中的 frame 文件夹。

  • 打开 main.cpp ,查找 dark ,将找到的文本改为light,保存退出。
  • 进入 panel 文件夹,打开 mainpanel.cpp ,查找 DarkColor ,将找到的更改为 LightColor
  • 在下一行,应该有一个设置颜色的函数,其参数为 55,63,71 .将这个值更改为 248,248,255 ,保存退出。

安装编译环境

该环境需要的包比较多,推荐在虚拟机中进行。

需要安装的包如下(通过apt命令安装即可):

cmake g++ qt-sdk qt-base5-dev libqt5x11extras5-dev libdtkwidget-dev libxcb-ewmh-dev libdframeworkdbus-dev libgsettings-qt-dev libdde-network-utils-dev libxcb-image0-dev libxcb-composite0-dev libxtst-dev libxcb-icccm4-dev libdbusmenu-qt5-dev qtbase5-private-dev

构建过程

在源码的根目录下打开终端,依次输入如下命令:

mkdir build
cd build
cmake ..
make

可能有一些插件报错,可以将报错的语句注释掉再进行构建,在接下来的安装过程中排除掉这些插件即可。

安装

  • build/frame 文件夹下可以找到 dde-dock 文件,用其替换掉 /usr/bin/dde-dock
  • build/plugin 文件夹下可以找到一些基本的dde-dock插件,用这些对应的替换掉 /usr/lib/dde-dock 下的同名文件(在这下面还有一些子文件夹,如果有对应的也一并替换掉)

重启电脑,DDE-dock的底色就变成Mac OS的模样了。

商店中的OBS版本实在不敢恭维…尤其到了15.7以后,推流总会闪退。遂想到来自己编译最新版本的OBS。而本着服务大众的理念,便将其打包成Appimage格式,便于传播的同时还可以避免各种依赖的问题。

一、编译安装OBS

OBS是开源软件,所以可以方便的从官方网站获取源码进行编译安装。

  1. 使用命令  sudo apt install build-essential pkg-config cmake git-core checkinstall 完成编译环境的搭建
  2. 使用
sudo apt install libx11-dev libgl1-mesa-dev libvlc-dev libpulse-dev libxcomposite-dev libxinerama-dev libv4l-dev libudev-dev libfreetype6-dev libfontconfig-dev qtbase5-dev libqt5x11extras5-dev libx264-dev libxcb-xinerama0-dev libxcb-shm0-dev libjack-jackd2-dev libcurl4-openssl-dev luajit-5.1-dev swig python3.6-dev libluajit-5.1-dev python3-dev ffmpeg 

安装依赖包

  1. 安装aac依赖: sudo apt-get install libavcodec-dev libavfilter-dev libavdevice-dev libfdk-aac-dev
  2. 编译安装OBS。下列命令依次执行(首先安装好git和cmake命令):
   git clone --recursive https://github.com/obsproject/obs-studio.git 
   cd obs-studio
   mkdir build && cd build
   cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
   make -j4
   sudo checkinstall --pkgname=obs-studio --fstrans=no --backup=no --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes

编译安装完成,同时,在 obs-studio/build 下面可以找到一个deb格式的安装包。如果没有更新需要,保留这个安装包,以后就可以直接安装了(需要安装依赖)。

二、打包成appimage格式

诚如前面所讲,现在拥有的deb还是需要各种依赖才能正常安装运行的。如果为了携带或者便于传播,可以将当前版本打包成appimage格式的包。这样,通过一个文件便能在几乎所有Debian系的Linux上面运行了(不敢说RHEL系也能用,但是至少Debian系足够了)

  1. 前往 https://github.com/AppImage/AppImages ,点击文件列表右上绿色的Clone or Download按钮,弹出气泡选择Download ZIP,获得脚本
  2. 将下载得到的ZIP文件整体解压出来,得到一个名为 AppImages-master 的文件夹
  3. 将前面编译得到的deb文件复制进这个文件夹
  4. 在这个文件夹中打开终端,使用命令 bash -ex ./pkg2appimage recipes/OBS-Studio.yml 完成appimage的打包(过程较长,耐心等待)
  5. 完成。现在可以在 AppImages-master/out 下面找到刚刚打包好的appimage版本OBS了。

至此,新版本的OBS安装包制作完成。推流、录像都不再有问题了,美滋滋

KDE下不能启动deepin wine一直是个挺难受的事情。就我个人来说,喜欢KDE的桌面风格,但又不想放弃deepin wine里边比较优质的程序。所以想到了一个比较骚的招数,也算是解决了吧。

主要思路:可能是deepin-wine在打包时无意间加入了gnome依赖。所以补齐依赖就可以了。

方法很简单,安装gnome-settings-daemon

之后,将/etc/xdg/autostart/org.gnome.SettingsDaemon.XSettings.desktop 复制到 ~/.config/autostart/

最后,去往设置—开机和关机—自动启动 中,将gnome的一项勾选启动即可。

一直使用shadowsocks-qt5做ss客户端,之前在DDE下面也能方便的设置全局代理,但是到了KDE下,它的代理设置方法就没有那么方便了。所以在其他桌面下,一般在终端使用ss更好一些。但是这样一来,就没有一个图形界面可以使用了。而在网上能搜索到教程又少,好不容易找到qt5的又不成功,所以只能自己摸索了。不过还好,经过一番实验,终于在KDE下把qt5整成全局代理了,遂记录在此。

一、生成一份pac文件

这个的用处很明显,只代理不可访问的地址,以确保可访问的不绕路,不可访问的可联通。

  • 安装pip(如果系统未安装,需安装)
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
  • 安装Genepac以自动生成pac文件

sudo pip install genpac

  • 选择一个存放pac文件的文件夹,并生成

genpac --proxy="SOCKS5 127.0.0.1:1080" --gfwlist-proxy="SOCKS5 127.0.0.1:1080" -o 输出文件地址 --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"

pac文件就成功创建了。

二、KDE下设置代理

假设已经安装了shadowsocks-qt5且已经启动。现在只需要将其与全局代理和pac文件关联起来就完成了。

打开KDE的系统设置,切换到网络—设置—代理。

在“配置所用的代理服务器”窗口中,选择“使用手动配置的代理服务器”。

在弹出的表单中将“SOCK5代理”处添上 127.0.0.1,后面的“端口”填1080,“例外”处填写刚刚生成的pac文件位置,file:///开头(是三个斜线,如file:///home/kevin/proxy.pac)。

最后,勾选“只为排除列表中的地址使用代理服务器”,确认。

全局代理就设置好了。