goagent 报错: code 400 message bad request syntax

如标题。

这是个低级错误,严重的低级错误。浏览器的代理类型选错了:应该是http,但错选成sock 5.

目不忍视的低级错误。

因为之前一段时间,主要是6月初几天,goagent因为众所周知的原因被严重的墙了,当时换用shadowsock,然后goagent有所好转,直接把foxyproxy里的ss规则复制一份,改供goagent用,但代理类型的sock5没取消,所以。。。。

Android无法连上VPN的原因及解决办法(android系统root后连vpn显示已断开)

为了能正常使用google等的网络服务,偶尔要在android上使用pptp vpn,在linode上搭建的。最近使用了cm固件,nightly版,还是比较稳定的。

不过最近经常无法连接vpn,连接N次都是非常慢、然后提示“连接已断开”;起先以为是固件的问题,重刷了几次机,但问题依旧。

今天在外面使用联通3G,突然就不能连vpn了,以为是北京联通的国际出口上被过滤pptp数据了;不能正常上网,很崩溃,很崩溃。回来后在电脑上pptp拨号很顺利,证明电信网络是可以成功拨号。手机已经自动切换为wifi,连了两次vpn,全部失败。于是全面怀疑可能是其它原因。

google查 “android vpn 连接失败”相关文章,其中有root之后vpn无法连接vpn的文章,因为cm固件是天生root的,而刷机后并不是马上就连不了vpn,而是要过一两天之后,因为不太在意,只是草草看了,看过后,回顾最近在无法vpn前的事情,似乎都与使用smartHosts之类的软件修改hosts文件,这个操作是需要root权限的。虽然以前也root,但没有改过hosts;感觉可能有道理。于是到cm自带的文件浏览器,改设置为root模式,到/etc里,修改 mount 为r/w,然后查了里面的文件 /etc/ppp/ip-up-vpn 的权限,还真的没有写权限,修改权限为775,然后再登录vpn,虽然不快,但还是连上了。

其实解决这个问题非常简单:修改文件 /etc/ppp/ip-up-vpn 的权限,至少让root用户可写。使用你自己熟悉的工具,如re浏览器,固件工具箱等太多了。如果对linux文件权限不太了解,请参看文后链接。

很多朋友为了获取更多的自由,将自己的Android 手机破解获取root权限了,不过获取root后有一个问题,无法再正常连上VPN(即使设置完全正确),经过网上查找相关资料,确认是因为/etc/ppp/ip-up-vpn 的权限问题所致。

参考文章:http://www.ruan8.com/tutorial_1128.html

 

极简单/简陋的wordpress插件:网站访客追踪记录 v0.0.2

这是对旧文中提到的wordpress访客记录的一次升级版,照样很简陋,算作给自己玩的吧;谁需要的话,也可以拿去玩。

源码

<?php
/*
Plugin Name: fs trace
Plugin URI: http://blog.path8.net/
Description: This plugin will trace all visitor's visit action.
Version: 0.0.2
Author: fengyqf
Author URI: http://blog.path8.net/
*/

