分类目录归档:杂文杂载

PHP在RS232串口通讯协议的应用演示[测试环境PHP5.1.4]

1. 预先的知识:
什么是RS232/RS484及其应用?
引用:
RS232接口就是串口,电脑机箱后方的9芯(或25芯)插座,旁边一般有 “|O|O|” 样标识。 
一般机箱有两个,新机箱有可能只有一个。笔记本电脑有可能没有。 
有很多工业仪器将它作为标准通信端口。通信的内容与格式一般附在仪器的用户说明书中。 

计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输 时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS- 232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制 解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换 接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信 号的电平加以规定。 

(1)接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表1所示 

(2)接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1” 
(3) 接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备 与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9 芯插头座,传输线采用屏蔽双绞线。 

(4)传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实 际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10% 而得出附表2 的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽 网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。 

1.RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标 准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数 情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒 50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有 2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以 增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。 

2.RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有 抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任 何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以 联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。 

以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理 介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于 单一设备类型,程序不具备通用性。在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的 设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从 (Slave)设备。而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。

来源网址:http://zhidao.baidu.com/question/4578886.html

从串口双机对联线缆指南
引用:
(一)串行通讯电缆的制作

无论是9孔插头,还是25孔插头,其串行通讯电缆连接时都要遵循下列对接关系:

SG←→SG TXD←→RXD RXD←→TXD RTS←→CTS
CTS←→RTS DTR←→DSR DSR←→DTR

根据上述对接关系,就可以非常方便地连接串行通讯电缆。这里顺便介绍一下上述各引脚所代表的含义:

SG英文全称为Signal Ground/Common Return,表示信号地;
TXD指Transmitted Data,表示数据发送;
RXD指Received Data,表示接收数据;
RTS指Request To Send,表示发送请求;
CTS指Clear To Send,表示清除请求;
DTR指Data Terminal Ready,表示数据终端准备就绪;
DSR指Data Signal Rate Selector,表示数据置位准备就绪。

在制作9芯串口连线时,需要2个9孔插头和1.5米长的至少7芯的扁平电缆,引脚连线如下所示。

9孔插头-9孔插头引脚连线为:2-3、3-2、4-6、5-5、6-4、7-8、8-7。
9孔插头-25孔插头引脚连线为:2-2、3-3、4-6、5-7、6-20、7-5、8-4。
25孔插头-25孔插头引脚连线为:2-3、3-2、4-5、5-4、6-20、7-7、20-6。

来源网址:http://win2000server.vicp.net:88/Article_Show.asp?ArticleID=25

二、测试环境的构建:
1.  参考上面的《(一)串行通讯电缆的制作》,首先把两台电脑通过串口连结起来。
当然,你也完全可以这么操作一台电脑上面的两个串口,而不需要两台电脑;如果你有两个串口的话。
因为我以前做过工业控制底层开发,所以我可以很容易的构建这个基本的环境;
实际上,只要:[color=red]RxD TxD对接,GND直连即可,俗称三线连接。[/color]
这一点不做任何答疑。

2. PHP运行环境的构建:
操作系统:WindowsXP(其他Windows系统没有测试)
PHP5.1.4: http://cn.php.net/get/php-5.1.4-Win32.zip/from/a/mirror
PECL5.1.4:http://cn.php.net/get/pecl-5.1.4-Win32.zip/from/a/mirror
解压PHP5.1.4,把PECL5.1.4之中的php_dio.dll放到PHP5.1.4的ext目录之下
把PHP5.1.4之中的php.ini-dist拷贝粘贴为php.ini,并打开设置然后保存:

extension=php_dio.dll

这一点不做任何答疑。

三:参考资料:
1. 参考手册文档:
http://cn.php.net/manual/zh/ref.dio.php
http://cn.php.net/manual/zh/ref.exec.php
如果代码之中有你没有见过,或者没有使用过,或者不熟悉的函数,请访问以上网址。
主要使用了PHP的Direct IO Functions.

四:演示代码:
[color=Green][font=Times New Roman]

// -------------------------------------------------------------------------- 
// File name   RS232_Server.php 
// Description RS232演示上位机程序 
// Requirement PHP 5.1.4 (cli) (http://www.php.net) 
// 
// Copyright(C), HonestQiao, 2006, All Rights Reserved. 
// 
// Author: HonestQiao (honestqiao@hotmail.com/QQ:5601680)  
// 
// 程序简介: 
// 本程序与RS232_Client构成一个完整的演示系统,展示了PHP在RS232串口通讯上的应用。 
// 程序之中实现了一个基础但是完整的RS232通讯协议(HQB232),通讯协议格式如下: 
// 协议内容: 
//             C->S 01 //请求通讯 
//             S->C 02 //响应通讯 
//             C->S LEN DATA //LEN表示数据(DATA)长度 DATA表示实际数据 
//             C->S 03 //结束通讯 
// 说明:S表示上位机 C表示下位机 
//       HQB232表示HonestQiao演示的基础(Base)RS232通讯协议,包含了协议的 
//   请求和响应,数据帧的结构。 
//       演示过程为通讯的请求和响应,十次数据帧的发送, 通讯的结束 
//       数据帧的结构为当前的序号,microtime(),随机字符串 
//         
//       欢迎探讨PHP在RS232串口通讯上的应用。 
// -------------------------------------------------------------------------- 
set_time_limit(0); 
exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on'); 

$fd dio_open('COM1:', O_RDWR); 
if(!$fd) 
{ 
die("Error when open COM1"); 
} 

$ff dio_stat($fd);print_r($ff); 
echo "HQB232 SERVER is listenning on COM1\n"; 
/// read 
$len 2; 
$t=0;while (($t++)<1000)  
{ 
$data dio_read($fd, $len); 
if ($data) { 
if($data==chr(0).chr(1)){ 
echo "S_RECV:01\n"; 
echo "S_SEND:02\n"; 
dio_write($fd,chr(0).chr(2)); 
break; 
} 
} 
} 

