Categories
木有技术 爪机爪机

日版iPhone iOS 8.0-8.3 关闭拍照声音|拍照静音教程

  1. http://pangu.io下载最新越狱工具(本文编写时已经支持ios8.3)
  2. 将你的手机越狱
  3. 重启后手机上会多个叫“盘古”的软件,打开它
  4. 软件主界面有个叫”openSSH”的东西,下载安装之
  5. 下载winSCP软件(当然你要用命令行的话putty也可以啦)
  6. 将你的电脑和手机同时连上同一个WiFi网络,然后手机上 设置->WiFi -> 你连上网络右边的蓝色圈圈i符合点进去,看一下IP地址
  7. 打开后选择“New”,在“Host Name”框中填写iPhone或者iPad的IP,“User Name”中填写“root”,“Password”中填写你的密码,默认为alpine
  8. 确保“File Protocol”选项为”SCP”
  9. 点击login登录
  10. 登陆之后在右边进入到/System/Library/Frameworks/MediaToolbox.framework/文件夹,删除RegionalSystemSoundsThatShareBehaviour.plist

至此搞定。

Categories
木有技术

Win7/Win8/Win8.1 查看笔记本的电池容量

QQ截图20141021165959
很简单的方法,查看电池的设计容量和当前充满电的容量。
按WIN+R键打开运行,输入cmd打开命令行,然后输入

powercfg /batteryreport

按回车
然后会提示生成了一个html文件,直接按照给出的路径打开即可~

Categories
木有技术

Ubuntu14 搭建openVPN服务器翻GREATWALL啦! iOS也可以用哦~

本文的参考文献:
https://help.ubuntu.com/lts/serverguide/openvpn.html
http://jingpin.org/set-up-openvpn-in-vps/
http://linji.cn/6684.html


 本文实现以下功能:

  • 在Ubuntu服务器上搭建openVPN服务
  • 启用openVPN服务器的ipv4流量转发已实现[BI!!!!]功能
  • 在Windows上创建客户端连接
  • 在iOS上创建客户端连接

 

 Part i 在Ubuntu服务器上搭建openVPN服务

  1. 安装openVPN及RSA工具
    sudo apt-get install openvpn easy-rsa
  2. 配置公钥:
    mkdir /etc/openvpn/easy-rsa/
    cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

    这步操作将默认的配置文件复制到openvpn的配置目录下

  3. (可选)修改公司…之类的联系方式:

    nano /etc/openvpn/easy-rsa/vars
  4. 建立数字证书(CA)
    cd /etc/openvpn/easy-rsa/
    source vars
    ./clean-all
    ./build-ca

     

  5. 建立服务器端的私钥,注意有两个问yes/no的确认,都打y确认
    ./build-key-server myservername

     

  6. 建立Diffie Hellman变量文件,这个过程可能持续2分钟或更久:
    ./build-dh

    至此服务器端需要的证书及密钥文件都会在keys/目录下
    将他们拷贝至openVPN的目录

    cd keys/
    cp myservername.crt myservername.key ca.crt dh2048.pem /etc/openvpn/

     

  7. 客户端也需要密钥文件来登录(当然也可以配置成使用用户名/密码登录,本人还没学到这里…).使用下面的方法 创建这些文件
    cd /etc/openvpn/easy-rsa/
    source vars
    ./build-key client1

    往后在客户端登录时,需要以下三个文件
    /etc/openvpn/ca.crt
    /etc/openvpn/easy-rsa/keys/client1.crt
    /etc/openvpn/easy-rsa/keys/client1.key

  8. 上面三个文件找个办法从服务器拷贝到本机吧,因为登录要用哦

Part ii 开启ipv4流量转发及配置服务器

服务器上还需开启ipv4的流量转发,不然你只能通过VPN连服务器,其他别的啥都做不来。

1.开启ip转发

输入以下命令:

nano /etc/sysctl.conf

找到 “#net.ipv4.ip_forward=1” 这一行,删除那个 “#” 号,然后输按”Ctrl+X” 退出,退出时会问你是否保存,输入y然后回车确认文件名即可。

2.使转发生效

输入以下命令:

sysctl -p

如果一切正常,你将只会看到以下结果:

net.ipv4.ip_forward=1

3.创建iptables规则

输入以下命令:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 178.18.17.142

记得将 “178.18.17.142” 改为你 VPS 的 IP 地址!
为了避免 VPS 重启后重新设置一遍 iptables 规则,你可以输入以下命令:

vi /etc/rc.local

回车,按下 “i” 键,并将以下内容粘贴到 “exit 0” 这一行的上面:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 178.18.17.142
openvpn /etc/openvpn/server.conf

