2015年3月5日 星期四

設置IPv6 pppoe server on ubuntu

2015第1PO!(會不會是今年最後一PO@@)
 
不知道寫在那就留在這了

參考:
https://sskaje.me/2014/05/set-pppoe-server-ubuntu/#.VPghns2li1H
http://sunghau.blogspot.tw/2011/11/ipv6-pppoe-server-pppoe-client-on-arm.html

注意ipv6-up.d/radvd寫法如下:
#!/bin/sh

ADDR=$(echo $PPP_REMOTE | cut -d : -f 3,4,5,6)

if test x$ADDR = x ; then
    echo "Unable to generate IPv6 address"
    exit 0
fi

ADDR=2001:3629::$ADDR

#add route
route -6 add $ADDR/128 dev $PPP_IFACE

#generate radvd config
RAP=/etc/ppp/ipv6-radvd/$PPP_IFACE
RA=$RAP.conf

cat << EOF > $RA
interface $PPP_IFACE{
        AdvManagedFlag off;
        AdvOtherConfigFlag on;
        AdvSendAdvert on;
        MinRtrAdvInterval 5;
        MaxRtrAdvInterval 30;
        UnicastOnly on;
        AdvSourceLLAddress on;
    AdvCurHopLimit 64;
        prefix 2001:3629::/64 {};
};
EOF

#start radvd
/usr/sbin/radvd -C $RA -p $RAP.pid
#如果有dhcpv6, 則在此加tchdpd的資訊
#start tchdpd
#/usr/sbin/tdhcpd --dns-server=2001:470:20::2 --dns-name=$PPP_IFACE.tunnel.ipv6.icybear.net --pid-file=$RAP.dhcp.pid  --local-id=test --log-level=debug $PPP_IFACE
# --local-id=tunnel.ipv6.icybear.net -L debug\

#update dns
ARPA=$(ipv6_rev $ADDR)
nsupdate << EOF
update delete $ARPA
update add $ARPA 10 ptr $PPP_IFACE.tunnel.ipv6.icybear.net
send
update delete $PPP_IFACE.tunnel.ipv6.icybear.net
update add $PPP_IFACE.tunnel.ipv6.icybear.net 10 aaaa $ADDR
send
EOF

exit 0

ipv6-down.d/radvd則與網頁相同:

#!/bin/sh

ADDR=$(echo $PPP_REMOTE | cut -d : -f 3,4,5,6)

if test x$ADDR = x ; then
    echo "Unable to generate IPv6 address"
    exit 0
fi

ADDR=2001:3629::$ADDR

#add route
route -6 add $ADDR/128 dev $PPP_IFACE

#generate radvd config
RAP=/etc/ppp/ipv6-radvd/$PPP_IFACE
RA=$RAP.conf

cat << EOF > $RA
interface $PPP_IFACE{
        AdvManagedFlag off;
        AdvOtherConfigFlag on;
        AdvSendAdvert on;
        MinRtrAdvInterval 5;
        MaxRtrAdvInterval 30;
        UnicastOnly on;
        AdvSourceLLAddress on;
    AdvCurHopLimit 64;
        prefix 2001:3629::/64 {};
};
EOF

#start radvd
/usr/sbin/radvd -C $RA -p $RAP.pid
#如果有dhcpv6, 則在此加tchdpd的資訊
#start tchdpd
#/usr/sbin/tdhcpd --dns-server=2001:470:20::2 --dns-name=$PPP_IFACE.tunnel.ipv6.icybear.net --pid-file=$RAP.dhcp.pid  --local-id=test --log-level=debug $PPP_IFACE
# --local-id=tunnel.ipv6.icybear.net -L debug\

#update dns
ARPA=$(ipv6_rev $ADDR)
nsupdate << EOF
update delete $ARPA
update add $ARPA 10 ptr $PPP_IFACE.tunnel.ipv6.icybear.net
send
update delete $PPP_IFACE.tunnel.ipv6.icybear.net
update add $PPP_IFACE.tunnel.ipv6.icybear.net 10 aaaa $ADDR
send
EOF

exit 0

其他如pppoe-server-options是從ppp/options來,加上:
plugin /etc/ppp/plugins/rp-pppoe.so
require-pap
ktune
nobsdcomp
noccp
novj

ipv6 ,

也就沒有特別要注意的了..

2011年7月22日 星期五

延遲執行-block版

在ios中如果要延遲執行某些程式碼,通常是使用performSelector:withObject:afterDelay的方式來做

但是如果只是想執行一兩行程式,又不想新增一個method的話,

可以參考Delayed Blocks in Objective-C這篇文章,

以我本身的例子,我想在xxx.m中使用的話,就在.m檔最上方直接加入:

@interface NSObject (PWObject)

- (void)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay;

@end

@implementation NSObject (PWObject)

- (void)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay
{
    int64_t delta = (int64_t)(1.0e9 * delay);
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delta), dispatch_get_main_queue(), block);
}

@end

然後再想用的地方用performBlock:afterDelay即可。

2011年2月18日 星期五

在ubuntu上用ddclient更新你的dyndns Host

首先安裝ddclient,然後檢查/dev/default/ddclient,我的config如下:

# Set to "true" if ddclient should be run every time a new ppp connection is
# established. This might be useful, if you are using dial-on-demand.
run_ipup="false"

# Set to "true" if ddclient should run in daemon mode
# If this is changed to true, run_ipup must be set to false.
run_daemon="true"

# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval="3000"

最後一個參數設定你要多久檢查一次。

然後編輯/etc/ddclient.conf,我的config如下:

protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='IP Address'
server=members.dyndns.com
login=帳號
password='你的密碼'
DNS代稱.selfip.org

以上只有斜體字要視情況修改,另外之前安裝ddclient的時候也有問一些問題,

基本上就是記錄在這裡,不過我覺得很奇怪的是,原本server的部份是叫做

members.dyndns.org,可是這個位址我怎麼找都找不到、也連不上。

後來突發奇想,把org改成com就可以了...這...

如果改完以後想馬上知道結果,就把/etc/default/ddclient的時間改短一點,最短好像也是一分鐘。

然後先關閉ddclient:sudo /etc/init.d/ddclient stop,這時候記得去把快取檔案刪除:

sudo rm -rf /var/cache/ddclient/ddclient.cache

再把ddclient打開即可:sudo /etc/init.d/ddclient restart

或者先用ddclient -daemon=0 -verbose來檢查一下是否正常。

為了避免以後重灌又忘記,特此一留。

2011年1月28日 星期五

URL上特殊字元的對應

 Dollar ("$")
 Ampersand ("&")
 Plus ("+")
 Comma (",")
 Forward slash/Virgule ("/")
 Colon (":")
 Semi-colon (";")
 Equals ("=")
 Question mark ("?")
 'At' symbol ("@")
24
26
2B
2C
2F
3A
3B
3D
3F
40
36
38
43
44
47
58
59
61
63
64


來源在此:URL Encoding

在判斷YouTube的get_video_info時會有幫助,先記在這裡,以免要找忘記。

另外取得資訊的網址格式為http://www.youtube.com/get_video_info?video_id=,後面加上影片ID即可。

2010年12月23日 星期四

在Ubuntu上用winff把RMVB轉成MP4

首先我的Ubuntu版本是9.10

先新增一個第三方的repository位址

sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list && sudo apt-get -q update && sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring && sudo apt-get -q update 

然後安裝ffmpeg跟winff
sudo apt-get install winff ffmpeg libavcodec-extra-52

打開影音工具->winff,會跳出一個視窗如下:



首先按下Add,選擇你要轉檔的檔案

修改Convert To...的內容為MPEG4,Device Preset則選擇MP4 Fullscreen

最後選擇你要輸出的路徑,按下Convert即可開始轉換

參考網頁:HOWTO: Easily enable MP3, MPEG4, AAC, and other restricted encoders in FFmpeg

2010年11月25日 星期四

原來這是不太硬的陰謀

最近常使用MSN的朋友應該都感到很不方便的地方是

當有人要丟給你一個有趣的圖片、YouTube網址時,

你必須自己手動複製再貼到瀏覽器去,

也許這對別人來說沒什麼,但是對我來說真的是麻煩的要死....

後來向google大神卜了一卦,發現原來是不太硬的"陰謀",理由是malicious worm(懷有惡意的蠕蟲....嗯亨)

原文網址在此:Security alert: Active links in Messenger 2009 temporarily turned off to prevent a malicious worm

OK,看了看下面憤怒國外鄉民的回文,終於讓我看到有善心人士的解法了,

解決網址在此:RE-ENABLE-LINKS-IN-MESSENGER-09

其實基本上就是用Hex編輯器像是ultraedit的軟體,打開msnmsgr.exe,找到hotlinks的字串然後把它改成別的字串,如"totlinks",

然後存檔,重新開啟MSN,隨便請個人丟個連結給你,等燈燈!

恭喜你,現在你可以直接點連結了,繼續快樂看謎圖跟謎片暢遊網際網路世界!

2010年9月7日 星期二

加上wifi功能的小烏龜

首先下載putty(個人喜歡pietty)跟tftpd(這裡我的環境是vista)

tftpd可以在這裡下載:http://tftpd32.jounin.net/tftpd32_download.html

pietty可以在這裡下載:http://ntu.csie.org/~piaip/pietty/

先安裝好tftpd,待會會用到

然後把PC的IP設成192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1

再來就利用tty軟體連線192.168.1.1:23

登入的帳號密碼可以參考m01的文章

北區的"好像"是cht,chtnvdsl

 登入以後,會有文字的選單

從ManagementSettings選Backup再選擇Backup Settings

先輸入PC的IP,也就是tftp server的IP

再輸入檔案名稱

就可以下載設定檔

用文字編輯器打開設定檔,然後找到00

刪掉

然後儲存、再回到剛剛的文字選單

選擇update、輸入IP跟檔案名稱

等個數秒

OK

重新用browser連上192.168.1.1

你就會發現世界不太一樣了...

前提1: 我家小烏龜的版本為P874N2AP_0706
前提2 :後果請自負


參考:
http://www.dreamrift.co.cc/2010/08/vdslp874ap.html
http://www.mobile01.com/topicdetail.php?f=507&t=1414137&p=1