/// read 
$len 2; 
$t=0;while (($t++)<1000)  
{ 
$len 2; 
$data dio_read($fd, $len); 
if($data==chr(0).chr(3)){ 
echo "S_RECV:03\n"; 
break; 
} 
elseif ($data) { 
$len intval($data); 
$data dio_read($fd, $len); 
if($data){ 
echo "S_RECV:($len)$data\n"; 
} 
} 
} 
dio_close($fd);









// File name   RS232_Client.php 
// Description RS232演示下位机程序 
// Requirement PHP 5.1.4 (cli) (http://www.php.net) 
// 
// Copyright(C), HonestQiao, 2006, All Rights Reserved. 
// 
// Author: HonestQiao (honestqiao@hotmail.com/QQ:5601680)  
// 
// 程序简介: 
// 本程序与RS232_Server构成一个完整的演示系统,展示了PHP在RS232串口通讯上的应用。 
// 程序之中实现了一个基础但是完整的RS232通讯协议(HQB232),通讯协议格式如下: 
// 协议内容: 
//             C->S 01 //请求通讯 
//             S->C 02 //响应通讯 
//             C->S LEN DATA //LEN表示数据(DATA)长度 DATA表示实际数据 
//             C->S 03 //结束通讯 
// 说明:S表示上位机 C表示下位机 
//       HQB232表示HonestQiao演示的基础(Base)RS232通讯协议,包含了协议的 
//   请求和响应,数据帧的结构。 
//       演示过程为通讯的请求和响应,十次数据帧的发送, 通讯的结束 
//       数据帧的结构为当前的序号,microtime(),随机字符串 
//         
//       欢迎探讨PHP在RS232串口通讯上的应用。 
// -------------------------------------------------------------------------- 
set_time_limit(0); 
exec('mode COM2: baud=115200 data=8 stop=1 parity=n xon=on'); 

$fd dio_open('COM2:', O_RDWR); 
if(!$fd) 
{ 
die("Error when open COM2"); 
} 

$ff dio_stat($fd);print_r($ff); 
echo "HQB232 CLIENT is start on COM2\n"; 
dio_write($fd,chr(0).chr(1));echo "C_SEND:01\n"; 
$len 2; 
$t=0;while(($t++)<1000) 
{ 
$data dio_read($fd, $len); 
if($data==chr(0).chr(2)){ 
echo "C_RECV:02\n"; 
break; 
} 
} 
$len 2; 
$t=0;while(($t++)<10) 
{ 
$sdata sprintf("d",$t) "=" microtime() (" randomkeys(rand(0,35)) ")"; 
$slen strlen($sdata); 
$stxlen sprintf("d",$slen); 
dio_write($fd,"$stxlen"); 
dio_write($fd,"$sdata");echo "C_SEND:($stxlen)$sdata\n"; 
//sleep(1); 
} 
dio_write($fd,chr(0).chr(3));echo "C_SEND:03\n"; 
dio_close($fd); 

function randomkeys($length) 
  { 
   $pattern "1234567890abcdefghijklmnopqrstuvwxyz"; 
   for($i=0;$i<$length;$i++) 
   { 
     $key .= $pattern{rand(0,35)}; 
   } 
   return $key; 
}
五、演示过程: 
上位机:开始->运行->CMD 
然后转到PHP5.1.4目录之下,执行: 
php -f RS232_Server.php 

下位机:开始->运行->CMD 
然后转到PHP5.1.4目录之下,执行: 
php -f RS232_Client.php 


实际结果如下:

F:\usr\local\php5>php -f e:\RS232_Server.php 
Array 
( 
    [device] => 3 
    [inode] => 0 
    [mode] => 8192 
    [nlink] => 1 
    [uid] => 0 
    [gid] => 0 
    [device_type] => 3 
    [size] => 0 
    [atime] => 0 
    [mtime] => 0 
    [ctime] => 0 
) 
HQB232 SERVER is listenning on COM1 
S_RECV:01 
S_SEND:02 
S_RECV:(53)001=0.19238200 1150031774 (krruv981gpf1pmi1fz4qz09e9) 
S_RECV:(42)002=0.19144800 1150031775 (jrhw41mphuy0ui) 
S_RECV:(40)003=0.19148500 1150031776 (lqq560p6v17r) 
S_RECV:(36)004=0.19148900 1150031777 (3ct02xmc) 
S_RECV:(28)005=0.19212700 1150031778 () 
S_RECV:(33)006=0.19162500 1150031779 (2ilqf) 
S_RECV:(34)007=0.19167800 1150031780 (vwmdfc) 
S_RECV:(62)008=0.19168700 1150031781 (idb0laix4a6ryxz5nb7u74iaza601it6sv) 
S_RECV:(56)009=0.19170100 1150031782 (r9ypgtvu4j7w1u141qx6im20ajy7) 
S_RECV:(53)010=0.19171000 1150031783 (wq5mp1sdfuet1tp0x3vk67n47) 
S_RECV:03 

F:\usr\local\php5>


F:\usr\local\php5>php -f e:\RS232_Client.php 
Array 
( 
    [device] => 3 
    [inode] => 0 
    [mode] => 8192 
    [nlink] => 1 
    [uid] => 0 
    [gid] => 0 
    [device_type] => 3 
    [size] => 0 
    [atime] => 0 
    [mtime] => 0 
    [ctime] => 0 
) 
HQB232 CLIENT is start on COM2 
C_SEND:01 
C_RECV:02 
C_SEND:(53)001=0.19238200 1150031774 (krruv981gpf1pmi1fz4qz09e9) 
C_SEND:(42)002=0.19144800 1150031775 (jrhw41mphuy0ui) 
C_SEND:(40)003=0.19148500 1150031776 (lqq560p6v17r) 
C_SEND:(36)004=0.19148900 1150031777 (3ct02xmc) 
C_SEND:(28)005=0.19212700 1150031778 () 
C_SEND:(33)006=0.19162500 1150031779 (2ilqf) 
C_SEND:(34)007=0.19167800 1150031780 (vwmdfc) 
C_SEND:(62)008=0.19168700 1150031781 (idb0laix4a6ryxz5nb7u74iaza601it6sv) 
C_SEND:(56)009=0.19170100 1150031782 (r9ypgtvu4j7w1u141qx6im20ajy7) 
C_SEND:(53)010=0.19171000 1150031783 (wq5mp1sdfuet1tp0x3vk67n47) 
C_SEND:03 

