misoni 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 075a6c5fe791cd08818db2ed6e0e7c8c411223b4
4
- data.tar.gz: d7b33e7ee1bf3e793f0ca59bc26f0e1d0523efd3
3
+ metadata.gz: c34f0960bf1598a02b537e9a52ea5b6b6ef10dba
4
+ data.tar.gz: 9e260266a1c621efb36b625125d2a2b6868f78e6
5
5
  SHA512:
6
- metadata.gz: 444de2bf3a3f91205a67416fc0e70ac19b1dc04687b2eb048130f92d3c87ef84757d90cb20e430fde1740fb392bc7c1dd77592b128d2696a0736f42100709591
7
- data.tar.gz: b59bc78814ddb8a77fe5c3c1fc4da496f257d2d8a6d206304efd5b1678c45ce761dd613798613aae4cca0551e982711156d978dfb65c1cd5c21ab80dd5f9892d
6
+ metadata.gz: 4170fd2d5eafa90b6c92bd2dfd9e483afb2b47b459449a1aa0c3ff4c93e74a3d82660e6b9e6094fa868ea40d651311b90c3ea3d072fdb92fe777ff4d6311731d
7
+ data.tar.gz: 3e44b17254c8ae1362ac4fd453ef47eaa4140ade6d5597c09ee11e21980b55c02af14650b2af614e52260725fc1482042276f9996778398e955e1359d27adda9
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Misoni
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/misoni.svg)](http://badge.fury.io/rb/misoni)
4
+
3
5
  Magical login to the Zokei Network.
4
6
 
5
7
  「ZOKEIネットワーク接続のための認証が必要です」を二度と見ないことを目的としたプロジェクトです。鯖の味噌煮。
@@ -8,23 +10,26 @@ Magical login to the Zokei Network.
8
10
  ## Installation
9
11
 
10
12
  ```
11
- $ git clone https://github.com/noir-neo/misoni
12
- $ cd misoni
13
- $ bundle install --path vendor/bundle
13
+ $ gem install misoni
14
14
  ```
15
15
 
16
- あとでちゃんと`gem install`でできるようにします。
17
-
18
16
 
19
17
  ## Configuration
20
18
 
21
19
  ```
22
- $ bundle exec bin/misoni config
20
+ $ misoni config
23
21
  ```
24
22
 
25
- をするとエディタが開くので
23
+ もしくは pit コマンドを直接
26
24
 
27
25
  ```
26
+ $ pit set "http://auth.zokei.ac.jp:16978"
27
+ ```
28
+
29
+ するとエディタが開くので
30
+
31
+ ```
32
+ ---
28
33
  id: a学籍番号
29
34
  password: パスワード(デフォルトだと生年月日のやつ)
30
35
  ```
@@ -32,13 +37,15 @@ password: パスワード(デフォルトだと生年月日のやつ)
32
37
  のように編集してください。
33
38
 
34
39
 
40
+
35
41
  ## Usage
36
42
 
37
43
  ```
38
- $ bundle exec bin/misoni auth
44
+ $ misoni auth
39
45
  ```
40
46
 
41
- とかするといい感じです。
47
+ すると設定したアカウントで認証します。
48
+
42
49
  `install`コマンドとかで、無線LANへの接続を検知してlaunchdで叩く設定まで勝手にやってくれるようにそのうちします。
43
50
 
44
51
 
@@ -51,3 +58,8 @@ http://www.amazon.co.jp/registry/wishlist/23CDAA2HM4C5B
51
58
  The MIT License (MIT)
52
59
 
53
60
  Copyright (c) 2015 neo
61
+
62
+ Portions are:
63
+ Copyright (c) 2012 MATSUOKA Kohei
64
+ MIT License
65
+ https://github.com/machu/wifi_login
data/lib/misoni/cli.rb CHANGED
@@ -5,11 +5,43 @@ require 'thor'
5
5
 
6
6
  module Misoni
7
7
  class CLI < Thor
8
+ include Thor::Actions
8
9
  package_name "Misoni"
9
10
 
11
+ # https://github.com/machu/wifi_login/blob/master/lib/wifi_login/cli.rb#L9-L39
12
+ LAUNCH_AGENT_DIR = "#{ENV['HOME']}/Library/LaunchAgents"
13
+ LAUNCH_AGENT_FILE = "#{LAUNCH_AGENT_DIR}/com.neoneobeam.misoni.plist"
14
+ LOG_DIR = "#{ENV['HOME']}/Library/Logs/com.neoneobeam.misoni"
15
+
16
+ def self.source_root
17
+ File.dirname(__FILE__)
18
+ end
19
+
20
+ desc "install", "Install trigger. (Only for Mac OS X)"
21
+ def install
22
+ empty_directory LOG_DIR
23
+ if Misoni.in_rbenv?
24
+ template "templates/com.neoneobeam.misoni.plist.rbenv.tt", "#{LAUNCH_AGENT_FILE}"
25
+ else
26
+ template "templates/com.neoneobeam.misoni.plist.tt", "#{LAUNCH_AGENT_FILE}"
27
+ end
28
+ run "sudo chmod 600 #{LAUNCH_AGENT_FILE}"
29
+ run "sudo chown root #{LAUNCH_AGENT_FILE}"
30
+ run "launchctl load #{LAUNCH_AGENT_FILE}"
31
+ say
32
+ say 'Completed install. Please run `misoni config` or `pit set "http://auth.zokei.ac.jp:16978"` to set your ID/Password.', Thor::Shell::Color::GREEN
33
+ end
34
+
35
+ desc "uninstall", "Uninstall trigger."
36
+ def uninstall
37
+ run "launchctl unload #{LAUNCH_AGENT_FILE}"
38
+ return unless File.exist?(LAUNCH_AGENT_FILE)
39
+ remove_file LAUNCH_AGENT_FILE
40
+ end
41
+
10
42
  desc "config", "setting config"
11
43
  def config
12
- Misoni.getConfig
44
+ Misoni.config
13
45
  end
14
46
 
15
47
  desc "auth", "authorize zokei network"
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
3
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4
+ <plist version="1.0">
5
+ <dict>
6
+ <key>Label</key>
7
+ <string>com.neoneobeam.misoni</string>
8
+ <key>ProgramArguments</key>
9
+ <array>
10
+ <string>/bin/bash</string>
11
+ <string>-c</string>
12
+ <string>export PATH="$HOME/.rbenv/bin:$PATH"; eval "$(rbenv init -)"; misoni auth</string>
13
+ </array>
14
+ <key>RunAtLoad</key>
15
+ <true/>
16
+ <key>StandardErrorPath</key>
17
+ <string><%= ENV['HOME'] %>/Library/Logs/com.neoneobeam.misoni/stderr</string>
18
+ <key>StandardOutPath</key>
19
+ <string><%= ENV['HOME'] %>/Library/Logs/com.neoneobeam.misoni/stdout</string>
20
+ <key>WatchPaths</key>
21
+ <array>
22
+ <string>/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist</string>
23
+ </array>
24
+ </dict>
25
+ </plist>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
3
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4
+ <plist version="1.0">
5
+ <dict>
6
+ <key>Label</key>
7
+ <string>com.neoneobeam.misoni</string>
8
+ <key>ProgramArguments</key>
9
+ <array>
10
+ <string>misoni auth</string>
11
+ </array>
12
+ <key>RunAtLoad</key>
13
+ <true/>
14
+ <key>StandardErrorPath</key>
15
+ <string><%= ENV['HOME'] %>/Library/Logs/com.neoneobeam.misoni/stderr</string>
16
+ <key>StandardOutPath</key>
17
+ <string><%= ENV['HOME'] %>/Library/Logs/com.neoneobeam.misoni/stdout</string>
18
+ <key>WatchPaths</key>
19
+ <array>
20
+ <string>/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist</string>
21
+ </array>
22
+ </dict>
23
+ </plist>
@@ -1,3 +1,3 @@
1
1
  module Misoni
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/misoni.rb CHANGED
@@ -8,11 +8,11 @@ require 'pit'
8
8
  module Misoni
9
9
  class Error < StandardError; end
10
10
 
11
- def self.getConfig
11
+ def self.config
12
12
  Pit.get("http://auth.zokei.ac.jp:16978", :require => { "id"=> "YOUR_UserID", "password"=> "YOUR_PASSWORD" })
13
13
  end
14
14
 
15
- def self.isSuccess(page)
15
+ def self.success?(page)
16
16
  body = Nokogiri::HTML(page.body)
17
17
  body.css('table tr:nth-child(2) td').each do |child|
18
18
  unless child.text.include?("成功")
@@ -29,15 +29,19 @@ module Misoni
29
29
  begin
30
30
  agent.get('http://auth.zokei.ac.jp:16978/') do |page|
31
31
  login_result = page.form_with(:action => '/cgi-bin/adeflogin.cgi') do |form|
32
- config = getConfig
33
- form.field_with(:name => 'name').value = config["id"]
34
- form.field_with(:name => 'pass').value = config["password"]
32
+ _config = config
33
+ form.field_with(:name => 'name').value = _config["id"]
34
+ form.field_with(:name => 'pass').value = _config["password"]
35
35
  end.submit
36
- isSuccess(login_result)
36
+ success?(login_result)
37
37
  end
38
38
  rescue SocketError => e
39
39
  puts e.message
40
40
  end
41
41
  end
42
42
 
43
+ def self.in_rbenv?
44
+ ENV.has_key?('RBENV_ROOT')
45
+ end
46
+
43
47
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: misoni
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - neo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-21 00:00:00.000000000 Z
11
+ date: 2015-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -97,6 +97,8 @@ files:
97
97
  - exe/misoni
98
98
  - lib/misoni.rb
99
99
  - lib/misoni/cli.rb
100
+ - lib/misoni/templates/com.neoneobeam.misoni.plist.rbenv.tt
101
+ - lib/misoni/templates/com.neoneobeam.misoni.plist.tt
100
102
  - lib/misoni/version.rb
101
103
  - misoni.gemspec
102
104
  homepage: https://github.com/noir-neo/misoni