| 0 x 0 |

.codes


  • 首页

  • 照片

  • 关于

在AWS上搭建SS服务器

发表于 2016-05-12

AWS账号自行申请

实例创建

  1. 本次使用AWS最基础计算单元EC2,点击EC2进入EC2控制面板。
  2. 本次通过最基础图形化操作,选择“实例”,点击“启动实例”,进入实例配置。
    1. 选择最常见的ubuntu操作系统。
    2. 选择t2.micro实例类型,可点击此处详细了解。
    3. 选择安全组,编辑入站规则,添加自定义TCP规则,端口范围添加自定义的端口,来源选择任何位置,保存。
    4. 其他可不改动直接点击“启动”。
  3. 启动时出现密钥对配置窗口,若没有创建过,选择创建新的密钥对并下载妥善保存,点击启动实例。
  4. 实例需要1分钟左右启动,可以先解个手。

实例配置

sudo apt-get update
sudo apt-get install python-pip
sudo pip install shadowsocks

服务配置

  1. 创建一个文件/etc/shadowsocks.json,创建方法请自行查找。
  2. 打开这个文件,打开方法请自行查找。
  3. 编辑这个文件为下列格式,编辑方法请自行查找。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{

"server":"0.0.0.0",

"server_port”:your_own_port,

"password”:"your_own_password",

"timeout":300,

"method":"aes-256-cfb",

"fast_open":false

}

*请填入你的自定义端口和密码

启动服务

sudo ssserver -c /etc/shadowsocks.json -d start

*请尝试“-d”这个参数有和没有的区别。

连接服务

  1. 在本机安装适合的客户端。
  2. 填入自定义的端口和密码,设置PAC规则或全局代理,启动连接。

Alibaba Campus 2015 //Python

发表于 2015-08-23
请尽可能列举python列表的成员方法,并给出一下列表操作的答案:

(1) a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?

(2) 一行代码实现对列表a中的偶数位置的元素进行加3后求和?

(3) 将列表a的元素顺序打乱,再对a进行排序得到列表b,然后把a和b按元素顺序构造一个字典d。

用python实现统计一篇英文文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数,并解答以下问题?(标点符号可忽略)

(1) 创建文件对象f后,解释f的readlines和xreadlines方法的区别?

(2) 追加需求:引号内元素需要算作一个单词,如何实现?

描述python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因。
用python编写一个线程安全的单例模式实现。
请回答一下问题:

(1) 阐述一下装饰器,描述符(property)、元类的概念,并列举其应用场景;

(2) 如何动态获取和设置对象的属性。

自动发送公网IP至邮箱Python脚本

发表于 2015-08-01

背景

  • RDP远程家里的服务器下载机
  • 小米路由器重启或者运营商魔法使得外网IP变动
  • 小米路由器APP去除了显示外网IP功能

需求描述

  • 获取家庭网络公网IP
  • 通过邮件发送IP
  • 定时监测IP是否变化,如果变化将发送邮件

解决方案

  • IP获取:
    • 网络上常用方案是通过socket获取本机IP,但在路由器拨号情况下只能获取到192.168.*.*的内网地址,ipconfig同理。
    • 通过浏览器访问ip识别类网站会自动显示公网IP。
    • 访问并抓取网页,拆分提取IP。
    • 此方法跨平台。
    • getIP()
  • 邮件发送:
    • 使用内置smtplib模块
    • 写好smtp登录地址端口账号密码,并确认是否SSL(我使用了SSL端口和登录)。
    • sendIP(IP)
  • 定时监测:
    • 线程timer定时启动检查IP是否变动
    • checkIP()

完整代码

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
52
53
#coding=utf-8
import threading
import urllib2,re,smtplib
from email.mime.text import MIMEText

def sendIP(IP):
#config
host = 'smtp.qq.com'
port = 465
sender = '*******@qq.com' #
receiver = '******@qq.com' #
pwd = '****' #Password
#core
msg = MIMEText(IP,_subtype='plain',_charset='gb2312')
msg['subject'] = 'IP changed'
msg['from'] = sender
msg['to'] = receiver

hero = smtplib.SMTP_SSL(host, port)
hero.login(sender, pwd)
hero.sendmail(sender, receiver, msg.as_string())
print 'IP is sended successly.'


def getIP():
response = urllib2.urlopen('http://www.ip.cn/')
html = response.read()
IPlist=re.split('<code>|</code>',html)
return str(IPlist[1])

def checkIP():
global IP
IPnow=getIP()
print "Checking..."
#sendIP()

if IP!=IPnow:
IP=IPnow
print "IP changed "+IP

sendIP(IPnow)

t = threading.Timer(3600.0, checkIP)
t.start()


if __name__=="__main__":
print "start"
IP=getIP()
print IP
sendIP(IP)
t = threading.Timer(3600.0, checkIP)
t.start()

备注

  • 没有try&catch和错误判断,因为懒。
  • 其实装其他第三方远程控制软件也可,也是因为懒。

Lumia 630 系统恢复/回滚

发表于 2015-07-24

背景

  • Windows Insider Program: slow ring
  • Windows 10 Mobile Build 10149向10166升级后

情况描述

  • 开机蓝屏

    ...
    Your PC/Device needs to be Repaired.
    ...
    Error code 0xc0000034
    ...
    
  • 自动重启

  • 电源+音量减 无法进入DFU模式

解决步骤

  • Windows Phone Recovery Tool选择Lumia设备
  • 电源+音量减 反复重启至识别
  • 下载识别到最新系统包
  • 电源+音量减 反复重启设备 至红屏
  • 恢复为WP8.1系统

备注

  • 8.1对比10
    • 8.1流畅太多
    • 8.1稳定太多
    • 8.1顺眼太多
  • 恢复的系统为8.1更新,8.1更新2(GDR2)应该已经被取消。

  • 开启备份会对通话记录、短信、应用和设置备份,QQ和微信这些聊天数据属于本地数据是不备份到云端的。

12
tianyuax

tianyuax

0x0.codes

20 日志
© 2016 - 2017 tianyuax
由 Hexo 强力驱动
主题 - NexT.Mist