F:\usr\local\php5>


六:说明 
1. exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on'); 
    exec('mode COM2: baud=115200 data=8 stop=1 parity=n xon=on'); 

mode是CMD下面的命令,表示设置串口的参数,因为dio_tcsetattr() 未在Windows下面实现,所以需要使用CMD的mode命令来进行设置,具体用法,请看:help mode 

2. 通讯协议使用ASCII文本进行,没有使用HEX十六进制。因为是演示程序,所以协议非常简单,但是一个协议基本的内容都有了。 

3. 下位机程序的sleep(1),这个是通讯之中常见的情况,数据传输和上位机处理需要一定的时间。 

4. 演示的为RS232,以此类推,你也可以用到其他的场合。例如:简单修改,应用到HTTP通讯。 

5. 硬件环境的建立,PHP环境的建立,不做任何答疑。 

6. 欢迎探讨。 

7. 感谢mikespook的意见,附加,如果是*nix,则: 
'/dev/ttyS0'表示第一个COM端口,依此类推;端口的设置,应该在dio_open之后,使用: 
dio_tcsetattr($fd, array( 
  'baud' => 9600, 
  'bits' => 8, 
  'stop'  => 1, 
  'parity' => 0 
));

Shadowsocks客户端下载地址

各版本Shadowsocks客户端下载地址(Windows,Mac,Linux,Android/安卓,iOS/苹果)

官方客户端下载地址在:Shadowsocks Clients

不用再购买节点,自己搭建一台ss服务器:一键脚本搭建SS/SSR服务并开启BBR加速

Shadowsocks各版本官方下载地址

1. Windows客户端下载地址:https://github.com/shadowsocks/shadowsocks-windows/releases

Windows对Framework的版本要求比价高,我的是4.0.2的要求Framework4.6.2。如果是XP或者Framework比较低的,可以直接下载低版本的ss(windows 2.3.1下载地址:https://github.com/shadowsocks/shadowsocks-windows/releases?after=2.5.1

2. Mac客户端下载地址:https://github.com/shadowsocks/ShadowsocksX-NG/releases

3. Linux客户端下载地址:https://github.com/shadowsocks/shadowsocks-qt5/wiki/Installation

4. Android/安卓客户端下载地址:https://github.com/shadowsocks/shadowsocks-android/releases

5. iOS/苹果客户端直接在App Store里搜索shadowsock关键字(或者wingy关键字,FirstWingy可用 2018.03.25),软件经常被下架,我目前用的是Wingy & Shadowrocket~如果找不到,你也可以通过PP助手去下载Shadowrocket。(2018年6月18日更,目前App Store可用免费iOS软件:暂无。收费软件:SuperWingy,ShadowBroken。推荐免费下载iOS客户端方法:也可以电脑下载PP助手,手机连上电脑后会自动将PP助手同步至手机,不需要越狱,之后在手机上通过PP助手下载shadowrocket)

在CENTOS 7上搭建Shadowsocks图文教程

这里介绍的是使用Pip作为管理软件对shadowsocks进行管理,所以我们应该首先安装一下pip。

安装pip

pip的安装这里参考官网-Installation,即,输入curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py后回车,如下:

[root@ssserver ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1604k  100 1604k    0     0  11.1M      0 --:--:-- --:--:-- --:--:-- 11.2M

然后,输入python get-pip.py之后回车,如下:

[root@ssserver ~]# python get-pip.py
Collecting pip
  Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 11.3MB/s 
Collecting wheel
  Downloading https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl (41kB)
    100% |████████████████████████████████| 51kB 17.5MB/s 
Installing collected packages: pip, wheel
Successfully installed pip-18.0 wheel-0.31.1
[root@ssserver ~]# 

安装shadowsocks

输入pip install shadowsocks后回车,如下:

[root@ssserver ~]# pip install shadowsocks
Collecting shadowsocks
  Downloading https://files.pythonhosted.org/packages/02/1e/e3a5135255d06813aca6631da31768d44f63692480af3a1621818008eb4a/shadowsocks-2.8.2.tar.gz
Building wheels for collected packages: shadowsocks
  Running setup.py bdist_wheel for shadowsocks ... done
  Stored in directory: /root/.cache/pip/wheels/5e/8d/b6/3e2243a7e116984b2c3597c122c29abcfeac77daa260079e88
Successfully built shadowsocks
Installing collected packages: shadowsocks
Successfully installed shadowsocks-2.8.2

提示安装成功!

配置shadowsocks

输入编辑文件命令vi /etc/shadowsocks.json并回车,如下:

[root@ssserver ~]# vi /etc/shadowsocks.json

上述步骤是编辑一个新文件,按键盘i键后,粘贴下面内容:

{
    "server":"0.0.0.0",
    "server_port":50013,
    "local_port":1080,
    "password":"1234567890",
    "timeout":600,
    "method":"aes-256-cfb"
}

然后按键盘’Esc’键,再按shift+:键,再输入wq并回车。文件编辑结束。

上面的50013是你的服务器端口,1234567890是你进行连接的密码。

将shadowsocks加入系统服务

输入编辑文件命令vi /etc/systemd/system/shadowsocks.service并回车,如下:

[root@ssserver ~]# vi /etc/systemd/system/shadowsocks.service

按键盘i键后,粘贴下面内容:

[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

然后按键盘’Esc’键,再按shift+:键,再输入wq并回车。文件编辑结束。

启动shadowsocks服务并设置开机自启

# 设置开机自启命令
systemctl enable shadowsocks

# 启动命令
systemctl start shadowsocks

#查看状态命令
systemctl status shadowsocks

依次执行上面的三条命令,如下:

[root@ssserver ~]# vi /etc/shadowsocks.json
[root@ssserver ~]# 
[root@ssserver ~]# 
[root@ssserver ~]# vi /etc/systemd/system/shadowsocks.service
[root@ssserver ~]# 
[root@ssserver ~]# 
[root@ssserver ~]# 
[root@ssserver ~]# systemctl enable shadowsocks
Created symlink from /etc/systemd/system/multi-user.target.wants/shadowsocks.service to /etc/systemd/system/shadowsocks.service.
[root@ssserver ~]# systemctl start shadowsocks
[root@ssserver ~]# systemctl status shadowsocks
 shadowsocks.service - Shadowsocks
   Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-08-28 13:27:53 UTC; 7s ago
 Main PID: 1259 (ssserver)
   CGroup: /system.slice/shadowsocks.service
           └─1259 /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks.json

Aug 28 13:27:53 ssserver systemd[1]: Started Shadowsocks.
Aug 28 13:27:53 ssserver systemd[1]: Starting Shadowsocks...
Aug 28 13:27:54 ssserver ssserver[1259]: INFO: loading config from /etc/shadowsocks.json
Aug 28 13:27:54 ssserver ssserver[1259]: 2018-08-28 13:27:54 INFO     loading libcrypto from libcrypto.so.10
Aug 28 13:27:54 ssserver ssserver[1259]: 2018-08-28 13:27:54 INFO     starting server at 0.0.0.0:50013

CentOS开放端口的方法

Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld。所以,端口的开启还是要从两种情况来说明的,即iptables和firewalld。更多关于CentOs防火墙的最新内容,请参考Redhat官网[4.5 使用防火墙]。

一、iptables(centos 6及以前)

1.打开/关闭/重启防火墙

开启防火墙(重启后永久生效):chkconfig iptables on

关闭防火墙(重启后永久生效):chkconfig iptables off

开启防火墙(即时生效,重启后失效):service iptables start

关闭防火墙(即时生效,重启后失效):service iptables stop

重启防火墙:service iptables restartd

2.查看打开的端口

/etc/init.d/iptables status

3.打开某个端口(以8080为例)

(1)开启端口

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT 

(2)保存并重启防火墙

/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

4.打开49152~65534之间的端口

iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT  

同样,这里需要对设置进行保存,并重启防火墙。

5.其他打开方式

我们还可以通过修改/etc/sysconfig/iptables文件的方式开启端口,如下

vi /etc/sysconfig/iptables

然后在文件中增加一行

-A RH-Firewall-1-INPUT -m state state NEW -m tcp -p tcp dport 8080 -j ACCEPT

参数说明:

  • –A 参数就看成是添加一条规则
  • –p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
  • –dport 就是目标端口,当数据从外部进入服务器为目标端口
  • –sport 数据从服务器出去,则为数据源端口使用
  • –j 就是指定是 ACCEPT -接收 或者 DROP 不接收

二、firewalld(centos7)

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

1.启动防火墙

systemctl start firewalld 

2.禁用防火墙

systemctl stop firewalld

3.设置开机启动

systemctl enable firewalld

4.停止并禁用开机启动

sytemctl disable firewalld

5.重启防火墙

firewall-cmd --reload

6.查看状态

systemctl status firewalld或者 firewall-cmd --state

7.查看版本

firewall-cmd --version

8.查看帮助

firewall-cmd --help

9.查看区域信息

firewall-cmd --get-active-zones

10.查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0

11.拒绝所有包

firewall-cmd --panic-on

12.取消拒绝状态

firewall-cmd --panic-off

13.查看是否拒绝

firewall-cmd --query-panic

14.将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)

15.设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)

16.更新防火墙规则

firewall-cmd --reloadfirewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)