记得将 “178.18.17.142” 替换成你 VPS 的 IP 地址。完了之后,按下 “esc” 键退出插入模式,然后输入 “:wq” 保存。
小技巧:以上的命令是针对 Xen 类型的 VPS,如果是 OpenVZ 类型的,则需要将 “eth0” 替换成 “venet0″。

4.配置服务器规则

接下来是配置openVPN的设置
输入以下命令:

vi /etc/openvpn/server.conf

将会创建openVPN配置文件
回车,按下 “i” 键,然后粘贴以下内容:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/myservername.crt
key /etc/openvpn/easy-rsa/keys/myservername.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 8.8.4.4"
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3

按下 “esc” 键退出插入模式,输入 “:wq” 保存文件。

5.启动openVPN

输入以下命令:

 /etc/init.d/openvpn start

回车。
 


Part iii 使用Windows系统作客户端连接

打开http://openvpn.net/download.html,点击Windows Installer后的链接,下载OpenVPN Windows客户端。
下载完成后,安装,安装中的选项全部按默认即可。
找个记事本,创建配置文件client.ovpn

client
dev tun
proto udp
remote 178.18.17.142 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
redirect-gateway
script-security 2

里面的178.18.17.142改成你服务器的IP地址。
把他丢到C:Program FilesOpenVPNconfig 目录下
另外,之前的三个文件:ca.crt client1.crt client1.key也都放在同一个目录
运行OpenVPN GUI,会在屏幕右下角的系统托盘区,会显示openvpn_tray 右击该图标,会在菜单中出现我们添加的服务器,点击Connect,OpenVPN客户端就会开通链接OpenVPN服务器,过一会儿,OpenVPN图标变成绿色就是链接成功了。


 

Part iv 使用iOS系统作客户端连接

刚发现某个教程写的不错,试了下确实可用,就不赘述啦
参考:http://jingyan.baidu.com/article/f0e83a25da438222e5910193.html
请把上文中提到的ca.crt client1.crt client1.key以及client.ovpn都拖到iTunes的openVPN的应用程序共享文件中就行。
 

Categories
木有技术

Word中不同样式的内容如何强制在同一行上 样式分隔符 正文接排

论文排版中说要“后面正文接排”,就是这种样子
Word正文接排
 
 
 
不同样式的文本内容强制在同一行中
可以使用样式分隔符来隔开。方法是按快捷键ctrl+alt+enter

Categories
木有技术

联想 Thinkpad 4337 扩展坞 底座拆解 拆挡板 教程

亲身时间经历,不过偷懒没有拍照,就挪用别人的照片啦~

 照片来自http://bbs.mydigit.cn/read.php?tid=845798

1.拆掉背面的螺丝(下图红圈处)
1
2.拆掉上测的一颗螺丝(下图红圈处)
2
3.拆掉左上侧的一颗螺丝(红圈)
3
5.用螺丝刀或者其他什么东西,翘下图上方两个绿色箭头所示的位置,把突出的改版翘起,然后沿黄色箭头方向拔出改版
46.盖板掀起后移除下面几个螺丝
57. 掀开整个上部份,下图所示红圈处是挡板的螺丝之一,不远处还有个螺丝。拆掉这两个螺丝后,挡板就自动掉下来了~
6
8.拆挡板到此结束。其他过程参考我上面给的链接。
装回后千万注意那个弹出按钮的可用性,我第一次装回没有调试好,结果本本插上去,那个弹出的按钮按下没反应了,折腾了好久才把本本和底座分离掉。拆解前记住按下按钮是怎么样个机械动作,装回后看看是否是一样的,某个卡扣没按紧或者什么的就容易有问题咯。。
 
 

Categories
木有技术

WNDR3800 openWrt: Enable WiFi toggle

We could just follow the wiki page of WNDR3700 to enable Wifi switch button 🙂
http://wiki.openwrt.org/toh/netgear/wndr3700#activate.the.buttons
Here are the commands for SSH terminal:

opkg update
opkg install wifitoggle
uci set wifitoggle.@wifitoggle[0].button=BTN_2
uci set wifitoggle.@wifitoggle[0].timer=0
uci commit wifitoggle

BTW, these are hardware button keystrokes:

Reset WPS WiFi
Backfire BTN_0 BTN_1 BTN_2
Trunk reset wps BTN_2
Categories
不学无术 木有技术

matplotlib 存储到内存文件 save to memory file(buffer) instead of disk file / PyQt4

References:
http://stackoverflow.com/questions/4330812/how-do-i-clear-a-stringio-object
http://stackoverflow.com/questions/8598673/how-to-save-a-pylab-figure-into-in-memory-file-which-can-be-read-into-pil-image
 
In fact Python have a StringIO module to deal with this problem, it works pretty fine with PyQt and matplotlib.
Procedures:
1. [SAVE] Create a StringIO object (or cStringIO which have faster speed)
2. [SAVE] Call savefig method of matplotlib and use the StringIO object instead as the input variable
3. [LOAD] Use QImage to read from StringIO object (via fromData method)
4. [LOAD] Use QPixmap and blabla to show the image….
 