/*  
    Copyright 2008  fengyqf  (email : fengyqf@gmail.com)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

function fstrace_by_fengyqf(){
  global $wpdb;

  $url=mysql_escape_string(substr($_SERVER["REQUEST_URI"],0,200));
  $referer=mysql_escape_string(substr($_SERVER["HTTP_REFERER"],0,200));
  $cookie=mysql_escape_string(substr($_SERVER["HTTP_COOKIE"],0,250));
  $client=mysql_escape_string(substr($_SERVER["HTTP_USER_AGENT"],0,200));
  if(getenv('HTTP_CLIENT_IP')) {
    $ip = getenv('HTTP_CLIENT_IP');
  } elseif(getenv('HTTP_X_FORWARDED_FOR')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
  } elseif(getenv('REMOTE_ADDR')) {
    $ip = getenv('REMOTE_ADDR');
  } else {
    $ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
  } 
  $ip=mysql_escape_string(substr($ip,0,16));
  $sql="insert into `log`.`wp_trace_{$wpdb->prefix}`(`referer`,`url`,`unixtime`,`ip`,`client`,`cookie`) 
          values('{$referer}','{$url}',".time().",'{$ip}','{$client}','{$cookie}')";
  $wpdb->query($sql);
  if($wpdb->last_error){
    echo "<script type=\"text/javascript\">alert('Something Wrong! get messages at page bottom. | 出错了,到页底查看详细');</script><h1>fs trace message</h1><p>You Need to Create a table for <strong>fs trace</strong>, to log your visitor active. this table was in database <i>log</i>, you can change the wp-plugin <strong>fs trace</strong> file, in wp pannel - plugins - edit - fs trace, find the line \"  \$sql=\"insert into `log`.`wp_trace_{$wpdb->prefix}`... \", and change it to <pre>\$sql=\"insert into `wp_trace_{$wpdb->prefix}`...</pre> (yes, delete <i>`log`.</i>),and sava it </p>
<p>您需要创建一个表,用于 <strong>fs trace</strong>存储wordpress的将追踪记录. 该表默认位于数据库 log 中。如果您不方便创建一个名为log的数据库,可以将该表放在当前数据库中,只是要修改一下<strong>fs trace</strong>源码了,到wordpress仪表盘 - 插件 - 编辑 - fs trace, 找到这样一行  \"  \$sql=\"insert into `log`.`wp_trace_{$wpdb->prefix}`... \", 改成 <pre>\"insert into `wp_trace_{$wpdb->prefix}`...</pre> (就是删除 <i>`log`.</i>),保存。 </p>
<p>create the table as below/建表语句如下</p>
<pre>use `log`; 
CREATE TABLE `wp_trace_{$wpdb->prefix}` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `referer` varchar(200) NOT NULL DEFAULT '',
  `url` varchar(200) NOT NULL DEFAULT '',
  `unixtime` int(10) unsigned NOT NULL DEFAULT '0',
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `ip` varchar(16) NOT NULL DEFAULT '',
  `client` varchar(200) NOT NULL DEFAULT '',
  `cookie` varchar(250) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;</pre> <p>grant the mysql user INSERT privileges at least;In fact, INSERT is enough. </p> <p>为 mysql 用户赋权限,至少需要对该表的INSERT权限;事实上只需要insert权限即可. </p> <p> Alert by the plugin <strong>fs trace</strong> </p>";
//    var_dump($wpdb);
  }
}
add_action('wp_footer','fstrace_by_fengyqf');
?>

下载源码

使用说明

wordpress后台,通过上传zip文件方式上传该插件,(或解压后,连目录上传到wordpress下 wp-content/plugins/ 目录),启用插件,然后到打开前台任意页面,照错误提示操作。消息提示有中英两种语言。提示文字可能因为您的模板关系而排版错乱,看起来有些费力。

本插件不会自己创建数据表,需要您按消息提示手工创建。

本表默认在一个名为log的数据库里,因为追踪表通常会比较大,可以减少wordpress主数据库体积,主要是方便备份。单独。如果不方便创建这个数据库(如在虚拟主机上,主机商通常只给一个数据库),可以修改本插件源码,上述错误消息里也有提示。

国内开启google位置记录功能/android版google maps 7+上,恢复位置记录功能在国内使用(需root)

android版google 地图在 7以后的版本上,位置记录功能在国内不能用了,提示本功能不能在中国使用。

至少对本人,“位置记录”功能是非常有用的功能,尤其是骑车出行时记录自己的路线。目前还没找到替代产品。之前一段时间内恢复回旧版本,以使用该功能。后来使用shlug用户组的高手kernel老兄提供的方案,成功启用了本功能。

方法如下:

让andorid系统启动后加载下面这段脚本:

脚本fixsim

欺骗android系统,让它以为运行在美国运营商的服务下。

加载该脚本需要手机有root权限。个人使用 “固件工具箱” (rom toolbox) 实现启动加载,功能位于:

rom toolbox - 工具 - 脚本编写器 , 导入如上启用脚本(推荐将脚本改下名字,如init.fixsim.sh),并设置成开机自动启动,完成后重启手机。

Screenshot_2013-10-22-23-01-06 Screenshot_2013-10-22-23-01-20

可能得过一阵子才能在google地图里启用“位置记录”,估计是系统缓存的问题。

个人测试环境:galaxy nexus 手机, android 4.3(已root), 固件工具箱5.9.0 付费版,上述脚本。

----------------------------

当然用其它办法让该脚本执行也可以,个人没有尝试。kernel老兄的方案是:将上述脚本“自己扔 /etc/init.d/下面,记得改权限,当然内核得支持执行/etc/init.d下面的脚本才行”

-----------------------------

另外:7以后版本的google地图上,有个很好用的缩放地图的方法,只要单指即可完美操作,比传统的缩放按钮更好用,比多指拉伸/缩小更方便:

vbscript/asp函数:extract_by_str,指定起止字符串在字符串中截取子串

vbscript/asp函数:extract_by_str,指定起止字符串在字符串中截取子串

直接上代码:

<%
function extract_by_str(from,s_start,s_end)
	dim pos_start,pos_end,rtn
 	rtn="" 	pos_start=instr(from,s_start)
 	if pos_start>0 then
		pos_start=pos_start+len(s_start)
		pos_end=instr(pos_start,from,s_end)
		if pos_end > pos_start then
			rtn=mid(from,pos_start,pos_end-pos_start)
		end if
	end if
	extract_by_str=rtn
end function

str="[abcdefghijklmn天地玄黄宇宙洪荒]abcxyzopqlmn"
response.write str
response.write "c-i:"&extract_by_str(str,"c","i")
response.write "天-洪:"&extract_by_str(str,"天","洪")
response.write "天-洪:"&extract_by_str(str,"洪","天")
response.write "天-e:"&extract_by_str(str,"天","e")
response.write "天-n:"&extract_by_str(str,"天","n")
%>

悲剧,狗爹虚拟主机的ssh禁用转发了

悲剧了

悲剧,狗爹虚拟主机的ssh -d禁用转发了,快十一了,网络质量非常不好,博客后台半天都没有打开完成,就在标题里写内容了。

文章发布出去,页面终于可以打开完成了,补几句。

突然发现ssh不能翻墙了,查看进程是正常的,杀死自动重新运行,修改配置重启手动运行,照样没用,网查看错误消息

channel 1: open failed: administratively prohibited: open failed
channel 2: open failed: administratively prohibited: open failed

有中文资料,有几个原因,其中一个是最不愿意看到的原因,服务器端禁止转发了,然而经过加-v参数,看详细消息,越来越像这个原因,ssh登录到服务器上查看sshd相关的几个参数,

-bash-3.2$ less /etc/sysctl.conf |grep ip_for
net.ipv4.ip_forward = 0

果然操作系统级禁用转发

-bash-3.2$ cat /etc/ssh/sshd_config

文件最后一行

AllowTcpForwarding no
看来似乎是管理员刚加的这个参数。不过uptime显示系统启动17天了,难道这个设置还是修改后不重启就生效的?sshd的可以修改后重启服务立刻生效,但sysctl.conf级的呢?或许是管理员只是修改了这个设置,并没有重启机器。

最不愿意看到原因。

看来要买个vps,或者买个专门用于ssh转发的账号

google工具栏显示与隐藏"Google 新标签页"

以firefox下为例

地址栏输入 about:config 回车

点“我保证会小心”

类似注册表的首选项列表,上方的“过滤器”输入 google.toolbar.newtab

可以看到首选项列表里的一条google.toolbar.newtab , 双击,其值将在true与false之间变换。true为显示"Google 新标签页",false为不显示"Google 新标签页",改好后关闭本标签页即可。

如果重启后又自动恢复了,那先在firefox附加组件管理里禁用google工具栏,然后到about:config里自己新建一条google.toolbar.newtab 值为需要的值(true或false),再重新打开google工具栏,即可。

firefox6.x上使用google工具栏

firefox6正式版已经发布,插件一般总是要滞后几天;不过这次,google工具栏比较悲剧,官方不支持firefox6了,很可恶。

以前修改插件里的文件而在插件升级版发布前、在新版本firefox里使用,对google工具栏如法炮制,果然还是有效的。

方法如下:

修改文件

/home/[user-main-folder]/.mozilla/firefox/lxyp34or.default/extensions/{3112ca9c-de6d-4884-a869-9855de68056c}/install.rdf

windows下,应该在X:\Documents and Settings\[user-main-folder]\Application Data\Mozilla\Firefox\Profiles\esx4b5b6.default\extensions\xxxx\install.rdf

第17行,把        <em:maxVersion>4.0.*</em:maxVersion>

改成

<em:maxVersion>7.0.*</em:maxVersion>

即可。才发现使用firefox 5时就修改过这个值了,不过当时改成了5,这次改成7,下次fx升级就不用改了。

linux下ssh -D 转发脚本/ssh断线后自动重连

ssh转发ssh -D的作用就不说了,相信看到这篇文章的童鞋们应该都......[此处略去N个字]。

有不少ssh服务器会定期踢除不活动的连接,尤其像我这样使用 "ssh -D " + autoproxy,通常访问的网站都是没有被有被墙的,于是ssh长时间不活动,于是被服务器踢了。写一个简单脚本,解决这一问题。

前提:

有ssh服务器账号密码,并设置好免密码登录ssh.

思路:

写脚定期查看ssh进程是否已经退出,如果退出则重新连接ssh。

设置一个命令别名alias,以一个简单的别名运行这一脚本。

实施:

在~/.bashrc 追加一行

alias fkgxx='sh ~/script/fkgxx &'

以下代码保存为 ~/script/fkgxx

#!/bin/bash

while [ '' == '' ]
do
	ssh_d_process_num=`ps aux|grep -E 'ssh \-' |grep -v grep |wc -l`
	#echo 'ssh_d_process_num:'$ssh_d_process_num
	if [ "$ssh_d_process_num" == "0" ]; then
	#	echo 'ssh -d terminaled'
		/usr/bin/ssh -D :7070 -N fengyqf@path8.net &
	#else
	#	echo 'ssh -d running'
	fi

	sleep 5
done

用法:

开启命令行终端,执行fkgxx,即可;当然设置成登录后自动运行也可以。

不足:

简单的根据进程判断ssh转发进程状态,这并不完善,因为有时该进程可能成为僵死进程,最好再加个检查7070端口是否在正常监听。

PS:

还可以使用autossh实现自动连接功能,可能这是个更好的方案;这里只是个另一个选择,另一个折腾的方法,追求自由精神的选择。

4G内存启用PAE后 windows 2003 没有休眠功能

电脑加了条2G内存,现在4G了,使用的是windows2003操作系统(32位),所有4G内存甚至更大都可以完美支持,但发现没有休眠功能了,电源选项里休眠选项卡都没有了。原以为是某个服务,或什么出了故障,无法休眠,重启过就可以了;之前见过这个问题。但重启后还是不行。上网查原因,发现可以通过powercfg /a查休眠支持,运行后得到如下面内容

Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>powercfg /a
此系统上有以下休眠状态: Standby ( S3 )
此系统上没有以下休眠状态:
Standby (S1)
 系统固件不支持此待机状态。
Standby (S2)
 系统固件不支持此待机状态。
Hibernate
 系统正在以 PAE 模式运行,在 PAE 模式不允许休眠。

C:\Documents and Settings\Administrator>

系统正在以 PAE 模式运行,在 PAE 模式不允许休眠。

杯具了,看来只能每次关机了!

上面所说是查到这是这篇文章,google俄罗斯版的,问答系统,居然还是与天涯问答有关。

http://otvety.google.ru/otvety/thread?tid=2713a36a45a8eea9

dxsvcd@天涯社区 26.12.2009 17:19:50 Сообщить о нарушении

解决方案

使用命令行方式,通过以下的步骤来查看计算机支是否支持休眠功能。

1、单击“开始”,在“附件”中找到“命令提示符”,右键单击“命令提示符”

2、在命令提示符处,输入cmd,然后键入powercfg /a

如果计算机可以支持休眠功能,那怎样才能启用呢?

可以使用 PowerCfg 命令行工具来启用休眠功能。为此,可以按照下列步骤操作:

1、 单击“开始”,在“附件”中找到“命令提示符”,单击“命令提示符”;

2、在命令提示符处,键入 powercfg /hibernate on。 即可重新启用休眠功能了。

Pages: 1 2 3 4 5 Next