17.查看指定区域所有打开的端口

firewall-cmd --zone=public --list-ports

18.在指定区域打开端口(记得重启防火墙)

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

一键脚本搭建SS/SSR服务并开启BBR加速

什么是shadowsocks

shadowsocks可以指一种SOCKS5的加密传输协议,也可以指基于这种加密协议的各种数据传输包。

shadowsocks原理?shadowsocks正常工作需要服务器端和客户端两端合作实现,首先,客户端(本机)通过ss(shadowsocks)对正常的访问请求进行SOCK5加密,将加密后的访问请求传输给ss服务器端,服务器端接收到客户端的加密请求后,解密得到原始的访问请求,根据请求内容访问指定的网,得到网站的返回结果后,再利用SOCKS5加密并返回给客户端,客户端通过ss解密后得到正常的访问结果,于是就可以实现你直接访问该网站的“假象”。

为什么选择shadowsocks?不限终端(安卓,苹果,Windows,Mac都可用),流量便宜(服务器500G只要15元),方便(一键脚本,不需要专业知识)。

为什么要自己搭建ss/ssr?你也许会觉得买ss服务也很方便,但是你得要考虑以下几个问题。首先,买的ss服务,限制很多,终端可能只能同时在线2个,每个月就一点点流量可能价格却不便宜,有时候还被别人做手脚,流量跑的贼快;其次,别人收钱跑路怎么办?很多这种情况的;更重要的是,如第一个问题中描述的shadowsocks原理,如果有心人做了一点手脚,是可以得到你的访问记录的;而自己搭建ss/ssr服务,一键脚本也就10来分钟就可以搞定。

一键脚本搭建ss/ssr支持系统版本

脚本系统支持:CentOS 6+,Debian 7+,Ubuntu 12+

:这个脚本支持的系统版本是指ss服务器的版本(都没看过也没关系,不影响搭建),你本机是Windows、Mac、Linux,或者你想用手机端搭建ss/ssr服务器,安卓和苹果,都是可以的。

一键搭建SS/搭建SSR服务

注意,shadowsocks/shadowsocksR这两个只需要搭建一个就可以了!!!!我用的是SS。

1.下载一键搭建SS脚本文件(只需要执行一次,卸载SS后也不需要重新下载)

git clone https://github.com/flyzy2005/ss-fly

2.运行搭建ss脚本代码

ss-fly/ss-fly.sh -i flyzy2005.com 1024

