Monthly Archives: 1月 2012

ぴくぴくダウンローダ for Java(仮) テスト版 公開(GUI未対応)

先日、開発・サポートを終了したぴくぴくダウンローダに変わりうる全く新しいダウンローダです。
基本的なコンセプトのPixivのサーバに優しく、単純を受け継いでいく予定ですが、今までのぴくぴくダウンローダとは全く異なるものになる予定です。

マルチプラットフォームを今まで以上に意識しているのでWindows以外のOSでも複雑な導入作業なしで実行できるようになっています。

現在、まだコマンドベースでしか操作できなですが、ここでの反応を見ながら開発していきたいと考えております。

動作環境:Windows MacOSX Linux でJavaが動作する環境

現在、まだコマンドプロンプトを知らない人、使ったことがない人には難しいかもしれません。
あとテスト版の意味が理解できる人のみご利用ください。

実行方法
ZIPファイルをダウンロードして、適当な場所で展開してください。
するとpget.confとpget.jarが出てくると思います。解凍ソフトによってはjarファイルまで展開してしまうものもあるのでご注意ください。

pget.confには最低限の項目しかないので迷わないと思いますが、Pixivのユーザー名とパスワードは必ず記述してください。

準備が済んだら下記のようにコマンドプロンプトでpget.jarのあるフォルダに移動し、実行してみてください。

> cd 展開したフォルダまでのパス
> java -jar pget.jar I_search 検索ワード 0 2 1 10

プログラムの引数は下記の通りです。

画像収集
・検索モード(I_search)
[検索ワード / 最低ブックマーク数 / モード(画像:0・漫画:1・総合:2) / 開始ページ番号 / 終了ページ番号]
・ID指定モード(I_id)
[ID / 開始ページ番号 / 終了ページ番号]

小説収集
・検索モード(N_search)
[検索ワード / 最低ブックマーク数 / 開始ページ番号 / 終了ページ番号]
・ID指定モード(N_id)
[ID / 開始ページ番号 / 終了ページ番号]

ライセンスは現在検討中です。おそらくオープンソース化すると思いますが。。。
現段階では逆コンパイル、改造、再配布は禁止させて頂きます。

このバージョンは古いです。最新版をダウンロードしてください。

動いた・動かなかった・意見などがあれば気軽にコメントしてください。

完成版のイメージは下記のような感じになる予定です。なおWindowsでもMacでもLinuxでも同じようなデザインのGUIで利用できるようにする予定です。

(現在作成中・・・もうしばらくお待ちください。)

今更ながらRT58iでVPN設定を行なってみた

まずは普通に下記の通りに簡単設定画面のリンクをクリックして設定する。
「詳細設定と情報」> 「VPN接続の設定」> 「PPTPを使用したパスワード認証のリモートアクセスVPNサーバ(Anonymous)」
※ 基本的には適当に設定して問題ないが”PPTP暗号鍵生成の認証方式”は”MS-CHAP v2で認証する”としておくこと。

ただこのままではなぜかVPNに繋げられないので次のような処理を行う。

次は、下記の簡単設定画面のリンクをクリックしてコマンドを実行する。
「詳細設定と情報」> 「コマンドの実行」

実行するコマンド
pp select anonymous
ppp ipcp msext on
nat descriptor masquerade static 1 1 192.168.100.1 tcp 1723
nat descriptor masquerade static 1 2 192.168.100.1 gre

上二行は名前解決に関するコマンド
下二行はNATの設定に関するコマンド

パラメータは各自自分の環境に合わせてください。
そんな感じで多分接続出来るようになると思います。

参考
iPhone4→RT58i VPN(PPTP)接続のコツ
リモートアクセス(PPTP)で社外から社内LANにアクセスしたい

ぴくぴくダウンローダについてのお知らせ

ぴくぴくダウンローダの開発についてなのですが・・・突然ですが、そろそろ開発を終了しようかと考えております。
最初の頃とは違い他の方々も活発に開発を行なっているようなので何か特別な事や私の気まぐれが無い限りバージョンアップは行わない予定です。

※ 著作権に関しては今後も破棄、譲渡する予定はございません。

今までご利用ありがとうございました。

XMLを解析して和訳するRubyスクリプト REXML、Microsoftの翻訳APIを使用

Androidのアプリを日本語化したくなったのでXMLを和訳していたんですが、面倒になったのでスクリプトをサクっと書いて見ました。RubyでXMLを構文解析して読み取り、Microsoftの翻訳APIを利用し自動で機械翻訳して再びXMLで出力しちゃいます。XMLを翻訳して出力プログラムはあまり見かけないのでそれなりに需要があるかなと思い公開してみました。

結構最近は機械翻訳も精度が上がっているようですねw 驚かされました。数百数千行を一個一個手動で訳すよりはある程度自動化したほうが楽ですよね~

※ 機械翻訳は万能ではないのでそれなりに変な訳が出力されます。← 言い切ります
※ リビルドする時にエラーが発生するかもしれませんがその時は手動で直してください。
(多分エディタの自動置換機能とか使えば全然大したことはないと思います)
※ APPIDは下記の参考にさせて頂いたサイト(simultechnology.blog様)を参考にしてください。

#!/usr/bin/ruby -KU
require 'net/http'
require 'rexml/document'
require 'json'

#----------(Settings)----------#
in_file = "strings.xml"
ex_file = "strings_.xml"
$debug = true
$sleep = 3
$appid = "*************************"
#------------------------------#

$rank = 0

def sp
  "  " * $rank
end
def run elem
  if $debug
    print "================================\n"
    print sp + "name : #{elem.name}\n"
    attrs = elem.attributes
    attrs.each{|a,e|
      print sp + "attr : #{a} = #{e}\n"
    }
    print sp + "text : \n--\n#{elem.text}\n--\n"
  end

  if elem.text =~ /\w/ then
    text = URI.escape(elem.text)
    h = Net::HTTP.new("api.microsofttranslator.com")
    response = h.get("/V2/Http.svc/Translate?appid=#{$appid}&from=en&to=ja&text=#{text}")

    if response.message == 'OK'
      doc = REXML::Document.new(response.body)
      elem.text = doc.root.text
    end
  end

  print "#{elem.text}\n"
  sleep $sleep

  if elem.has_elements? then
    elem.each_element{|e|
      $rank += 1
      run e
      $rank -= 1
    }
  end
end

doc = REXML::Document.new(File.new(in_file))
run doc.root
doc.write(File.new(ex_file, "w"))

プログラムを書く上で参考にさせて頂いたサイト
REXML であそぶ http://www.namikilab.tuat.ac.jp/~sasada/prog/rexml.html
simultechnology.blog http://simultechnology.blendmix.jp/blog/archives/1101