ArchLinux下安装Shadowsocks服务端

Arch Linux 的官方包索引中就有 Shadowsocks 的 Python 版(包名为 shadowsocks)和 libev 版(包名为 shadowsocks-libev)。本文以 libev 版本(C 实现)为例.

通过命令 sudo su - 切换为 root 用户

具体安装 shadowsocks-libev 的命令如下:

pacman -Sy --noconfirm shadowsocks-libev

安装完成后,会有 ss-local, ss-manager, ss-nat, ss-redir, ss-server, ss-tunnel 命令可用。

添加配置文件

shadowsocks-libev 及 shadowsocks 的服务文件默认都会读取位于 /etc/shadowsocks/ 目录下 .json 格式的配置文件。

(注:如果 /etc/shadowsocks/ 目录不存在,则需要先创建该目录,命令为 mkdir /etc/shadowsocks

shadowsocks-libev 不提供默认配置文件,因此我们需要手动创建一个,如 /etc/shadowsocks/server.json

{
	"server": "0.0.0.0",
	"server_port": 1050,
	"password": "cetc50",
	"method": "chacha20-ietf-poly1305",
	"mode": "tcp_and_udp"
}
  • "server": 选填,默认 "0.0.0.0"。配置客户端时填入服务器的实际 IP。"0.0.0.0" 表明服务端接受来自任何网络接口的连接。配置服务端时填入 "0.0.0.0" 总是能生效,而不必填入服务器自身的 IP。
  • "server_port": 必填。需要在客户端配置时填入相同的值。此处填入服务端要监听的端口。建议选择 1024 或以上的端口号,否则启动 ss-server 时将会需要 root 权限。
  • "password": 必填。需要在客户端配置时填入相同的值。连接服务端所需的密码,建议替换为复杂密码,避免被攻击者暴力破解。
  • "method": 选填,默认 "rc4-md5"。需要在客户端配置时填入相同的值。服务端所用的加密方法,推荐以下几种算法:
    1. "chacha20-ietf-poly1305" 具有优秀的安全性,更佳的性能,属于 AEAD 加密算法,少部分客户端(如 iOS Wingy)不支持此算法;
    2. "aes-256-cfb" 具有足够安全性,且被各服务端及客户端广泛支持;
    3. "rc4-md5" 算法快速,且具有一定的安全性,适合运算能力受限的设备如路由器等。
  • "mode": 选填,默认 "tcp_only"。服务器所要监听的协议,可填 "tcp_only", "udp_only""tcp_and_udp"
    填入 "tcp_and_udp" 相当于命令行上提供 -u 参数;填入 "udp_only" 相当于命令行上提供 -U 参数。

对于配置服务端,完成以上几项配置就足够了。

启动 Shadowsocks 服务
有了 Shadowsocks 服务端的配置文件后,我们通过 systemd 启动 Shadowsocks 的服务端服务:

systemctl start shadowsocks-libev-server@server
注意,此处的 @server 与上文中我们创建的配置文件 server.json 是相对应的。

如之前创建的配置文件名为 example.json,那么此处的命令就应该为 @example。

不过,无论配置文件取名如何,都应该放在 /etc/shadowsocks/ 目录下,否则服务将无法定位到相应的配置文件。

检查 Shadowsocks 服务状态
要确认 Shadowsocks 的服务运行状态及最新日志,我们可以执行命令:

systemctl status shadowsocks-libev-server@server
要查看 Shadowsocks 服务的全部日志,我们可以执行命令:

journalctl -u shadowsocks-libev-server@server
配置服务开机自启
上文中,我们通过 systemctl start 启动了服务,但是如果我们想要服务能在开机时自动启动,还需要执行以下命令:

systemctl enable shadowsocks-libev-server@server
至此,服务端所需要的所有配置就都已经完成了。

Oracle的监听配置

listener.ora的内容:

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 1521))
  )

ADR_BASE_LISTENER = D:\app\Administrator\product\11.2.0\dbhome_1\log

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (SID_NAME = DBname)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (GLOBAL_DBNAME= DBname)
  )
)

再使用

lsnrctl stop

lsnrctl start

tnsnames.ora的内容:

ORACLENAME =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 服务主机名或IP)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DBname)
    )
  )

制作多功能启动U盘WinPE+MacOS+ISO映像

简介

多功能U盘,同时支持黑白苹果和WindowsPE、ISO等镜像启动,比如Clover、LinuxLive、ESXI或者杀毒U盘等。
传统方法可能要给U盘分多个分区,但windows系统下只能识别U盘的第一个可用分区,如果用gpt分区格式的U盘仅会显示几百兆的EFI分区,大容量U盘就显得浪费了,另外一个方法是用U盘量产工具把U盘量产成移动硬盘或cdrom等方式启动,操作难度和利害这里就不多讨论了

下面讲解几个功能关键词:
如何把U盘分多个区,如何制作esxi启动U盘,如何制作杀毒U盘,如何用命令创建Windows的EFI引导文件,如何用命令创建可引导的macOS High Sierra安装U盘,如何不转换APFS格式

正文
楼主是USB3.0接口U盘容量16GB,对U盘进行分区,格式为MBR
第一个分区为FAT32格式,分区名称为USB,大小为除去第二个分区的剩余空间,用途是存放除了macOS外的所有文件。
注意:为什么要fat32格式呢,因为这个格式可以用于efi启动,同时DOS、Linux和macOS等也能进行读写操作兼容性好,缺点就是不能放4G大文件。
第二个分区为JHFS+即MacOS扩展(日志式),分区名称Recovery,大小为6GB
注意:大小最好不要过小可能会导致Clover无法识别这个macOS分区

在macOS中打开终端,使用下面这个命令查看U盘设备编号为disk2

diskutil list

然后使用这个命令对U盘分区操作

sudo diskutil partitionDisk disk2 MBR FAT32 USB R JHFS+ Recovery 6G


继续阅读“制作多功能启动U盘WinPE+MacOS+ISO映像”

MPV简单教程

如何让终端也走代理
在终端中直接运行命令
$ export ALL_PROXY=socks5://127.0.0.1:1080
这个办法的好处是简单直接,并且影响面很小(只对当前终端有效,退出就不行了)
安装 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
将以上命令粘贴至终端。
安装 MPV

brew install mpv --with-bundle
brew linkapps mpv

(注意:由于我们要 linkapp 所以用 brew 安装的时候一定要选择 with-bundle,否则没法链接为可执行的应用程序)
创建一个mpv.conf文件,这是主配置文件

#没有边框
no-border
#记住断点
save-position-on-quit
sub-auto=fuzzy
autofit-larger=85%x85%
alang=zh,chi
slang=zh,chi
volume=40

#创建一个input.conf文件,这是自定义快捷键文件

#向前滚轮音量加5
AXIS_UP add volume -5
#向后滚轮音量减5
AXIS_DOWN add volume 5
AXIS_LEFT  seek -5
AXIS_RIGHT seek 5