其中flyzy2005.com换成你要设置的shadowsocks的密码即可(这个flyzy2005.com就是你ss的密码了,是需要填在客户端的密码那一栏的),密码随便设置,最好只包含字母+数字,一些特殊字符可能会导致冲突。而第二个参数1024是端口号,也可以不加,不加默认是1024~(举个例子,脚本命令可以是ss-fly/ss-fly.sh -i qwerasd,也可以是ss-fly/ss-fly.sh -i qwerasd 8585,后者指定了服务器端口为8585,前者则是默认的端口号1024,两个命令设置的ss密码都是qwerasd)

注:如果需要改密码或者改端口,只需要重新再执行一次搭建ss脚本代码就可以了,或者修改/etc/shadowsocks.json这个配置文件。

3.相关ss操作

修改配置文件:vim /etc/shadowsocks.json
停止ss服务:ssserver -c /etc/shadowsocks.json -d stop
启动ss服务:ssserver -c /etc/shadowsocks.json -d start
重启ss服务:ssserver -c /etc/shadowsocks.json -d restart

4.卸载ss服务

ss-fly/ss-fly.sh -uninstall

一键搭建shadowsocksR

再次提醒,如果安装了SS,就不需要再安装SSR了,如果要改装SSR,请按照上一部分内容的教程先卸载SS!!!

1.下载一键搭建ssr脚本(只需要执行一次,卸载ssr后也不需要重新执行)

git clone https://github.com/flyzy2005/ss-fly,此步骤与一键搭建ss一致,出错可以参考上一部分内容。

2.运行搭建ssr脚本代码

ss-fly/ss-fly.sh -ssr

3.输入对应的参数

执行完上述的脚本代码后,会进入到输入参数的界面,包括服务器端口,密码,加密方式,协议,混淆。可以直接输入回车选择默认值,也可以输入相应的值选择对应的选项

全部选择结束后,会看到如下界面,就说明搭建ssr成功了:

Congratulations, ShadowsocksR server install completed!
Your Server IP        :你的服务器ip
Your Server Port      :你的端口
Your Password         :你的密码
Your Protocol         :你的协议
Your obfs             :你的混淆
Your Encryption Method:your_encryption_method

Welcome to visit:https://shadowsocks.be/9.html
Enjoy it!

4.相关操作ssr命令

启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status

配置文件路径:/etc/shadowsocks.json
日志文件路径:/var/log/shadowsocks.log
代码安装目录:/usr/local/shadowsocks

5.卸载ssr服务

./shadowsocksR.sh uninstall

一键开启BBR加速

BBR是Google开源的一套内核加速算法,可以让你搭建的shadowsocks/shadowsocksR速度上一个台阶,本一键搭建ss/ssr脚本支持一键升级最新版本的内核并开启BBR加速。

BBR支持4.9以上的,如果低于这个版本则会自动下载最新内容版本的内核后开启BBR加速并重启,如果高于4.9以上则自动开启BBR加速,执行如下脚本命令即可自动开启BBR加速:

ss-fly/ss-fly.sh -bbr

装完后需要重启系统,输入y即可立即重启,或者之后输入reboot命令重启。

判断BBR加速有没有开启成功。输入以下命令:

sysctl net.ipv4.tcp_available_congestion_control

如果返回值为:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

后面有bbr,则说明已经开启成功了。

netsh命令备份/还原网络配置

如果用户使用笔记本电脑,并经常往来于家庭和公司之间,那么备份网络配置即可避免在网络配置改变之后重新配置。在windows98系统下可以使用”ipconfig /batch bak-netcfg”命令备份网络配置。在windows2000/XP系统下,可以使用netsh命令。
要把主机上的所有网络相关的配置信息备份到C盘test.txt文件,可以运行命令:
netsh dump>c:\test.txt
要把本机中远程访问连接和TCP/IP配置接口参数备份到C盘下的test.txt,可以运行命令:netsh interface dump>test.txt。
示例如下:
C:\>netsh dump>c:\test.txt,然后我们就可以在c盘找到test.txt文件,改文件的内容如下:
#========================
# 接口配置
#========================
pushd interface

popd
# 接口配置结束

# ———————————-
# IPHTTPS 配置
# ———————————-
pushd interface httpstunnel

reset

popd
# IPHTTPS 配置的结尾

#========================
# IPv4 配置
#========================
pushd interface ipv4

reset
set global defaultcurhoplimit=64 icmpredirects=enabled taskoffload=enabled

popd
# IPv4 配置结束

# ———————————-
# IPv6 配置
# ———————————-
pushd interface ipv6

reset

popd
# IPv6 配置的结尾

# ———————————-
# ISATAP 配置
# ———————————-
pushd interface isatap

popd
# ISATAP 配置结束

# ———————————-
# 6to4 配置
# ———————————-
pushd interface 6to4

reset

popd
# 6to4 配置结束

# ———————————-
# ISATAP 配置
# ———————————-
pushd interface isatap

popd
# ISATAP 配置结束

#========================
# 端口代理配置
#========================
pushd interface portproxy

reset

popd

# 端口代理配置结束

# ———————————-
# TCP 配置
# ———————————-
pushd interface tcp

reset

全局设置 rss=enabled chimney=automatic autotuninglevel=normal congestionprovider=none ecncapability=disabled timestamps=disabled netdma=enabled dca=enabled

popd
# TCP 配置结束

# ———————————-
# Teredo 配置
# ———————————-
pushd interface teredo
set state type=client servername=teredo.ipv6.microsoft.com. servervirtualip=0.0.0.0

popd
# Teredo 配置结束

# ———————————-
# 6to4 配置
# ———————————-
pushd interface 6to4

reset

popd
# 6to4 配置结束

# ————————————
# 桥配置 (不支持)
# ————————————

# ————————————
# 桥配置结束
# ————————————

# —————————————-
# 有线局域网配置
# —————————————-
pushd lan

popd

# 有线局域网配置结尾。

不支持移动宽带配置转储

# ==========================================================
# 健康注册机构配置
# ==========================================================
pushd nap hra

