Centos 7 下安装 Shadowsocks Python 版

本文以 Vultr 购买的 Centos 7 主机为例,详细介绍了安装 Shadowsocks Python 版的方法。建议以密钥的方式绑定主机并以此登录,注意保护好自己的密钥。

准备

首先,更新系统:

yum update

为了防止被人暴力扫描破解登录密码,我们先对 Vultr 自动生成的密码进行重置:

passwd root

这里我个人使用了 256 位随机密码,包含特殊字符。

另外也可以安装 fail2ban 来禁止掉反复尝试登录的ip地址:

yum install fail2ban

启用 fail2ban:

systemctl enable fail2ban

Read More

Line and Circular Interpolation on XY Plane

Tips: This is my homework of “Computer Control System” course, so mistakes do happen.

This article will discuss an interpolation algorithms for line and circular. And it provides an implement of C language.

Interpolation Algorithms

Many numerical control machines are powered by stepping motors. When a pulse is sent to a stepping motor, the stepping motor alters its position by a unit step. Two motors can be used to control the XY movements of an arm or tool over a working plane.

If the pulse are generated by a device which can remember or generate a specified train of pulses, repetitive operations such as grinding, painting, or cutting can be performed hunderds of times with virtually no variation. A microcomputer is an obvious choice to gernerate and remember the pulse.

Since stepper motors can move only in discrete steps, we must approximate the actual curve by a series of small XY motions. Many algorithms rely upon parametric functions such as sine and cosine to perform the necessary calculations. Parametric functions, however, typically require a high degree of numeric precision. Calculating sine and cosine values with a microcomputer can be too time-consuming to be useful in a realtime application.

The following two algorithms require no parametric functions. This makes them ideally suited to the
computation and memory capacities of microcomputers. Since these algorithms do not require a large amount of complex mathematical calculation, they are fast enough to be used in real-time applications.

Read More

Kali Linux 以 root 用户运行 Chrome 和 VLC

需要了解的信息

  1. 有些应用之所以在 Kali Linux 下无法启动,是因为它们不允许以 root 用户的身份运行,通常,我们可以直接修改相应的二进制文件,将 getuid 改为 getppid,来达到我们的目的。不过这样破坏了安全性,也会因为软件的反复更新,而需要每次做重复的操作。

  2. 我们可以使用 gksu -u <username> <bin> 的方式来在终端以其他用户的身份启动应用。

  3. usr/share/applications 路径下陈列着应用菜单里相应的 .desktop 文件。其中 Exec 参数定义了执行的命令。

综述,我们可以创建一个普通的用户,并修改应用菜单执行命令,来达到在 root 桌面环境下方便地以其他用户身份运行应用的目的。

例:使用 Chrome

添加一个名为 normaluser 的用户:

1
useradd -m normaluser

此时,便可以用此用户运行 Chrome:

1
gksu -u normaluser google-chrome-stable

此外,编辑 /usr/share/applications 下的 google-chrome.desktopExec 参数改为:

1
gksu -u normaluser /usr/bin/google-chrome-stable %U

这样,我们便可以通过桌面图标启动 Chrome 了。

Read More

CentOS 7 下编译并安装 shadowsocks-libev 并启用 obfs 混淆

本文以 Vultr 购买的 CentOS 7 主机为例,详细介绍了编译并部署 shadowsocks-libev的方法,并分别说明了不使用 obfs 和使用 obfs 混淆的安装配置方法。建议以密钥的方式绑定主机并以此登录,注意保护好自己的密钥。注:示例命令均是在 root 用户下执行的。

准备工作

首先,更新系统:

1
yum update

为了防止被人暴力扫描破解登录密码,我们先对 Vultr 自动生成的密码进行重置:

1
passwd root

这里我个人使用了 256 位随机密码,包含特殊字符。

另外也可以安装 fail2ban 来禁止掉反复尝试登录的ip地址:

1
yum install fail2ban

启用 fail2ban :

1
systemctl enable fail2ban

Read More

搭建利用 obfs4 混淆的 Tor Bridge 的过程

本文最后更新于 2019 年 9 月 20 日


本文以 Debian 10 和 Ubuntu 18.04 为例,说明如何搭建 Tor Bridge。

请先参照 Ubuntu (Debian) 服务器的初始化配置 一文对服务器进行各种必要的配置。本文以 sammy 用户为例,进行 Tor bridge 的搭建,并默认已按初始化配置文章对服务器进行了必要的安全配置。


Tor 的目的在其匿名性,众所周知,如果在特殊的网络环境下,想连接到 Tor 网络可能需要一个网桥,一般的网桥还不行,因为会被检测到 Tor 流量,ip 直接被 ban 掉。

Tor 的节点分为三种

  1. 作为出口节点,Exit Relays 。出口节点实际上是暴露于互联网的,相当于最后真正去访问站点的那个人。

  2. 在 Tor directory 中列出的中继节点,叫 Middle Relays 。IP 很可能被检测到,很可能被屏蔽。

  3. 在 Tor directory 中不列出的中继节点,叫 Bridges ,也就是我们这篇文章重点介绍的节点。它可以帮助你绕过网络运营商对于 Tor 的封锁。

混淆插件

在过去的几年中,审查者开始可以屏蔽即使使用了 Bridges 的 Tor clients 。故,在严格审查的环境下,我们应该使用混淆插件进行规避,比如 meek,比如 obfs4,在这里,将着重介绍如何使用 obfs4 。

VPS 对于 Tor 的支持

并非所有 VPS 商都允许使用 Tor,所以应该事先了解政策支持情况,下面表格列出了常用的 VPS 支持情况:

VPSBridgesRelayExit
DigitalOceanYESYESNO
VultrYESYESNO
LinodeYESYESAmbiguous

获取更多信息,可以参考支持/禁封列表

Read More