在LEDE软路由上运行Home Assistant

  1. 环境准备
    运行Home Assistant需要python3.5以上的python环境.软件源里有现成的3.6,直接安装就好

    1
    opkg install python3 python3-pip

    安装虚拟环境

    1
    pip3 install virtualenv
  2. 指定安装位置,python版本
    以 /mnt/sda3/homeassistant 路径为例

    1
    virtualenv /mnt/sda3/homeassistant -p /usr/bin/python3.6

    进虚拟环境

    1
    source /mnt/sda3/homeassistant/bin/activate
  3. 安装Home Assistant
    1
    python3 -m pip install homeassistant
  4. 测试运行一下
    1
    hass –open-ui

    等两分钟初始化 看看能不能打开webui,默认端口8123 路由器ip:8123
    Ctrl + C 中止
    退出虚拟环境

    1
    deactivate
  5. 控制脚本
    建立/etc/init.d/hass-daemon
    贴最下面的脚本,注意改成自己的安装目录

    1
    /etc/init.d/hass-daemon enable

    设置为开机启动

    1
    /etc/init.d/hass-daemon start

    启动

    1
    /etc/init.d/hass-daemon stop

    关闭

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh /etc/rc.common

START=99

# /etc/init.d Service Script for Home Assistant
PRE_EXEC="cd /mnt/sda3/homeassistant; source bin/activate;"
# Typically /usr/bin/hass
HASS_BIN="hass"
RUN_AS="root"
PID_DIR="/var/run/hass"
PID_FILE="$PID_DIR/hass.pid"
CONFIG_DIR="/$RUN_AS/.homeassistant"
LOG_DIR="/var/log/homeassistant"
LOG_FILE="$LOG_DIR/home-assistant.log"
FLAGS="-v –config $CONFIG_DIR –pid-file $PID_FILE –log-file $LOG_FILE –daemon"

start() {
  create_piddir
  if [ -f $PID_FILE ] && kill -0 $(cat $PID_FILE) 2> /dev/null; then
    echo ‘Service already running’ >&2
    return 1
  fi
  echo -n ‘Starting service… ‘ >&2
  local CMD="$PRE_EXEC $HASS_BIN $FLAGS;"
  /bin/sh -c "$CMD" $RUN_AS
  if [ $? -ne 0 ]; then
    echo "Failed" >&2
  else
    echo ‘Done’ >&2
  fi
}

stop() {
  if [ ! -f "$PID_FILE" ] || ! kill -0 $(cat "$PID_FILE") 2> /dev/null; then
    echo ‘Service not running’ >&2
    return 1
  fi
  echo -n ‘Stopping service… ‘ >&2
  kill $(cat "$PID_FILE")
  while ps -p $(cat "$PID_FILE") > /dev/null 2>&1; do sleep 1;done;
  rm -f $PID_FILE
  echo ‘Done’ >&2
}

create_piddir() {
  if [ ! -d "$PID_DIR" ]; then
    mkdir -p $PID_DIR
    chown $RUN_AS "$PID_DIR"
  fi
}

用nas4free作shadowsocks中转跳板

shadowsocks翻墙有很多优点。我在vps搭建好server端后,再搞定家里的路由器,实现了全设备无缝翻墙。奈何我是使用的江苏电信提供的互联网接入服务,在我这里,电信对直连日本linode的速度有限制,蹭两秒后就落到50kB/s左右,都不能流畅刷youtube。想起来在公司我有一台淘来的瘦终端,装的nas4free,被我用来下班后蹭网上传养pt账号的。公司用的是联通的网络,直连linode的速度很满意,就想用这台nas做跳转,让我在家里的电信网连接到公司这台nas上再跳转到我的vps。

第一步,在公司网络上映射一个端口到nas作为shadowsocks客户端连接的端口。我们公司人少,就一个简单的路由器,还是我在维护,具体步骤不说了,路由器后台的web管理界面上很简单就能操作,我这里映射了9095端口到nas。

第二步,在nas上安装haproxy用来收发数据。nas4free是基于freebsd的,ssh登陆到nas直接执行命令在线安装

1
pkg install haproxy

按shadowsocks官方wiki弄好haproxy的配置,  >>>>>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
global
ulimit-n 51200
daemon
defaults
log global
mode tcp
option dontlognull
timeout connect 5000
timeout client 150000
timeout server 150000
frontend ss-in
bind *:9095
default_backend ss-out
backend ss-out
server server1 106.185.*.*:8338 maxconn 20480

注意nas监听的端口和远程vps server的 ip和端口。配置文件保存的位置随便,反正运行haproxy时指定这个配置文件运行就好。我保存在/usr/local/etc/haproxy.conf

第三步,运行haproxy。

1
haproxy -f /usr/local/etc/haproxy.conf

如果之前有运行过,杀掉之前的进程再运行。

最后,测试,shadowsocks客户端填中转服务器的ip,端口是nas上haproxy监听的端口。我这边试下来速度能提到1MB/s左右,看youtube是够了。

不让ul下的li内容换行

更新博客程序到最新版本,发现目录文字断行了,更改样式表style.css中

#access li {
float: left;
position: relative;
}

#access li {
float: left;
position: relative;
white-space: nowrap;
}

语法:
white-space : normal | pre | nowrap
取值:
normal   : 默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行
pre   : 换行和其他空白字符都将受到保护。
nowrap   : 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象。
更新前

csstest3

更新后

csstest2

自:http://yiilin2008.blog.163.com/blog/static/886620420117166240938/

在win7、win8双系统机器上删除win8启动

直接用ms的bcdedit命令就可以,方法: 1、Win+R(打开运行名窗口),输入cmd,回车;或者开始、cmd回车 2、输入bcdedit,回车,出现当前电脑的启动菜单,找到win8启动选项的标识符(格式为:{xxxx}) 3、输入bcdedit (空格) /delete {xxxx},回车,即可删除win8 启动选项 4、此方法亦可删除、修改、添加各系统启动菜单,如XP、vista、Linux等