popd
# NAP HRA 配置的结尾

# —————————————–
# 远程访问配置
# —————————————–
pushd ras

set authmode mode = standard
delete authtype type = PAP
delete authtype type = MD5CHAP
delete authtype type = MSCHAPv2
delete authtype type = EAP
delete authtype type = CERT
add authtype type = MSCHAPv2
delete link type = SWC
delete link type = LCP
add link type = SWC
add link type = LCP
delete multilink type = MULTI
add multilink type = MULTI
set conf confstate = disabled
set type ipv4rtrtype = lananddd ipv6rtrtype = none rastype = ipv4
set wanports device = “WAN Miniport (IKEv2)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2
set wanports device = “WAN Miniport (L2TP)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2
set wanports device = “WAN Miniport (PPPOE)” ddoutonly = disabled
set wanports device = “WAN Miniport (PPTP)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2
set wanports device = “WAN Miniport (SSTP)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2

set user name = Administrator dialin = policy cbpolicy = none
set user name = Guest dialin = policy cbpolicy = none

set ikev2connection idletimeout = 5 nwoutagetime = 30
set ikev2saexpiry saexpirytime = 480 sadatasizelimit = 100

popd

# 远程访问配置结束。

# —————————————–
# 远程访问诊断配置
# —————————————–
pushd ras diagnostics

set rastracing component = * state = disabled

set modemtracing state = disabled

set cmtracing state = disabled

set securityeventlog state = disabled

set loglevel events = warn

popd

# 远程访问诊断配置结束

# —————————————–
# 远程访问 IP 配置
# —————————————–
pushd ras ip

delete pool

set negotiation mode = allow
set access mode = all
set addrreq mode = deny
set broadcastnameresolution mode = enabled
set addrassign method = auto
set preferredadapter

popd

# 远程访问 IP 配置结束。

# —————————————–
# 远程访问 IPv6 配置
# —————————————–
pushd ras ipv6

set negotiation mode = deny
set access mode = all
set routeradvertise mode = enabled

popd

# 远程访问 IPv6 配置结束。

# —————————————–
# 远程访问 AAAA 配置
# —————————————–
pushd ras aaaa

popd

# 远程访问 AAAA 配置结束。

# —————————————–
# WinHTTP 代理服务器配置
# —————————————–
pushd winhttp

reset proxy

popd

# WinHTTP 代理服务器配置末尾

以后在进行网络设置调整时,如果发生了操作错误,或者服务器网络出现故障,可以利用备份快速恢复网络设置:
netsh -f c:\test.txt或netsh exec c:\test.txt

linux服务器校对时间方法

Linux中有个ntp包可以自动校准时间,并且非常好用。

Debian系统安装NTP校时包:
1    apt-get install ntpdate

CentOS系统安装NTP校时包:
1    yum install ntp

校时命令:
1    ntpdate cn.pool.ntp.org

如果想每隔一定时间自动校时,只需将上面的命令加入至Cron就行了:
1    00 12 * * * /sbin/ntpdate cn.pool.ntp.org

* cn.pool.ntp.org是ntp网络授时组织的中国授时源

方法二

快速校对Linux服务器时间至北京时间

服务器采用ntp更新时间,经常牵扯到UTC是否开启的问题,开启了时间就会快8个小时
前段时间朋友给我了下面的命令,一条命令解决之前的所有问题。

rdate -t 60 -s stdtime.gov.hk

使用rdate将stdtime.gov.hk服务器的时间抓取回来,然后写入硬件

hwclock -w

下面是rdate的命令使用方法介绍

功能说明:显示其他主机的日期与时间。
语  法:rdate [-ps][主机名称或IP地址…]
补充说明:执行rdate指令,向其他主机询问系统时间并显示出来。
参  数:
-p  显示远端主机的日期与时间。
-s  把从远端主机收到的日期和时间,回存到本地主机的系统时间。

qlv格式怎么转换

qlv格式怎么转换,qlv是腾讯视频的一种加密格式,大部分转码工具是无法转换的

 

  1. 先下载腾讯视频的客户端,进行安装,找到你要看的视频进行观看一次,让视频文件缓存在你电脑里面。

    qlv格式怎么转换
  2. 找到缓存文件,首先先找到缓存文件夹在哪,先打开腾讯客户端的设置里面找到如图

    qlv格式怎么转换
  3. 然后打开cmd。

    可以按win键+r键 (win键就是键盘上带win图标的那个,alt和ctrl之间的)

    这是打开了运行,输入cmd 在运行就可以了

    win8.1的可以在开始键上右击里面有一个 命令提示符和命令提示符 管理员版 打开那个都可以。如图

    qlv格式怎么转换
    qlv格式怎么转换
  4. 在打开的cdm里面输入   e:  按下回车进入e盘

    然后输入:copy/b *.tdl 1.mp4   对E盘下所有tdl格式的文件进行合并。然后你就会看到E盘下有个1.mp4的视频了。

    qlv格式怎么转换

权力的游戏第六季全集播出时间 1-10集时间表6月26日完结

权力的游戏第六季将在4月24日播出第一集,自此每周播放一集,以上是权力的游戏第六季1-10集的播放时间。

权力的游戏第六季全集播出时间:

权力的游戏第六季第一集:2016年4月24日

权力的游戏第六季第二集:2016年5月1日

权力的游戏第六季第三集:2016年5月8日

权力的游戏第六季第四集:2016年5月15日

权力的游戏第六季第五集:2016年5月22日

权力的游戏第六季第六集:2016年5月29日

权力的游戏第六季第七集:2016年6月5日

权力的游戏第六季第八集:2016年6月12日

权力的游戏第六季第九集:2016年6月19日

权力的游戏第六季第十集:2016年6月26日

 

几个允许商业使用的免费中文字体

目前允许商业使用(如出版、广告等)的免费中文字体只有文泉驿、Droid Sans Fallback、思源黑体(Source Han Sans)/Noto Sans CJK和中華民國教育部標準宋體字形檔。

 

 

