Cat`s Blog
我猫故我在!
  • Twitter
  • Facebook
  • Google+
  • YouTube
  • 腾讯微博
  • 新浪微博
RSS
  • 留言板

5月 19 2019

解决 virt-manager 设置不保存问题

家里搞了个小机器跑 libvirt 玩,又不想每次都 ssh 到机器上用 virsh 来管理虚拟机,就想在主力 Windows 机器上用 virt-manager 来远程控制。配置起来倒是很简单, WSL + VcXsrv 很轻松就可以构建好图形环境,apt-get install virt-manager 然后 export DISPLAY=”localhost:0.0″ 就可以愉快的跑起来了。

然而,用着用着我发现有点不对,virt-manager 的设置似乎并不会被保存,设置的链接、监控(polling)等选项并不会生效,要么就是关掉之后再启动就会丢失,恢复成默认的参数。经过一圈 Google 之后发现了这个邮件列表,上面说 virt-manager 是依赖 dconf 来进行配置保存的,然而给 CentOS 打包的时候漏掉了依赖,所以会导致配置不会保存的问题,同时也说这个依赖问题会在新版的包里面进行修复。抬头看了一下这个邮件是 14 年的,而且是 CentOS 打包的时候漏掉了,也说新版本会修复那理论上应该不是这个问题吧?然而我 dpkg list 了一下发现他列出的 dbus-x11 这个包在 WSL 里面并没有被装上。。。也就是说这个依赖的问题似乎还是没有修。。。 要么就是官方觉得 Ubuntu 有图形界面的版本是会自带这个 dbus-x11 包的,所以就没列在依赖里面,无论如何知道问题在哪解决起来就容易了,直接

 apt-get install dbus-x11

之后关掉 virt-manager 重新打开,发现配置可以正确生效并保存了,问题解决~

By Lazy Cat • 分享 0 • Tags: libvirt, virt-manager

4月 11 2017

在 openwrt 上使用清华的 ISATAP 隧道访问 IPv6

前几天看到骏骏菊苣在折腾着想给自己的路由上加上大清的 isatap 隧道访问 IPv6,本来我觉得是不太现实的,因为我电的寝室分配的 IP 地址虽然长得像外网 IP,但是实际上电信的出口就那几个,也就是说都经过了 NAT。 而 isatap 隧道需要有一个公网的 IP 作为接入点,所以没有公网 IP 就很尴尬。但是骏骏表示虽然走电信出口的话外网看来我们寝室分到的 IP 不是公网 IP,但是不要忘了还有教育网,我电寝室分到的 IP 在教育网上就是独立的 IP,他之前去上海玩儿的时候从复旦做过实验了,教育网内部是可以直接联通得,然后清华显然他们的 peer 也有教育网线路,所以理论上是可行的。理论上可行实际上怎么样就只能试一试才知道了,于是经过了一下午的参考和折腾,终于在路由器上用清华大学的 ISATAP 隧道成功搞定了 IPv6 ,为了使用方便还写了个脚本,后面会贴出来。

在折腾的过程中主要参考的是这个和这个文档,同时对清华大学提供了如此方便的服务表示感谢~

阅读全文。。。

By Lazy Cat • 分享 10 • Tags: IPv6, ISATAP, OpenWRT, tsinghua

3月 26 2017

Python 实现中文数字转 int

前几天 USTC  的群里,尘光大佬出了这样一道题:

请实现一个函数,输入是string类型的中文数字,输出是其对应的Int值(可不考虑溢出问题,简单地认为int可存放无穷大)。例如:

输入 –> 输出
一百零一 –> 101
廿二 –> 22
二零一二 –> 2012
二十万五百亿三千零八万一千零卅五 –> 20050030081035

注:需要考虑的中文数字包括:零一二三四五六七八九十廿卅百千万亿。

思考了一下感觉这个问题应该不是很复杂,大致思路就是从左往右处理中文然后给每个数字确定数量级,最后再加起来。有了思路就码代码,然后又找 bug 跑测试,修修补补最后的代码长这个样子:阅读全文。。。

By Lazy Cat • 分享 1 • Tags: Python

12月 15 2016

配置阿里云ECS支持IPv6

前几天有个小伙伴的 iOS App 提交给水果审核没通过,水果给出的原因是应用在 IPv6 的环境下无法使用。原来小伙伴用的服务器是阿里云的 ECS ,而这玩意并不支持 IPv6 。。。这里就不得不吐槽一下阿里云这么大的云服务厂商,马上都要2017年了还不支持 IPv6 ,然而考虑一下 IPv6 在中国确实发展的并不怎么样。还好,我们可以用 Hurricane Electric 提供的 IPv6 Tunnel Broker 来让 ECS 支持 IPv6 。本文就以 Ubuntu 为例,来介绍一下具体的操作方法, CentOS 等操作系统都差不多,稍作修改也可以用。

首先,到 https://www.tunnelbroker.net/ 注册一个账户,然后登陆,戳 Create Regular Tunnel 。IPv4 Endpoint (Your side) 这里填你 ECS 的公网 IP 地址, Available Tunnel Servers 这里选一个,一般来说 HK 离大陆近延迟低,不过最近 HE.net 的香港似乎都是绕了一圈美国回来的,所以延迟反而很高,这个看自己情况选就好。然后戳 Create Tunnel ,就完成了。

接下来修改 ECS 里面的系统配置,由于阿里云的网络不支持 IPv6 所以他官方镜像里面相关的设置都是被禁用了的,想要使用 IPv6 就要做一些修改。首先修改  /etc/sysctl.conf  ,把下面三项设置都改为0

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

然后编辑 /etc/network/interfaces ,在下面添加 IPv6 Tunnel的相关信息

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address <IPV6>::2
netmask 64
remote <Tunnel 的 Server IPv4 Address>
local <阿里云的内网 IPv4 地址>
endpoint any
ttl 255
gateway <IPv6>::1
up ip -6 route add 2000::/3 via ::<HE 的 Server IPv4 Address> dev he-ipv6
up ip -6 addr add <IPv6>::1:1/128 dev he-ipv6
up ip -6 addr add <IPv6>::2:1/128 dev he-ipv6
down ip -6 route flush dev he-ipv6

其中里面<IPv6> 需要你自己替换成你刚刚申请的 Tunnel 的 Server IPv6 Address,但不包括最后的::1/64。

确定配置没问题之后就可以重启服务器了,重启之后看看 he-ipv6 接口有没有被启用,如果没有的话手动执行 ifup he-ipv6 启用相关接口,然后你就应该可以使用 Tunnel 里面显示的 Server IPv6 Address 来访问你的阿里云 ECS了。

这里有个坑,local 这里一开始我写的是阿里云外网的 IP 地址,然后发现启用了 Tunnel 之后无论是从外面访问阿里云还是阿里云本身访问 IPv6 都无效,在阿里云上 ping6 ipv6.google.com 的时候提示 no route to host,然后又仔细看了一下 HE.net tunnel broker 里面的描述发现了这样一句话:

NOTE: When behind a firewall appliance that passes protocol 41, use the IPv4 address you get from your appliance’s DHCP service instead of the IPv4 endpoint you provided to our broker.

所以 local 那里应该填的是 ECS 内网的 IP 地址,而不是公网的 IP 地址。。。

By Lazy Cat • 教程, 闲谈 38 • Tags: IPv6, Ubuntu, 阿里云

6月 17 2015

Windows下查看附近WIFI的BSSID

BSSID: Basic Service Set Identifier(基本服务单元标识符)

BSSID 是指站点的 MAC 地址(STA)在一个接入点(AP)在一个基础架构模式   BSS 是由 IEEE 802.11-1999 无线局域网规范定义的。这个区域唯一地定义了每个 BSS 。在一个 IBSS 中, BSSID 是一个本地管理的 IEEE MAC 地址,从一个 46 位的任意编码中产生。地址的个体/组位被设置为0 。通用/本地地址位被设置为 1 。

在某些情境下BSSID是很有用的。然而后期的WIndows吧BSSID这一项从UI里面去掉了,也就是没法在图形界面查看WIFI的BSSID号了。不过好在有强大的netsh命令,我们用命令行一样也可以查看附近WIFI的BSSID。有了BSSID就可以做一些奇怪的事情,在此不再延伸,直接上命令:

netsh wlan show networks mode=bssid

By Lazy Cat • 分享 11 • Tags: BSSID, CMD, netsh, WIFI, Windows

3月 29 2015

安装配置Shadowsocks Manyuser + SS-Panel

写在前面:这个坑我挖了好几天了然而懒癌泛滥一直停留在标题阶段。。。

2015-07-06 update:新版ss-panel更新了一些地方,文章下面更新了。

前段时间响应王老板的号召,IEC的一些牛(xian)逼(de)哄(dan)哄(teng)的小伙伴们一起弄了一个清水寺论坛,做这个肯定不是为了自己弄着好玩儿,我们也想着把这个网站推出去,于是我们想着搞一些大新闻,就能增加知名度。然而其中某个环节就是让我来搞一个你懂得的服务来服务大众。一开始想着直接开个页面用户名密码公布出来大家想用就用,后来觉得这样太Low逼了,也显得不够专业。想起了在V2EX上看到过ss-panel这种东西,查了查资料感觉很简单,但是实际部署的时候遇到了坑。。。为了避免自己或者其它的人踩进坑里于是决定写点什么。。。于是就有了这篇文章。。。

SS-Panel是由Orvice写的一款配合ShadowsocksManyuser的前端程序。这货是用世界上最好的语言PHP写成的,所以你需要一个支持php的VPS。由于用了奇怪的新特性所以只支持PHP5.4以上的版本。当然为了存储用户数据还需要mysql的支持。

SS-Panel的安装很简单,下载这个ZIP包(由于作者现在在开发V3版本但是还没有完成,所以旧的链接下载的未完成版本不能使用现有的配置方法,请下载SS-Panel V2使用。)然后解压放到Web目录(绑定个域名或者子目录啥的都行,最好是https的,原因不解释),建立一个数据库和一个用户,赋予权限之后,打开解压的目录,将lib/config-simple.php改名成config.php然后修改下配置。必须改的配置是数据库用户、数据库密码、数据库名和本站URL,其他的站点名称之类的看心情修改。签到数值神马的直接参考配置文件中的注释就可以。然后将sql目录中的所有sql文件都导入配置文件中指定的数据库。没有问题的话这个SS-Panel就搭建好可以访问了。管理地址是<URL>/admin  默认的用户名、密码是admin 12345678 不知道是作者犯懒还是别的神马原因,admin用户的用户名密码想要修改只能去改数据库。。。不过也不是很麻烦啦。具体方法文章后面再介绍。

前端搭建好了,木有后端支持神马都是白搭。后端搭建的方法略微繁琐但是其实也是很简单的。首先需要安装一些依赖。我用的CentOS,于是直接

yum -y install python-pip m2crypto
pip install cymysql

就可以啦。然后找个目录把ShadowSocks Manyuser下载下来

git clone -b manyuser https://github.com/mengskysama/shadowsocks.git

之后进入目录shadowsocks/shadowsocks里面,修改Config.py,指定数据库用户、密码、数据库之后就可以咯~运行

python server.py

后端程序就跑起来了~但是这里是坑了我的第一个地方。一开始的时候按照网上的办法给SS-Panel和ShadowSocksManyuser各自建立了一个数据库和一个用户,然后都装好后发现SS-Panel的配置中对于后端的配置只有名称、地址等几项,并没有配置管理地址、密码什么的的地方,让我百思不得其解,后来在V2EX上的某个帖子上发现:这俩货应该用同一个数据库!想想也是,SS-Panel本来就是一个前端的壳子而已,用同一个数据库也是应该的。。。研究了一下发现ShadowSocksManyuser对于用户的端口密码的控制是在user这个表中的,而SS-Panel的user这个表和SSManyuser的结构基本上是一样的。所以配置好SS-Panel之后配置ShadowSocks Manyuser的时候只需要填写SS-Panel的数据库用户密码神马的就搞定了。

第二个坑在于,我配置完SS-Panel和manyuser之后发现,这货注册新用户之后分配的端口是从5开始。。。5 10 15巴拉巴拉。。。当时我就震惊了,这么不人性化的设计,这样迟早会吧80神马的端口都分出去,迟早出问题。。。于是就找SS-Panel或者ShadowSocksManyuser怎么修改分配的端口范围,后来发现问题出在我自己这里,SS-Panel默认的数据库中带有一个用户,这个用户默认的端口是50000,之后新建的用户都会以第一个用户为基准端口号递增。我第一次装完后直接删掉了测试用户,所以端口号就是从0开始递增得了。手动修改数据库或者重新导入数据库,总之吧uid最低的用户的端口设置成为50000或者其他的,之后的用户端口就会依次递增啦。当然这个用户密码还是建议修改一下~

第三个不能算坑的坑,这货admin的用户名密码要手动修改数据库。。。还好数据库中的密码只是简单的MD5了一次而已。所以直接戳开数据库,打开ss_admin表直接诶修改里面的admin_name email和pass就可以了。pass是明文密码一次MD5得到的,很容易算出来。

150706 update: 新版的SS-Panel数据库中不再单独存储Admin用户名和密码,而是和user共用一套用户名和密码。admin这个表中只存了user中作为管理员的user_id,所以想要添加管理员的话就去数据库中增加对应的user_id就可以了。默认ID为1的用户是管理员。

还有一个坑就是如果想用supervisor之类的守护程序来保证ShadowSocksManyuser后端的稳定运行的话,在配置文件的command里面不能只写 python /server.py   我一开始就是这么写的,然后发现后端总是连接不上,看了一下Supervisor的日志发现这货直接error然后退出了。。。仔细看了看wiki之后发现command里面要加一个参数才行。。。所以command一行应该变成类似这样

command = python <PATH>/server.py -c <PATH>/config.json

这样就可以愉快的用Supervisor保证后端持续运行了。config.json里面带一个用户名密码端口,然而不用管它,这个密码和端口连接不上的。如果你要是觉得不保险的话可以把这个也改掉。

有人可能会问,想要配置多节点怎么办?很容易。。。只要mysql里面允许数据库的用户远程登录(建议用一个单独的用户,给比较少的权限),然后然后再配置后端的时候数据库地址填写前端SS-Panel所在的服务器的地址,然后数据库用户名密码什么的和之前的一样就可以了。然后再去SS-Panel配置里面加上这个新节点的名称和地址就可以了。ShadowSocksManyuser会自动去远程数据库中读取用户的端口密码等值。对于同一个用户来说,在所有节点的端口和密码都是相同的。

 

150706 update: 最新版的ss-panel有一些奇怪的问题,在开发者修复之前可以参考 issue 里面ilazycat和 604542720 提出的几个issue来手动解决一下。以下是链接 1 2 3

By Lazy Cat • 教程 153 • Tags: ShadowSocks, Shadowsocks Manyuser, SS-Panel

2月 9 2015

SC03E 的 Android 5.0

深度论坛关掉以后我一直以为这货已经被抛弃了,偶然去魔趣看了看发现这货的ROM居然一直还在更新,都有5.0了!吓得我赶紧下载下来刷了试试,感觉还不错,分享下。

[themify_button style=”gray” link=”http://pan.baidu.com/s/1eQ6GkwU” target=”_blank ” ]百度云链接[/themify_button]

里面的CM12是从别处找的CM的ROM,也是5.0.2.具体来源忘记了。MK50.2就是魔趣的ROM,目前最新的就是2月6号nian大新上传的。pa_gapps大家都懂,Google框架。不过这个是完整版,所以很大。。。SuperSU是root用得。魔趣的最新ROM可以在[themify_button style=”gray small” link=”http://download.mokeedev.com/?device=sc03e” target=”_blank ” ]这里[/themify_button]找。

By Lazy Cat • 分享 1 • Tags: Android, Android L, Rom, SC03E

2月 9 2015

修改 Windows Server 2012 的密码策略

Windows Server 2012 默认的密码策略对密码强度的要求比较高,要有大写字母、小写字母、数字、特殊符号其中的至少三种还有长度要求。对于服务器来说当然是增加了安全性。但是如果我们只是想在局域网内放一个NAS之类的或者单纯的作为日常系统(好蛋疼),这么复杂的密码就完全没必要了。反而会给日常使用造成麻烦。想要关掉这个强制的要求其实也不是很难,用组策略管理器就可以了。

在服务器上以管理员身份运行gpedit.msc,然后找到本地计算机策略->计算机配置->Windows设置->安全设置->账户策略->密码策略。将密码必须符合复杂性要求改为已禁用就可以了。

gpedit-password-strategy

By Lazy Cat • 教程 0 • Tags: Config, Server, WindowsServer2012

2月 6 2015

备案终于下来了~开心~

经过将近半个月的折腾,备案算是下来了。以后再试用国内的奇怪的服务也就方便了很多。不得不说阿里云的代备案效率还是很高的,服务也很是周到。阿里云那里从一开始提交到资料搞定交给管局一共也就不到两天,主要的时间都是在管局审核的状态下。这个域名很久之前也备案过,但是被注销掉了。这次直接以新接入备案的名义申请的,一开始还觉得是不是会被拒绝结果一点问题都没有。再给阿里云代备案赞一个~

By Lazy Cat • 闲谈 2 • Tags: 站点日记

1月 8 2015

JS在页面上显示当前页地址QR图的脚本

题目好乱。。。一个Javascript脚本,戳一下就会在页面的右上角出来一个二维码,二维码的内容是当前页面的地址,再点击一下图片他就会消失掉。可以很方便的吧正在看的内容转到手机上去看。

代码如下

javascript:((function(){document.body.innerHTML=document.body.innerHTML+"&lt;div id='MyQrCode' style='display:block;z-index:99999;position:fixed;top:0;right:0;' onclick='javascript:(function(){var MyQrCode=document.getElementById(&amp;quot;MyQrCode&amp;quot;);MyQrCode.parentNode.removeChild(MyQrCode);}())'&gt;&lt;img src='http://chart.googleapis.com/chart?chl="+escape(document.location.href)+"&amp;chs=200x200&amp;cht=qr&amp;chld=%7C1&amp;choe=UTF-8'&gt;&lt;/div&gt;";})());

把上面的代码复制然后新建一个书签放进去,想要二维码的时候戳一下就可以了。

稍微好看一点的代码(其实就只是加了缩进而已)

javascript:((
  function(){
    document.body.innerHTML=document.body.innerHTML+
    "<div id='MyQrCode' style='display:block;z-index:99999;position:fixed;top:0;right:0;'
      onclick='javascript:(
      function(){
        var MyQrCode=document.getElementById(&quot;MyQrCode&quot;);
        MyQrCode.parentNode.removeChild(MyQrCode);
      }())'>
    <img src='http://chart.googleapis.com/chart?chl="+escape(document.location.href)+"&chs=200x200&cht=qr&chld=%7C1&choe=UTF-8'>
    </div>";
})());

By Lazy Cat • Coding 8 • Tags: Javascript

1 2 3 4 ›»

最新文章

  • 解决 virt-manager 设置不保存问题
  • 在 openwrt 上使用清华的 ISATAP 隧道访问 IPv6
  • Python 实现中文数字转 int
  • 配置阿里云ECS支持IPv6
  • Windows下查看附近WIFI的BSSID
  • 安装配置Shadowsocks Manyuser + SS-Panel
  • SC03E 的 Android 5.0
  • 修改 Windows Server 2012 的密码策略

近期评论

  • welling: 给我-个试一下。…
  • json formatter: 当时也做过类似的,思路基本都是一样的…
  • 孙怡: @烟 沐:您好 我也遇到了找不到字符串的&hellip…
  • 烟 沐: 太牛了,感谢!…
  • KC: @XANA:我所在的位置AP的SSID都……
  • a: 七秭零三京八千零五兆零二百零三亿零三千…
  • KIYO: 最近一直在找香港vpn 终于找到这篇啦…&hellip…
  • 董睿山: 大神请问战地硬仗在win10改怎么运行呢……
  • 阿忠: 更改字串後,完美解決問題,謝謝…
  • 林小帅: 想请问下,现在阿里云的服务器还支持这样…

链接表

  • CNSS
  • Jophy Blog
  • libisky
  • 三十岁
  • 小学僧菊苣的博客
  • 星尘独奏曲

管理站点

  • 登录
  • 条目feed
  • 评论feed
  • WordPress.org

↑

Site Hosted on Digital Ocean & Vultr | Pictures Hosted on Qiniu Cloud | 冀ICP备15002842号
Powered by WordPress • Themify WordPress Themes