柴子 让我们面对现实,让我们忠于理想!

shadowsocks-local启动器

08.11.2014 · Posted in 笔记

从6月开始Google全线被屏蔽封锁,被迫启用goagent,改用shadowsocks来科学上网。但shadowsocks一直没有一个很好用的客户端,clowwindy写的shadowsocks-gui臃肿过大,shadowsocks-go万年不更新,最后找到一个比较小巧舒服的libev版的自制客户端(在此感谢博客Freedom的推荐),但作者只给出了调用命令行参数,没有一个方便的多帐户客户端,于是把以前用AutoHotkey写的ssh启动器拿来稍微改了一下。

首先下载@Lazyzhu网友编译的ss-local.exe,选择最新版本->win32->shadowsocks-libev-openssl的压缩包下载,提取压缩包中的ss-local.exe客户端程序,改名为sslocal.exe,然后下载启动器 shadowsocks.rar ,解压到同一目录即可,以后直接用shadowsocks.exe启动即可,界面很简陋,自己摸索下,add 增加配置,save保存,fuck调用sslocal.exe开启代理,其他功能一眼可见,不再复述。

上图一张,然后老规矩,直接上源码。

2014-08-11_016

 

 

 

 

 

 

 

 

 

 

shadowsocks.exe的ahk源码如下:

#SingleInstance,ignore
Menu,tray,Tip, fuck gfw
Menu,tray,NoStandard
Menu,Tray,Add,Hide,hide
Menu,Tray,Add,Show,showsslocal
Menu,Tray,Add,Exit,guiclose
menu,tray,Default,hide
gosub listconfig

log = [Method] :`naes-128-cfb`naes-192-cfb`naes-256-cfb`ncast5-cfb`ndes-cfb`nbf-cfb`nrc4`n`n      ——By: chaizi`n     [www.chaizi.org]
Gui,Add,ListBox,x5 y5 w150 h110 vconfigname gloadconfig,%configlist%
Gui,Add,Edit,x5 y120 w150 h140 ReadOnly WantCtrlA vlogwindow,%log%
Gui,Add,Button,Default x324 y235 w32 h25 gstop,stop
Gui,Add,Button,Default x284 y235 w32 h25 ghide,hide
Gui,Add,Button,Default x244 y235 w32 h25 gfuck,fuck
Gui,Add,Button,Default x204 y235 w32 h25 gsave,save
Gui,Add,Button,Default x164 y235 w32 h25 gadd,add
Gui,Add,Text,x165 y5 w190,Server IP
Gui,Add,Edit,x165 y25 w190 vserver
Gui,Add,Text,x165 y50 w190,Server Port
Gui,Add,Edit,x165 y70 w190 vserverport
Gui,Add,Text,x165 y95 w190,Password
Gui,Add,Edit,x165 y115 w190 vpassword
Gui,Add,Text,x165 y140 w190,Proxy Port
Gui,Add,Edit,x165 y160 w190 vport
Gui,Add,Text,x165 y185 w190,Method
Gui,Add,Edit,x165 y205 w190 vmethod
Gui,Show, W365 H270 Center,fuck gfw by shadowsocks
return

listconfig:
configlistraw =
Loop,*.ini,0,0
{
configlistraw = %configlistraw%|%A_LoopFileName%
}
StringTrimLeft,configlist,configlistraw,1
return

fuck:
if configname =
{
log = Please select a config file!
GuiControl,,logwindow,%log%
return
}
IfNotExist sslocal.exe
{

log = sslocal.exe does not exist!
GuiControl,,logwindow,%log%
return
}
gosub closeallsslocal
Gui Submit,nohide
sslocal = sslocal.exe -s %server% -p %serverport% -l %port% -k %password% -m %method%
loop
{
if stopfuck = 1
{
stopfuck = 0
break
}
Process,Exist,sslocal.exe
if ErrorLevel = 0
run, %sslocal%
ControlSend,,y,%A_WorkingDir%\sslocal.exe
ControlSend,,{enter},%A_WorkingDir%\sslocal.exe
sleep 3000
}
return

stop:
stopfuck = 1
gosub closeallsslocal
return

add:
addconfig = none
InputBox, addconfig , please input a config name,,,300,90
if ErrorLevel
return
addconfig = %addconfig%.ini
IniWrite, none, %addconfig%, Section,server
IniWrite, none, %addconfig%, Section,serverport
IniWrite, none, %addconfig%, Section,password
IniWrite, 7070, %addconfig%, Section,port
IniWrite, aes-128-cfb, %addconfig%, Section,method
gosub listconfig
GuiControl,,configname,%configlistraw%
return