文泉驿字体
应用范围:依据其协议,可供商业使用。
文泉驿是FangQ领导的一个自由字体在线协作社区,致力于向社区提供高质量的自由字体和先进的字体开发手段。
文泉驿自由字体处于活跃开发中,建议从官方网站下载最新版。
文泉驿正黑体 授权协议:GPL
文泉驿正黑体是一个”自由字体”。该字体包含了所有常用简体中文、繁体中文所需要的汉字(最新版本包含超过20924个汉字,完整复盖GB2312/Big5以及GBK标准字符集)。该字体同时还包含了日文、韩文和其他几十种语言符号。除此以外,该字体还嵌入了最新版本的文泉驿点阵宋体的中英文点阵,在屏幕显示小字号汉字时,正黑将自动调用内嵌汉字点阵来显示汉字;当屏幕需要超大或者超小字号时,正黑将自动采用矢量进行平滑显示。这种智能选择的方法既兼顾了阅读速度,又保持了用户字体的通用性。
文泉驿微米黑 授权协议:Apache 2.0和GPL v3双授权
文泉驿微米黑是一个”自由字体”。该字体包含了所有常用简体中文、繁体中文所需要的汉字(最新版本包含超过20932个汉字,完整覆盖GB2312/Big5以及GBK标准字符集)。该字体同时还包含了日文、韩文和其他几十种语言符号。以外,该字体还包含了高质量的Droid Sans拉丁符号和Droid Sans Mono等宽字体,并内置Hinting和Kerning信息。微米黑字体文件极小,特别使用于便携式电脑设备。
Droid Sans Fallback
应用范围:根据其协议,可以在商业活动中使用。
Google委托Ascender公司为其手机Android设计的系统字体系列。
Droid字体族 Droid Sans Fallback中提供了比较完整的简体、繁体中文支持,涵盖了 GBK、 Big-5;还有适合日文和韩文的双字节文字支持,JIS-0208 和KSC-5601字符集。
授权协议:Apache 2.0 Android镜像中相关字体
思源黑体Source Han Sans/Noto Sans CJK
应用范围:根据其协议,可以在商业活动中使用。
Google携手Adobe为中日韩用户开发了一款优秀的免费开源字体:思源黑体(Source Han Sans)/Noto Sans CJK,这款字体风格介于现代和传统之间,提供了对日、韩、中文(简/繁体)的支持,包含了7中不同粗细大小。
虽然由两家公司合作开发,但各自对这款字体的称呼却不一样,Adobe称之为Source Han Sans(思源黑体),而谷歌则称它Noto Sans CJK(CJK:Chinese, Japanese, Korean),并纳入了Noto pan-Unicode字体家族。
Adobe拥有字体设计的版权。发布的字体文件则可以不受限制的免费使用。这些字体文件使用Apache许可证版本2(Apache License, Version 2)。
开发泛中日韩字体Noto Sans CJK是Google提高在各种设备上的阅读体验的重要一步。Noto Sans CJK是Google的泛Unicode字体家族Noto的最新成员。Noto字体家族的目标是支持世界上的所有语言。整个Noto字体家族包括中日韩部分都免费开放给所有人使用。用户可以访问Noto主页下载Noto Sans CJK及其他Noto字体。也可以访问Adobe Typekit网站下载,如果想要使用原始源文件,可以通过SourceForge和GitHub下载页获取,采用Apache 2.0许可证授权。
下载完成后,解压缩下载文件,打开控制面板的“字体”选项,将解压后的文件拖进去即可安装。
叶根友字体
应用范围:个人非商业使用免费,商业用途请购买授权。
叶根友字体起始于2007年,定位手写体,经过7年的发展,已达30多套字体,目前已经成为设计师必备字体,成为字体界继方正、文鼎、汉仪后的一匹黑马。 其中“叶根友疾风草书”、“叶根友刀锋黑草”、“叶根友蚕燕隶书”深受设计师喜爱。
2014 年,叶根友不满于业内高价钓鱼式维权销售,率先发起字体平民价的活动,一套字体 860 元起,不限类目,不限年限,永久使用,令业界哗然,视其为利益搅局者,私下甚至收到过同行的威胁,但是叶根友不为所动,表示只有当产品的价值与价格匹配时,产品和产业链才能得以正常和持久健康的发展,做企业要做良心企业。
叶根友字体:下载
中華民國教育部標準宋體字形檔
应用范围:根据其协议,可以在商业活动中使用。
一、本字形檔之著作權係採創用CC 「姓名標示-禁止改作3.0臺灣版」授權 。如需引用,請標示「中華民國教育部」 。
二、若有其他使用需求,請敘明使用方式與目的,以書面方式向教育部終身教育司申請。郵寄地址:臺北市中正區中山南路5號,電話:(02)7736-6820。
三、字形檔說明:
for Unicode版:適用作業平臺Windows XP 、 Linux 或MAC
for BIG-5版:適用作業平臺Windows 95/98 、 Windows 2000 、 Windows XP 及 Linux 使用者
for BIG-5版(MAC):適用作業平臺 MAC
中華民國教育部標準宋體字形檔:下载
文鼎公众授权字型
应用范围:非商业免费使用。
文鼎科技非常热心于开源软件社群的公众授权字型(Public License Font)提供,于2001年捐赠了四套字型予开源软件社群:文鼎细上海宋(繁体 Big5码)、文鼎中楷(繁体 Big5码)、文鼎简报宋(简体 GB码)、文鼎简中楷(简体 GB码),作为Linux等开源软件社群的非商业免费使用,广受开源软件社群的好评。
2010年文鼎再提供2套新的中文公众授权字型(Public License Font),给开源软件社群在非商业上的免费使用,包含文鼎PL明体U20-L(繁体Unicode 2.0码)、文鼎PL报宋2GBK(简体GBK码)。新的中文公众授权字型,采用Unicode及GBK编码,汉字字数分为20902字及21003字,较旧版本的公众授权字型多出7000多字及14000多字。

 