Code:
 

# StringIO with matplotlib test
import matplotlib.pyplot as plt
import cStringIO
from PyQt4 import QtCore, QtGui
import sys
import cPickle
fig = plt.figure()
plt.plot([1, 2])
buf = cStringIO.StringIO()
plt.savefig(buf, format='png')
buf.seek(0)
app = QtGui.QApplication(sys.argv)
widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('simple')
qimg = QtGui.QImage.fromData(buf.getvalue())
pixmap = QtGui.QPixmap.fromImage(qimg)
label = QtGui.QLabel(widget)
label.setPixmap(pixmap)
label.setGeometry(0, 0, 250, 150)
widget.show()
sys.exit(app.exec_())

 
 

Categories
木有技术

PyCharm 3.4.1 注册码及注册机

==警告==

注册机打开时360系列娱乐软件会报毒,各位自己看着办

=======

注册机下载链接:http://pan.baidu.com/s/1jGvDZ62 密码:hh3o
 
提供几个注册码,用户名是EMBRACE222

===== LICENSE BEGIN =====
55646-12042010
000024fGr86dKEeR"6kGLRKZiBAxxy
CmiOVN!JfXO63IVEYHBFXcAprMLrq3
gWkFOBuZNzTLVG!WHRAAg2JjCI41H!
===== LICENSE END =====
===== LICENSE BEGIN =====
78431-12042010
00001L0arVmZEjYNqU9pOXrZxlUzw4
iIUK0doPnpphNSU8HtRXOGSGIruBGi
4VbvDvfj6FAfcFcxjzuEzpLJpkLVHt
===== LICENSE END =====
===== LICENSE BEGIN =====
50314-12042010
00001TbPnl4kVwEoPuO0tY9y!QEqUr
sjCXCi40IlDo8zEN44PXXnDlxicCbv
JPjGZJsEVRt3pTOh8MMP!wFlXcaesB
===== LICENSE END =====
===== LICENSE BEGIN =====
07662-12042010
00000JtsEpNfwGPO1tSRaiG2ykW0yC
1JyfK2"s6Ei0TUDTHsnl!AG2iFqOEp
Bj4SPEFXtBdnIRXIRCyKs4CINhNTVD
===== LICENSE END =====

 

Categories
不学无术 木有技术

AttributeError: 'module' object has no attribute 'AF_INET'

主要症状如下:

Traceback (most recent call last):
  File "C:Documents and SettingsaDesktopsocket.py", line 1, in <module>
    import socket
  File "C:Documents and SettingsaDesktopsocket.py", line 6, in <module>
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
AttributeError: 'module' object has no attribute 'AF_INET'

原因:
自己的文件名变成socket.py了,import时的导入就变成了导入自己这个文件,然后就….呵呵了
解决方法:
改个文件名吧~
 
参考文献:http://stackoverflow.com/questions/13422356/socket-isnt-working-in-python

Categories
木有技术

两种APACHE域名跳转法简单完成重定向

本文转载自:http://www.sodone.com/apache-domain-name-redirect/

当我们变更网站域名,或者申请多个域名指向一个网站的时候,这个时候我们就会用到域名跳转(或者叫域名重定向redirect、域名转向)。下面用最简单的文字讲两种apache的域名跳转方法。

假设我们想把www.old.com转向到www.sodone.com。

1.用php域名跳转
在apache里给不同的域名建立不同的虚拟主机。分别对应 www.old.com 与www.sodone.com。

然后在www.old.com的目录里面建立一个index.php文件,文件内容如下:
<?php
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: http://www.sodone.com/’);
?>

重新启动apache服务器,用户访问www.old.com时就自动跳转为www.sodone.com。

2.用.htaccess做域名跳转
apache默认是开启.htaccess的。如果实际用的过程中下边的相关配置不起作用,可能是.htaccess关闭了,可按下边的方法打开:
编码apache的配置文件httpd.conf,把相应的内容修改为:
Options FollowSymLinks
AllowOverride All
LoadModule rewrite_module modules/mod_rewrite.so #也就是把这一行前的注释去掉
然后重启动apche服务器。

编辑apahce中web根目录下.htaccess文件(如题没有此文件,则直接新建立一个既可)。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com [NC]
RewriteRule ^(.*) http://www.sodone.com/ [R=301,L]

访问www.old.com同样会转向到www.sodone.com。

注:从搜索引擎优化(seo)的角度来看,建议大家尽量用301重定向。上面两种方法都为301跳转。

作者: sodone
版权属于: SoDone酥蛋
转载请用链接形式注明作者与版权信息。