save:
Gui Submit,nohide
if configname =
return
IniWrite, %serverport%, %configname%, Section,serverport
IniWrite, %password%, %configname%, Section,password
IniWrite, %server%, %configname%, Section,server
IniWrite, %port%, %configname%, Section,port
IniWrite, %method%, %configname%, Section,method
gosub loadconfig
return

loadconfig:
Gui Submit,nohide
IniRead, server, %configname%, Section, server
IniRead, serverport, %configname%, Section, serverport
IniRead, password, %configname%, Section, password
IniRead, port, %configname%, Section, port
IniRead, method, %configname%, Section, method
GuiControl,,server,%server%
GuiControl,,serverport,%serverport%
GuiControl,,password,%password%
GuiControl,,port,%port%
GuiControl,,method,%method%
return

guiclose:
gosub closeallsslocal
exitapp

closeallsslocal:
loop
{
Process,Close,sslocal.exe
Process,Exist,sslocal.exe
if ErrorLevel = 0
break
if a_index >= 10
break
sleep,500
}
return

GuiSize:
If A_EventInfo=1
{
gosub hide
}
Return

hide:
DetectHiddenWindows,Off
IfWinExist,fuck gfw by shadowsocks
{
WinHide,fuck gfw by shadowsocks
WinHide,%A_WorkingDir%\sslocal.exe
}
else
{
WinShow,fuck gfw by shadowsocks
}
return

showsslocal:
WinShow,%A_WorkingDir%\sslocal.exe
return

PS:欢迎转载,保持署名,别盗链图就好(站小流量扛不住,- -#)

 

23 Responses to “shadowsocks-local启动器”

  1. 病医生 says:

    我替换图标没有成功,请问作者如何编译成exe能给个教程吗,谢谢作者分享真心好用可以多配置喜欢

    [回复]

  2. 病医生 says:

    作者我已经改好了

    [回复]

    柴子 回复:

    哈哈,晚上我才上,刚看到,没想到你已经搞定了。你是替换了图标吧,我给你一个AutoHotkey的编译器,直接把 .ahk的编译成exe。。 下载地址:http://pan.baidu.com/s/16dPBC

    [回复]

  3. 病医生 says:

    谢谢作者真心好用!

    [回复]

    柴子 回复:

    🙂

    [回复]

  4. lonely says:

    感谢开源!!!
    我拿来改了一个,谢谢
    http://www.ssh91.com/archives/shadowsocks-win.html

    [回复]

    柴子 回复:

    😛

    [回复]

    lonely 回复:

    可惜不会写代码,不然要是能改成打开自动连接最后选择的配置文件再隐藏的话就完美了

    [回复]

  5. 绵羊 says:

    被迫弃用吧,我看了一会才明白,话说goagent也不是完全不能用了吧,只是没有以前那么快了

    [回复]

    绵羊 回复:

    话说老柴你确定“但shadowsocks一直没有一个很好用的客户端”这是真的么?你大概没有好好的多找找吧,有个yingwa也做得很好,下载地址是https://breakwall.net/soft/yingwa.zip

    [回复]

    柴子 回复:

    yingwa没Lazyzhu编译的好。。。

    [回复]

  6. laincat says:

    能直接支持 rc4-md5 吗?

    [回复]

    柴子 回复:

    支不支持其实只和shadowsocks程序有关。。

    [回复]

  7. 绵羊 says:

    老柴,看来你是对的,这回封gmail波及到谷歌的所有IP了。无奈在搬瓦工买了个3.99刀每年的64M内存的小VPS,我一个人用还可以,速度还行。个人用的话,推荐这个VPS。

    [回复]

    柴子 回复:

    我也有一个,哈哈,3.99刀一年,物美价廉。我是湖北联通12M,洛杉矶机房和凤凰城机房都能轻松看youtube的4K高清,特别是凤凰城,看4K2160P,全天24小时段不卡,很爽。不过电信不是很适合。比如天毅用我这个简直是龟速。。

    [回复]

    绵羊 回复:

    坑啊,我就是电信,装net-speeder了都不行

    [回复]

    柴子 回复:

    速度好棒~~ 哈哈哈,每天没事就在youtube看4K视频,总觉得流量一个月100G用不完。。

    [回复]

    绵羊 回复:

    柴壕,我准备长期弄个博客了,这回买了com域名。

    [回复]

    柴子 回复:

    哈哈,个人站点还是org比较有逼格一点。

  8. 已经上线了,就是这么有big

    [回复]

    绵羊 回复:

    点我名字就可以上了,调试的差不多了,好久没弄,这些都生疏了。

    [回复]

    柴子 回复:

    搞定~~

    [回复]

Leave a Reply

与文章无关的内容请在留言簿留言,以保持评论和文章内容的相关性。