字体名称 版权 授权 可否商用 可否嵌入 PDF 备注 链接
黑体
思源黑体 Google 和 Adobe Apache License 2.0 Github Repo https://sourceforge.net/projects/source-han-sans.adobe/files/
文泉驿微米黑 Google文泉驿信任委员会 Apache2.0 or GPLv3 with font embedding exceptions 可(GPL) http://wenq.org/wqy2/index.cgi?MicroHei
文泉驿正黑体 文泉驿信任委员会 GPL v2 with font embedding exception 可(GPL) http://wenq.org/wqy2/index.cgi?ZenHei
cwTeX Q Hei Bold Tsong-Min Wu, Tsong-Huey Wu, Edward G.J. Lee, Chen-Pan Liao GPL v2 可(GPL) 可(GPL) cwtex-q-fonts https://code.google.com/p/cwtex-q-fonts/
方正黑体 方正电子公司 方正字库2013年商业发布授权政策 可(须书面授权) 未知 http://www.foundertype.com/index/release_info.html
宋体
文泉驿点阵宋体 文泉驿信任委员会 GPL v2 with font embedding exception 可(GPL) http://wenq.org/wqy2/index.cgi?BitmapSong
文鼎PL报宋2GBK 文鼎科技 文鼎公众授权 可(非商用) 授权书 http://www.arphic.com/cn/news/2010/20100420.html
文鼎報宋簡 文鼎科技 文鼎公众授权 可(非商用) 授权书 http://www.arphic.com/tw/service/support/support\_mac\_cont.asp?id=8&toppage=1
文鼎細上海宋繁 文鼎科技 文鼎公众授权 可(非商用) 授权书 http://www.arphic.com/tw/service/support/support\_mac\_cont.asp?id=8&toppage=1
全字庫正宋體 全字库 Creative Commons” Attribution-NoDerivs 3.0 Taiwan”License 可(CC) 可(CC) 授权 http://www.cns11643.gov.tw/AIDB/copyright.do
方正书宋 方正电子公司 方正字库2013年商业发布授权政策 可(须书面授权) 未知 http://www.foundertype.com/index/release_info.html
台湾教育部標準宋體 (台湾)教育部 創用CC 「姓名標示-禁止改作3.0臺灣版」 可(CC) 未知 http://www.edu.tw/pages/detail.aspx?Node=3691&Page=17009&Index=6
香港參考宋體 華康科技香港有限公司 个人使用 未知 使用条款 http://glyph.iso10646hk.net/chinese/download_001.jsp
楷体
文鼎中楷繁 文鼎科技 文鼎公众授权 可(非商用) 授权书 http://www.arphic.com/tw/service/support/support\_mac\_cont.asp?id=8&toppage=1
文鼎中楷簡 文鼎科技 文鼎公众授权 可(非商用) 授权书 http://www.arphic.com/tw/service/support/support\_mac\_cont.asp?id=8&toppage=1
全字庫正楷體 全字库 Creative Commons” Attribution-NoDerivs 3.0 Taiwan”License 可(CC) 可(CC) 授权 http://www.cns11643.gov.tw/AIDB/copyright.do
cwTeX Q Kai Medium Tsong-Min Wu, Tsong-Huey Wu, Edward G.J. Lee, Chen-Pan Liao GPL v2 可(GPL) 可(GPL) cwtex-q-fonts https://code.google.com/p/cwtex-q-fonts/
AR PL UKai 文鼎科技, Arne Götje and other contributors 文鼎公众授权 可(非商用) http://www.freedesktop.org/wiki/Software/CJKUnifonts/Download/
方正楷体 方正电子公司 方正字库2013年商业发布授权政策 可(须书面授权) 未知 http://www.foundertype.com/index/release_info.html
台湾教育部標準楷書 (台湾)教育部 創用CC 「姓名標示-禁止改作3.0臺灣版」 可(CC) 未知 http://www.edu.tw/pages/detail.aspx?Node=3691&Page=17004&Index=6
仿宋
cwTeX Q Fangsong Medium Tsong-Min Wu, Tsong-Huey Wu, Edward G.J. Lee, Chen-Pan Liao GPL v2 可(GPL) 可(GPL) cwtex-q-fonts https://code.google.com/p/cwtex-q-fonts/
方正仿宋 方正电子公司 方正字库2013年商业发布授权政策 可(须书面授权) 未知 http://www.foundertype.com/index/release_info.html
隶书
台湾教育部國字隸書 (台湾)教育部 創用CC 「姓名標示-禁止改作3.0臺灣版」 可(CC) 未知 http://www.edu.tw/pages/detail.aspx?Node=3691&Page=17009&Index=6
明体
文鼎PL明体U20-L 文鼎科技 文鼎公众授权 可(非商用) 授权书 http://www.arphic.com/cn/news/2010/20100420.html
cwTeX Q Ming Medium Tsong-Min Wu, Tsong-Huey Wu, Edward G.J. Lee, Chen-Pan Liao GPL v2 可(GPL) 可(GPL) cwtex-q-fonts https://code.google.com/p/cwtex-q-fonts/
AR PL UMing 文鼎科技, Arne Götje and other contributors 文鼎公众授权 可(非商用) http://www.freedesktop.org/wiki/Software/CJKUnifonts/Download/
圆体
cwTeX Q Yuan Medium Tsong-Min Wu, Tsong-Huey Wu, Edward G.J. Lee, Chen-Pan Liao GPL v2 可(GPL) 可(GPL) cwtex-q-fonts https://code.google.com/p/cwtex-q-fonts/
其他
柳体 jhuangjiahua GPL v2 with font embedding exception 可(GPL) http://www.linuxsir.org/bbs/thread244714.html
全字庫说文解字 全字库 Creative Commons” Attribution-NoDerivs 3.0 Taiwan”License 可(CC) 可(CC) 授权 http://www.cns11643.gov.tw/AIDB/copyright.do
新蒂黑板报体 新蒂字体 新蒂字体A条款 未知 http://font.sentywed.com/condition and terms.htm
新蒂赵孟頫体 新蒂字体 个人使用(详见 link) 未知 http://www.sentyfont.com/sentyzhao.htm