mms2r 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/History.txt +21 -0
- data/Manifest.txt +3 -0
- data/README.txt +51 -40
- data/Rakefile +4 -4
- data/conf/mms2r_media.yml +18 -11
- data/conf/vzwpix.com.yml +2 -2
- data/init.rb +1 -0
- data/lib/mms2r.rb +10 -3
- data/lib/mms2r/media.rb +141 -87
- data/lib/mms2r/media/sprint.rb +2 -2
- data/lib/tmail_ext.rb +5 -0
- data/mms2r.gemspec +27 -13
- data/test/fixtures/iphone-image-01.mail +62 -0
- data/test/fixtures/vzwpix.com-image-01.mail +50 -0
- data/test/test_mms2r_media.rb +8 -4
- data/test/test_vzwpix_com.rb +31 -7
- metadata +63 -8
data/lib/mms2r/media/sprint.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2007
|
2
|
+
# Copyright (c) 2007-2010 by Mike Mondragon (mikemondragon@gmail.com)
|
3
3
|
#
|
4
|
-
# Please see the LICENSE file for licensing information
|
4
|
+
# Please see the LICENSE file for licensing information.
|
5
5
|
#++
|
6
6
|
|
7
7
|
require 'net/http'
|
data/lib/tmail_ext.rb
CHANGED
data/mms2r.gemspec
CHANGED
@@ -2,41 +2,55 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{mms2r}
|
5
|
-
s.version = "2.
|
5
|
+
s.version = "2.3.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Mike Mondragon"]
|
9
|
-
s.date = %q{
|
10
|
-
s.description = %q{== DESCRIPTION
|
9
|
+
s.date = %q{2009-08-31}
|
10
|
+
s.description = %q{== DESCRIPTION
|
11
|
+
|
12
|
+
MMS2R is a library that decodes the parts of an MMS message to disk while
|
13
|
+
stripping out advertising injected by the mobile carriers. MMS messages are
|
14
|
+
multipart email and the carriers often inject branding into these messages. Use
|
15
|
+
MMS2R if you want to get at the real user generated content from a MMS without
|
16
|
+
having to deal with the cruft from the carriers.
|
17
|
+
|
18
|
+
If MMS2R is not aware of a particular carrier no extra processing is done to the
|
19
|
+
MMS other than decoding and consolidating its media.
|
20
|
+
|
21
|
+
Contact the author to add additional carriers to be processed by the library.
|
22
|
+
Suggestions and patches appreciated and welcomed!
|
23
|
+
|
24
|
+
Corpus of carriers currently processed by MMS2R:}
|
11
25
|
s.email = %q{mikemondragon@gmail.com}
|
12
26
|
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt"]
|
13
|
-
s.files = [".gitignore", "History.txt", "Manifest.txt", "README.txt", "Rakefile", "conf/1nbox.net.yml", "conf/aliases.yml", "conf/bellsouth.net.yml", "conf/from.yml", "conf/mediamessaging.o2.co.uk.yml", "conf/messaging.nextel.com.yml", "conf/mms.3ireland.ie.yml", "conf/mms.ae.yml", "conf/mms.alltel.com.yml", "conf/mms.att.net.yml", "conf/mms.dobson.net.yml", "conf/mms.luxgsm.lu.yml", "conf/mms.mobileiam.ma.yml", "conf/mms.mtn.co.za.yml", "conf/mms.mycricket.com.yml", "conf/mms.myhelio.com.yml", "conf/mms.netcom.no.yml", "conf/mms.o2online.de.yml", "conf/mms.three.co.uk.yml", "conf/mms.vodacom4me.co.za.yml", "conf/mms2r_media.yml", "conf/mobile.indosat.net.id.yml", "conf/msg.telus.com.yml", "conf/orangemms.net.yml", "conf/pm.sprint.com.yml", "conf/pxt.vodafone.net.nz.yml", "conf/rci.rogers.com.yml", "conf/sms.sasktel.com.yml", "conf/tmomail.net.yml", "conf/txt.bell.ca.yml", "conf/unicel.com.yml", "conf/vmpix.com.yml", "conf/vzwpix.com.yml", "conf/waw.plspictures.com.yml", "dev_tools/anonymizer.rb", "dev_tools/debug_sprint_hpricot_parsing.rb", "dev_tools/github.rb", "lib/mms2r.rb", "lib/mms2r/media.rb", "lib/mms2r/media/sprint.rb", "lib/tmail_ext.rb", "mms2r.gemspec", "test/fixtures/1nbox-2images-01.mail", "test/fixtures/1nbox-2images-02.mail", "test/fixtures/1nbox-2images-03.mail", "test/fixtures/1nbox-2images-04.mail", "test/fixtures/3ireland-mms-01.mail", "test/fixtures/alltel-image-01.mail", "test/fixtures/alltel-mms-01.mail", "test/fixtures/alltel-mms-03.mail", "test/fixtures/apple-double-image-01.mail", "test/fixtures/att-blackberry-02.mail", "test/fixtures/att-blackberry.mail", "test/fixtures/att-image-01.mail", "test/fixtures/att-image-02.mail", "test/fixtures/att-iphone-01.mail", "test/fixtures/att-iphone-02.mail", "test/fixtures/att-iphone-03.mail", "test/fixtures/att-text-01.mail", "test/fixtures/bell-canada-image-01.mail", "test/fixtures/cingularme-text-01.mail", "test/fixtures/cingularme-text-02.mail", "test/fixtures/dobson-image-01.mail", "test/fixtures/dot.jpg", "test/fixtures/generic.mail", "test/fixtures/helio-image-01.mail", "test/fixtures/helio-message-01.mail", "test/fixtures/iconv-fr-text-01.mail", "test/fixtures/indosat-image-01.mail", "test/fixtures/indosat-image-02.mail", "test/fixtures/info2go-image-01.mail", "test/fixtures/luxgsm-image-01.mail", "test/fixtures/maroctelecom-france-mms-01.mail", "test/fixtures/mediamessaging_o2_co_uk-image-01.mail", "test/fixtures/mmode-image-01.mail", "test/fixtures/mms.ae-image-01.mail", "test/fixtures/mms.mycricket.com-pic-and-text.mail", "test/fixtures/mms.mycricket.com-pic.mail", "test/fixtures/mmsreply.t-mobile.co.uk-text-image-01.mail", "test/fixtures/mobile.mycingular.com-text-01.mail", "test/fixtures/mtn-southafrica-mms.mail", "test/fixtures/mycingular-image-01.mail", "test/fixtures/netcom-image-01.mail", "test/fixtures/nextel-image-01.mail", "test/fixtures/nextel-image-02.mail", "test/fixtures/nextel-image-03.mail", "test/fixtures/nextel-image-04.mail", "test/fixtures/o2-de-image-01.mail", "test/fixtures/orange-uk-image-01.mail", "test/fixtures/orangefrance-text-and-image.mail", "test/fixtures/orangepoland-text-01.mail", "test/fixtures/orangepoland-text-02.mail", "test/fixtures/pics.cingularme.com-image-01.mail", "test/fixtures/pxt-image-01.mail", "test/fixtures/rogers-canada-mms-01.mail", "test/fixtures/sasktel-image-01.mail", "test/fixtures/sprint-broken-image-01.mail", "test/fixtures/sprint-image-01.mail", "test/fixtures/sprint-pcs-text-01.mail", "test/fixtures/sprint-purged-image-01.mail", "test/fixtures/sprint-text-01.mail", "test/fixtures/sprint-two-images-01.mail", "test/fixtures/sprint-video-01.mail", "test/fixtures/sprint.mov", "test/fixtures/suncom-blackberry.mail", "test/fixtures/telus-image-01.mail", "test/fixtures/three-uk-image-01.mail", "test/fixtures/tmo.blackberry.net-image-01.mail", "test/fixtures/tmobile-blackberry-02.mail", "test/fixtures/tmobile-blackberry.mail", "test/fixtures/tmobile-image-01.mail", "test/fixtures/tmobile-image-02.mail", "test/fixtures/unicel-image-01.mail", "test/fixtures/verizon-blackberry.mail", "test/fixtures/verizon-image-01.mail", "test/fixtures/verizon-image-02.mail", "test/fixtures/verizon-image-03.mail", "test/fixtures/verizon-text-01.mail", "test/fixtures/verizon-video-01.mail", "test/fixtures/virgin-mobile-image-01.mail", "test/fixtures/virgin.ca-text-01.mail", "test/fixtures/vodacom4me-co-za-01.mail", "test/fixtures/vodacom4me-co-za-02.mail", "test/fixtures/vodacom4me-southafrica-mms-01.mail", "test/fixtures/vodacom4me-southafrica-mms-04.mail", "test/fixtures/vtext-text-01.mail", "test/fixtures/waw.plspictures.com-image-01.mail", "test/test_1nbox_net.rb", "test/test_bell_canada.rb", "test/test_bellsouth_net.rb", "test/test_github.rb", "test/test_helper.rb", "test/test_mediamessaging_o2_co_uk.rb", "test/test_messaging_nextel_com.rb", "test/test_messaging_sprintpcs_com.rb", "test/test_mms2r_media.rb", "test/test_mms_3ireland_ie.rb", "test/test_mms_ae.rb", "test/test_mms_alltel_com.rb", "test/test_mms_att_net.rb", "test/test_mms_dobson_net.rb", "test/test_mms_luxgsm_lu.rb", "test/test_mms_mobileiam_ma.rb", "test/test_mms_mtn_co_za.rb", "test/test_mms_mycricket_com.rb", "test/test_mms_myhelio_com.rb", "test/test_mms_netcom_no.rb", "test/test_mms_o2online_de.rb", "test/test_mms_three_co_uk.rb", "test/test_mms_vodacom4me_co_za.rb", "test/test_mobile_indosat_net_id.rb", "test/test_msg_telus_com.rb", "test/test_orangemms_net.rb", "test/test_pm_sprint_com.rb", "test/test_pxt_vodafone_net_nz.rb", "test/test_rci_rogers_com.rb", "test/test_sms_sasktel_com.rb", "test/test_tmomail_net.rb", "test/test_unicel_com.rb", "test/test_vmpix_com.rb", "test/test_vzwpix_com.rb", "test/test_waw_plspictures_com.rb", "vendor/plugins/mms2r/lib/autotest/discover.rb", "vendor/plugins/mms2r/lib/autotest/mms2r.rb"]
|
27
|
+
s.files = [".gitignore", "History.txt", "Manifest.txt", "README.txt", "Rakefile", "conf/1nbox.net.yml", "conf/aliases.yml", "conf/bellsouth.net.yml", "conf/from.yml", "conf/mediamessaging.o2.co.uk.yml", "conf/messaging.nextel.com.yml", "conf/mms.3ireland.ie.yml", "conf/mms.ae.yml", "conf/mms.alltel.com.yml", "conf/mms.att.net.yml", "conf/mms.dobson.net.yml", "conf/mms.luxgsm.lu.yml", "conf/mms.mobileiam.ma.yml", "conf/mms.mtn.co.za.yml", "conf/mms.mycricket.com.yml", "conf/mms.myhelio.com.yml", "conf/mms.netcom.no.yml", "conf/mms.o2online.de.yml", "conf/mms.three.co.uk.yml", "conf/mms.vodacom4me.co.za.yml", "conf/mms2r_media.yml", "conf/mobile.indosat.net.id.yml", "conf/msg.telus.com.yml", "conf/orangemms.net.yml", "conf/pm.sprint.com.yml", "conf/pxt.vodafone.net.nz.yml", "conf/rci.rogers.com.yml", "conf/sms.sasktel.com.yml", "conf/tmomail.net.yml", "conf/txt.bell.ca.yml", "conf/unicel.com.yml", "conf/vmpix.com.yml", "conf/vzwpix.com.yml", "conf/waw.plspictures.com.yml", "dev_tools/anonymizer.rb", "dev_tools/debug_sprint_hpricot_parsing.rb", "dev_tools/github.rb", "init.rb", "lib/mms2r.rb", "lib/mms2r/media.rb", "lib/mms2r/media/sprint.rb", "lib/tmail_ext.rb", "mms2r.gemspec", "test/fixtures/1nbox-2images-01.mail", "test/fixtures/1nbox-2images-02.mail", "test/fixtures/1nbox-2images-03.mail", "test/fixtures/1nbox-2images-04.mail", "test/fixtures/3ireland-mms-01.mail", "test/fixtures/alltel-image-01.mail", "test/fixtures/alltel-mms-01.mail", "test/fixtures/alltel-mms-03.mail", "test/fixtures/apple-double-image-01.mail", "test/fixtures/att-blackberry-02.mail", "test/fixtures/att-blackberry.mail", "test/fixtures/att-image-01.mail", "test/fixtures/att-image-02.mail", "test/fixtures/att-iphone-01.mail", "test/fixtures/att-iphone-02.mail", "test/fixtures/att-iphone-03.mail", "test/fixtures/att-text-01.mail", "test/fixtures/bell-canada-image-01.mail", "test/fixtures/cingularme-text-01.mail", "test/fixtures/cingularme-text-02.mail", "test/fixtures/dobson-image-01.mail", "test/fixtures/dot.jpg", "test/fixtures/generic.mail", "test/fixtures/helio-image-01.mail", "test/fixtures/helio-message-01.mail", "test/fixtures/iconv-fr-text-01.mail", "test/fixtures/indosat-image-01.mail", "test/fixtures/indosat-image-02.mail", "test/fixtures/info2go-image-01.mail", "test/fixtures/iphone-image-01.mail", "test/fixtures/luxgsm-image-01.mail", "test/fixtures/maroctelecom-france-mms-01.mail", "test/fixtures/mediamessaging_o2_co_uk-image-01.mail", "test/fixtures/mmode-image-01.mail", "test/fixtures/mms.ae-image-01.mail", "test/fixtures/mms.mycricket.com-pic-and-text.mail", "test/fixtures/mms.mycricket.com-pic.mail", "test/fixtures/mmsreply.t-mobile.co.uk-text-image-01.mail", "test/fixtures/mobile.mycingular.com-text-01.mail", "test/fixtures/mtn-southafrica-mms.mail", "test/fixtures/mycingular-image-01.mail", "test/fixtures/netcom-image-01.mail", "test/fixtures/nextel-image-01.mail", "test/fixtures/nextel-image-02.mail", "test/fixtures/nextel-image-03.mail", "test/fixtures/nextel-image-04.mail", "test/fixtures/o2-de-image-01.mail", "test/fixtures/orange-uk-image-01.mail", "test/fixtures/orangefrance-text-and-image.mail", "test/fixtures/orangepoland-text-01.mail", "test/fixtures/orangepoland-text-02.mail", "test/fixtures/pics.cingularme.com-image-01.mail", "test/fixtures/pxt-image-01.mail", "test/fixtures/rogers-canada-mms-01.mail", "test/fixtures/sasktel-image-01.mail", "test/fixtures/sprint-broken-image-01.mail", "test/fixtures/sprint-image-01.mail", "test/fixtures/sprint-pcs-text-01.mail", "test/fixtures/sprint-purged-image-01.mail", "test/fixtures/sprint-text-01.mail", "test/fixtures/sprint-two-images-01.mail", "test/fixtures/sprint-video-01.mail", "test/fixtures/sprint.mov", "test/fixtures/suncom-blackberry.mail", "test/fixtures/telus-image-01.mail", "test/fixtures/three-uk-image-01.mail", "test/fixtures/tmo.blackberry.net-image-01.mail", "test/fixtures/tmobile-blackberry-02.mail", "test/fixtures/tmobile-blackberry.mail", "test/fixtures/tmobile-image-01.mail", "test/fixtures/tmobile-image-02.mail", "test/fixtures/unicel-image-01.mail", "test/fixtures/verizon-blackberry.mail", "test/fixtures/verizon-image-01.mail", "test/fixtures/verizon-image-02.mail", "test/fixtures/verizon-image-03.mail", "test/fixtures/verizon-text-01.mail", "test/fixtures/verizon-video-01.mail", "test/fixtures/virgin-mobile-image-01.mail", "test/fixtures/virgin.ca-text-01.mail", "test/fixtures/vodacom4me-co-za-01.mail", "test/fixtures/vodacom4me-co-za-02.mail", "test/fixtures/vodacom4me-southafrica-mms-01.mail", "test/fixtures/vodacom4me-southafrica-mms-04.mail", "test/fixtures/vtext-text-01.mail", "test/fixtures/vzwpix.com-image-01.mail", "test/fixtures/waw.plspictures.com-image-01.mail", "test/test_1nbox_net.rb", "test/test_bell_canada.rb", "test/test_bellsouth_net.rb", "test/test_github.rb", "test/test_helper.rb", "test/test_mediamessaging_o2_co_uk.rb", "test/test_messaging_nextel_com.rb", "test/test_messaging_sprintpcs_com.rb", "test/test_mms2r_media.rb", "test/test_mms_3ireland_ie.rb", "test/test_mms_ae.rb", "test/test_mms_alltel_com.rb", "test/test_mms_att_net.rb", "test/test_mms_dobson_net.rb", "test/test_mms_luxgsm_lu.rb", "test/test_mms_mobileiam_ma.rb", "test/test_mms_mtn_co_za.rb", "test/test_mms_mycricket_com.rb", "test/test_mms_myhelio_com.rb", "test/test_mms_netcom_no.rb", "test/test_mms_o2online_de.rb", "test/test_mms_three_co_uk.rb", "test/test_mms_vodacom4me_co_za.rb", "test/test_mobile_indosat_net_id.rb", "test/test_msg_telus_com.rb", "test/test_orangemms_net.rb", "test/test_pm_sprint_com.rb", "test/test_pxt_vodafone_net_nz.rb", "test/test_rci_rogers_com.rb", "test/test_sms_sasktel_com.rb", "test/test_tmomail_net.rb", "test/test_unicel_com.rb", "test/test_vmpix_com.rb", "test/test_vzwpix_com.rb", "test/test_waw_plspictures_com.rb", "vendor/plugins/mms2r/lib/autotest/discover.rb", "vendor/plugins/mms2r/lib/autotest/mms2r.rb"]
|
14
28
|
s.has_rdoc = true
|
15
|
-
s.homepage = %q{
|
29
|
+
s.homepage = %q{http://mms2r.rubyforge.org/
|
16
30
|
}
|
17
31
|
s.rdoc_options = ["--main", "README.txt"]
|
18
32
|
s.require_paths = ["lib"]
|
19
33
|
s.rubyforge_project = %q{mms2r}
|
20
|
-
s.rubygems_version = %q{1.3.
|
34
|
+
s.rubygems_version = %q{1.3.2}
|
21
35
|
s.summary = %q{Extract user media from MMS (and not carrier cruft)}
|
22
36
|
s.test_files = ["test/test_mms_o2online_de.rb", "test/test_helper.rb", "test/test_pm_sprint_com.rb", "test/test_sms_sasktel_com.rb", "test/test_mms_mobileiam_ma.rb", "test/test_msg_telus_com.rb", "test/test_messaging_sprintpcs_com.rb", "test/test_mms_myhelio_com.rb", "test/test_mms_3ireland_ie.rb", "test/test_mms_ae.rb", "test/test_mms_att_net.rb", "test/test_mediamessaging_o2_co_uk.rb", "test/test_bell_canada.rb", "test/test_mms_mtn_co_za.rb", "test/test_vmpix_com.rb", "test/test_github.rb", "test/test_vzwpix_com.rb", "test/test_bellsouth_net.rb", "test/test_unicel_com.rb", "test/test_waw_plspictures_com.rb", "test/test_mms_luxgsm_lu.rb", "test/test_mms_netcom_no.rb", "test/test_mms_mycricket_com.rb", "test/test_mms2r_media.rb", "test/test_rci_rogers_com.rb", "test/test_messaging_nextel_com.rb", "test/test_mms_vodacom4me_co_za.rb", "test/test_tmomail_net.rb", "test/test_1nbox_net.rb", "test/test_pxt_vodafone_net_nz.rb", "test/test_mobile_indosat_net_id.rb", "test/test_mms_three_co_uk.rb", "test/test_mms_alltel_com.rb", "test/test_mms_dobson_net.rb", "test/test_orangemms_net.rb"]
|
23
37
|
|
24
38
|
if s.respond_to? :specification_version then
|
25
39
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
26
|
-
s.specification_version =
|
40
|
+
s.specification_version = 3
|
27
41
|
|
28
42
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
29
|
-
s.add_runtime_dependency(%q<hpricot>, [">= 0
|
30
|
-
s.add_runtime_dependency(%q<tmail>, [">=
|
43
|
+
s.add_runtime_dependency(%q<hpricot>, [">= 0"])
|
44
|
+
s.add_runtime_dependency(%q<tmail>, [">= 0"])
|
31
45
|
s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
|
32
46
|
else
|
33
|
-
s.add_dependency(%q<hpricot>, [">= 0
|
34
|
-
s.add_dependency(%q<tmail>, [">=
|
47
|
+
s.add_dependency(%q<hpricot>, [">= 0"])
|
48
|
+
s.add_dependency(%q<tmail>, [">= 0"])
|
35
49
|
s.add_dependency(%q<hoe>, [">= 1.8.2"])
|
36
50
|
end
|
37
51
|
else
|
38
|
-
s.add_dependency(%q<hpricot>, [">= 0
|
39
|
-
s.add_dependency(%q<tmail>, [">=
|
52
|
+
s.add_dependency(%q<hpricot>, [">= 0"])
|
53
|
+
s.add_dependency(%q<tmail>, [">= 0"])
|
40
54
|
s.add_dependency(%q<hoe>, [">= 1.8.2"])
|
41
55
|
end
|
42
56
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
Return-Path: <example@gmail.com>
|
2
|
+
Delivered-To: unknown
|
3
|
+
Received: from imap.gmail.com (216.239.59.109) by swellbo.ws with IMAP4-SSL;
|
4
|
+
17 Aug 2009 02:35:12 -0000
|
5
|
+
Delivered-To: tommy.tutone@example.com
|
6
|
+
Received: by 10.220.92.148 with SMTP id r20cs434279vcm;
|
7
|
+
Sun, 16 Aug 2009 19:33:36 -0700 (PDT)
|
8
|
+
Received: by 10.114.169.7 with SMTP id r7mr4333220wae.8.1250476414501;
|
9
|
+
Sun, 16 Aug 2009 19:33:34 -0700 (PDT)
|
10
|
+
Received: from outbound-mail-02.bluehost.com (outbound-mail-02.bluehost.com [69.89.21.12])
|
11
|
+
by mx.google.com with SMTP id 40si9804605pzk.60.2009.08.16.19.33.32;
|
12
|
+
Sun, 16 Aug 2009 19:33:33 -0700 (PDT)
|
13
|
+
Received-SPF: pass (google.com: domain of example@gmail.com designates 69.89.21.12 as permitted sender) client-ip=69.89.21.12;
|
14
|
+
DomainKey-Status: good
|
15
|
+
Authentication-Results: mx.google.com; spf=pass (google.com: domain of example@gmail.com designates 69.89.21.12 as permitted sender) smtp.mail=example@gmail.com; domainkeys=pass header.From=example@gmail.com
|
16
|
+
Received: (qmail 19972 invoked by uid 0); 17 Aug 2009 02:33:32 -0000
|
17
|
+
Received: from unknown (HELO box322.bluehost.com) (69.89.31.122)
|
18
|
+
by outboundproxy1.bluehost.com with SMTP; 17 Aug 2009 02:33:32 -0000
|
19
|
+
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=concussion.org;
|
20
|
+
h=Received:Message-Id:From:To:Content-Type:Content-Transfer-Encoding:Mime-Version:Date:X-Mailer:X-Identified-User;
|
21
|
+
b=eCT/c5PPMJPXffGvy67LaFbKfi4EZiLRC2KYm41iENyh8OngKuO2cbteIX5H5br4w4jx517mT/Bdxy7rcdk+7m5SXItLOUBYIY5CuWe4a7NW/R9f0lHbr2qMYklMhfec;
|
22
|
+
Received: from c-24-5-192-93.hsd1.ca.comcast.net ([24.5.192.93] helo=[10.0.1.5])
|
23
|
+
by box322.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128)
|
24
|
+
(Exim 4.69)
|
25
|
+
(envelope-from <example@gmail.com>)
|
26
|
+
id 1Mcs2K-0001hH-6z
|
27
|
+
for tommy.tutone@example.com; Sun, 16 Aug 2009 20:33:32 -0600
|
28
|
+
Message-Id: <0B3F4EF7-BDCC-458C-852C-1D99BF2829B4@concussion.org>
|
29
|
+
From: <example@gmail.com>
|
30
|
+
To: tommy.tutone@example.com
|
31
|
+
Content-Type: multipart/mixed; boundary=Apple-Mail-1--561220374
|
32
|
+
Content-Transfer-Encoding: 7bit
|
33
|
+
Mime-Version: 1.0 (iPhone Mail 7A400)
|
34
|
+
Date: Sun, 16 Aug 2009 19:33:22 -0700
|
35
|
+
X-Mailer: iPhone Mail (7A400)
|
36
|
+
X-Identified-User: {1154:box322.bluehost.com:concussi:concussion.org} {sentby:smtp auth 24.5.192.93 authed with example@gmail.com}
|
37
|
+
|
38
|
+
|
39
|
+
--Apple-Mail-1--561220374
|
40
|
+
Content-Type: text/plain;
|
41
|
+
charset=us-ascii;
|
42
|
+
format=flowed
|
43
|
+
Content-Transfer-Encoding: 7bit
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
--Apple-Mail-1--561220374
|
49
|
+
Content-Disposition: inline;
|
50
|
+
filename=photo.jpg
|
51
|
+
Content-Type: image/jpeg;
|
52
|
+
name=photo.jpg
|
53
|
+
Content-Transfer-Encoding: base64
|
54
|
+
|
55
|
+
/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRl
|
56
|
+
ZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER
|
57
|
+
ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4e
|
58
|
+
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQAB
|
59
|
+
AwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAH/8QAFBABAAAAAAAAAAAAAAAAAAAA
|
60
|
+
AP/EABUBAQEAAAAAAAAAAAAAAAAAAAcI/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQAC
|
61
|
+
EQMRAD8AlgA6WW//2Q==
|
62
|
+
--Apple-Mail-1--561220374--
|
@@ -0,0 +1,50 @@
|
|
1
|
+
Delivered-To: tommy.tutone@example.com
|
2
|
+
Received: by 10.216.17.137 with SMTP id j9cs56753wej;
|
3
|
+
Thu, 27 Aug 2009 21:38:29 -0700 (PDT)
|
4
|
+
Received: by 10.220.107.99 with SMTP id a35mr202579vcp.45.1251434307135;
|
5
|
+
Thu, 27 Aug 2009 21:38:27 -0700 (PDT)
|
6
|
+
Return-Path: <2068675309@vzwpix.com>
|
7
|
+
Received: from njbrspamp5.vtext.com (njbrspamp5.vtext.com [69.78.129.150])
|
8
|
+
by mx.google.com with ESMTP id 34si1359074vws.96.2009.08.27.21.38.23;
|
9
|
+
Thu, 27 Aug 2009 21:38:27 -0700 (PDT)
|
10
|
+
Received-SPF: neutral (google.com: 69.78.129.150 is neither permitted nor denied by domain of 2068675309@vzwpix.com) client-ip=69.78.129.150;
|
11
|
+
Authentication-Results: mx.google.com; spf=neutral (google.com: 69.78.129.150 is neither permitted nor denied by domain of 2068675309@vzwpix.com) smtp.mail=2068675309@vzwpix.com
|
12
|
+
Received: from 24.sub-69-78-130.myvzw.com (HELO m11.vzwpix.com) ([69.78.130.24])
|
13
|
+
by njbrspamp5.vtext.com with SMTP; 28 Aug 2009 04:38:23 +0000
|
14
|
+
X-Priority:3
|
15
|
+
Importance:Normal
|
16
|
+
From:2068675309@vzwpix.com
|
17
|
+
To:tommy.tutone@example.com
|
18
|
+
Subject:
|
19
|
+
Message-ID: <212118194303829751@-212118194303829752>
|
20
|
+
Date: Thu, 28 Aug 2009 04:38:23 +0000
|
21
|
+
MIME-Version:1.0
|
22
|
+
Content-Type: multipart/mixed;
|
23
|
+
type="application/smil";
|
24
|
+
boundary="__CONTENT_64564_PART_BOUNDARY__33243242__"
|
25
|
+
|
26
|
+
--__CONTENT_64564_PART_BOUNDARY__33243242__
|
27
|
+
Content-Type: text/plain
|
28
|
+
|
29
|
+
This message was sent using the Picture and Video Messaging service from Verizon Wireless!
|
30
|
+
|
31
|
+
To learn how you can snap pictures and capture videos with your wireless phone visit www.verizonwireless.com/picture.
|
32
|
+
|
33
|
+
Note: To play video messages sent to email, QuickTime� 6.5 or higher is required.
|
34
|
+
|
35
|
+
--__CONTENT_64564_PART_BOUNDARY__33243242__
|
36
|
+
Content-Type: image/jpeg;
|
37
|
+
name="0827092137.jpg"
|
38
|
+
Content-ID: <0827092137.jpg>
|
39
|
+
Content-Location: 0827092137.jpg
|
40
|
+
Content-Transfer-Encoding: base64
|
41
|
+
|
42
|
+
/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRl
|
43
|
+
ZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER
|
44
|
+
ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4e
|
45
|
+
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQAB
|
46
|
+
AwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAH/8QAFBABAAAAAAAAAAAAAAAAAAAA
|
47
|
+
AP/EABUBAQEAAAAAAAAAAAAAAAAAAAcI/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQAC
|
48
|
+
EQMRAD8AlgA6WW//2Q==
|
49
|
+
--__CONTENT_64564_PART_BOUNDARY__33243242__--
|
50
|
+
|
data/test/test_mms2r_media.rb
CHANGED
@@ -728,10 +728,14 @@ class TestMms2rMedia < Test::Unit::TestCase
|
|
728
728
|
end
|
729
729
|
|
730
730
|
def test_iphone_device_type
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
731
|
+
iphones = ['att-iphone-01.mail',
|
732
|
+
'iphone-image-01.mail']
|
733
|
+
iphones.each do |iphone|
|
734
|
+
mail = TMail::Mail.load(mail_fixture(iphone))
|
735
|
+
mms = MMS2R::Media.new(mail)
|
736
|
+
assert_equal :iphone, mms.device_type?, "fixture #{iphone} was not a iphone"
|
737
|
+
assert_equal true, mms.is_mobile?
|
738
|
+
end
|
735
739
|
end
|
736
740
|
|
737
741
|
def test_blackberry_device_type
|
data/test/test_vzwpix_com.rb
CHANGED
@@ -10,7 +10,15 @@ class TestVzwpixCom < Test::Unit::TestCase
|
|
10
10
|
include MMS2R::TestHelper
|
11
11
|
|
12
12
|
def setup
|
13
|
-
@
|
13
|
+
@ad_new = %q{This message was sent using the Picture and Video Messaging service from Verizon Wireless!
|
14
|
+
|
15
|
+
To learn how you can snap pictures and capture videos with your wireless phone visit www.verizonwireless.com/picture.
|
16
|
+
|
17
|
+
Note: To play video messages sent to email, QuickTime® 6.5 or higher is required.}
|
18
|
+
|
19
|
+
@ad_old = %q{This message was sent using PIX-FLIX Messaging service from Verizon Wireless!
|
20
|
+
To learn how you can snap pictures with your wireless phone visit
|
21
|
+
www.verizonwireless.com/getitnow/getpix.}
|
14
22
|
@greet = "This message was sent using PIX-FLIX Messaging service from Verizon Wireless!"
|
15
23
|
end
|
16
24
|
|
@@ -90,15 +98,31 @@ class TestVzwpixCom < Test::Unit::TestCase
|
|
90
98
|
assert_match(/04-09-07_1114.jpg$/, mms.media['image/jpeg'][0])
|
91
99
|
|
92
100
|
assert_file_size mms.media['image/jpeg'][0], 337
|
93
|
-
|
101
|
+
|
94
102
|
file = mms.media['text/plain'][0]
|
95
103
|
assert_not_nil file
|
96
104
|
assert_equal true, File::exist?(file)
|
97
105
|
text = IO.readlines("#{file}").join
|
98
|
-
assert_no_match(/Regexp.escape(@
|
106
|
+
assert_no_match(/Regexp.escape(@ad_old)/, text)
|
99
107
|
assert_no_match(/Regexp.escape@greet/, text)
|
100
108
|
assert_equal "? Weird", text
|
101
|
-
|
109
|
+
|
110
|
+
mms.purge
|
111
|
+
end
|
112
|
+
|
113
|
+
def test_new_vzpix_com_image_with_body_text
|
114
|
+
# vzwpix.com service
|
115
|
+
mail = TMail::Mail.parse(load_mail('vzwpix.com-image-01.mail').join)
|
116
|
+
mms = MMS2R::Media.new(mail)
|
117
|
+
|
118
|
+
assert_equal 1, mms.media.size
|
119
|
+
assert_nil mms.media['text/plain']
|
120
|
+
assert_nil mms.media['text/html']
|
121
|
+
assert_not_nil mms.media['image/jpeg'][0]
|
122
|
+
assert_match(/0827092137.jpg$/, mms.media['image/jpeg'][0])
|
123
|
+
|
124
|
+
assert_file_size mms.media['image/jpeg'][0], 337
|
125
|
+
|
102
126
|
mms.purge
|
103
127
|
end
|
104
128
|
|
@@ -115,14 +139,14 @@ class TestVzwpixCom < Test::Unit::TestCase
|
|
115
139
|
assert_match(/hello world/, text)
|
116
140
|
mms.purge
|
117
141
|
end
|
118
|
-
|
142
|
+
|
119
143
|
def test_image_from_blackberry
|
120
144
|
mail = TMail::Mail.parse(load_mail('verizon-blackberry.mail').join)
|
121
145
|
mms = MMS2R::Media.new(mail)
|
122
|
-
|
146
|
+
|
123
147
|
assert_not_nil mms.media['text/plain']
|
124
148
|
assert_equal "Wonderful picture!", IO.readlines(mms.media['text/plain'].first).join.strip
|
125
|
-
|
149
|
+
|
126
150
|
assert_not_nil mms.media['image/jpeg'].first
|
127
151
|
assert_match(/Windows-1252\?B\?SU1HMDAwMTYuanBn/, mms.media['image/jpeg'].first)
|
128
152
|
mms.purge
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mms2r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Mondragon
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-08-31 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0
|
23
|
+
version: "0"
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: tmail
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: "0"
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: hoe
|
@@ -42,7 +42,57 @@ dependencies:
|
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 1.8.2
|
44
44
|
version:
|
45
|
-
description:
|
45
|
+
description: |-
|
46
|
+
== DESCRIPTION
|
47
|
+
|
48
|
+
MMS2R is a library that decodes the parts of an MMS message to disk while
|
49
|
+
stripping out advertising injected by the mobile carriers. MMS messages are
|
50
|
+
multipart email and the carriers often inject branding into these messages. Use
|
51
|
+
MMS2R if you want to get at the real user generated content from a MMS without
|
52
|
+
having to deal with the cruft from the carriers.
|
53
|
+
|
54
|
+
If MMS2R is not aware of a particular carrier no extra processing is done to the
|
55
|
+
MMS other than decoding and consolidating its media.
|
56
|
+
|
57
|
+
Contact the author to add additional carriers to be processed by the library.
|
58
|
+
Suggestions and patches appreciated and welcomed!
|
59
|
+
|
60
|
+
Corpus of carriers currently processed by MMS2R:
|
61
|
+
|
62
|
+
* 1nbox/Idea: 1nbox.net
|
63
|
+
* 3 Ireland: mms.3ireland.ie
|
64
|
+
* Alltel: mms.alltel.com
|
65
|
+
* AT&T/Cingular/Legacy: mms.att.net, txt.att.net, mmode.com, mms.mycingular.com,
|
66
|
+
cingularme.com, mobile.mycingular.com pics.cingularme.com
|
67
|
+
* Bell Canada: txt.bell.ca
|
68
|
+
* Bell South / Suncom: bellsouth.net
|
69
|
+
* Cricket Wireless: mms.mycricket.com
|
70
|
+
* Dobson/Cellular One: mms.dobson.net
|
71
|
+
* Helio: mms.myhelio.com
|
72
|
+
* Hutchison 3G UK Ltd: mms.three.co.uk
|
73
|
+
* INDOSAT M2: mobile.indosat.net.id
|
74
|
+
* LUXGSM S.A.: mms.luxgsm.lu
|
75
|
+
* Maroc Telecom / mms.mobileiam.ma
|
76
|
+
* MTM South Africa: mms.mtn.co.za
|
77
|
+
* NetCom (Norway): mms.netcom.no
|
78
|
+
* Nextel: messaging.nextel.com
|
79
|
+
* O2 Germany: mms.o2online.de
|
80
|
+
* O2 UK: mediamessaging.o2.co.uk
|
81
|
+
* Orange & Regional Oranges: orangemms.net, mmsemail.orange.pl, orange.fr
|
82
|
+
* PLSPICTURES.COM mms hosting: waw.plspictures.com
|
83
|
+
* PXT New Zealand: pxt.vodafone.net.nz
|
84
|
+
* Rogers of Canada: rci.rogers.com
|
85
|
+
* SaskTel: sms.sasktel.com
|
86
|
+
* Sprint: pm.sprint.com, messaging.sprintpcs.com, sprintpcs.com
|
87
|
+
* T-Mobile: tmomail.net, mmsreply.t-mobile.co.uk, tmo.blackberry.net
|
88
|
+
* TELUS Corporation (Canada): mms.telusmobility.com, msg.telus.com
|
89
|
+
* UAE MMS: mms.ae
|
90
|
+
* Unicel: unicel.com, info2go.com
|
91
|
+
(note: mobile number is tucked away in a text/plain part for unicel.com)
|
92
|
+
* Verizon: vzwpix.com, vtext.com
|
93
|
+
* Virgin Mobile: vmpix.com
|
94
|
+
* Virgin Mobile of Canada: vmobile.ca
|
95
|
+
* Vodacom: mms.vodacom4me.co.za
|
46
96
|
email: mikemondragon@gmail.com
|
47
97
|
executables: []
|
48
98
|
|
@@ -95,6 +145,7 @@ files:
|
|
95
145
|
- dev_tools/anonymizer.rb
|
96
146
|
- dev_tools/debug_sprint_hpricot_parsing.rb
|
97
147
|
- dev_tools/github.rb
|
148
|
+
- init.rb
|
98
149
|
- lib/mms2r.rb
|
99
150
|
- lib/mms2r/media.rb
|
100
151
|
- lib/mms2r/media/sprint.rb
|
@@ -129,6 +180,7 @@ files:
|
|
129
180
|
- test/fixtures/indosat-image-01.mail
|
130
181
|
- test/fixtures/indosat-image-02.mail
|
131
182
|
- test/fixtures/info2go-image-01.mail
|
183
|
+
- test/fixtures/iphone-image-01.mail
|
132
184
|
- test/fixtures/luxgsm-image-01.mail
|
133
185
|
- test/fixtures/maroctelecom-france-mms-01.mail
|
134
186
|
- test/fixtures/mediamessaging_o2_co_uk-image-01.mail
|
@@ -184,6 +236,7 @@ files:
|
|
184
236
|
- test/fixtures/vodacom4me-southafrica-mms-01.mail
|
185
237
|
- test/fixtures/vodacom4me-southafrica-mms-04.mail
|
186
238
|
- test/fixtures/vtext-text-01.mail
|
239
|
+
- test/fixtures/vzwpix.com-image-01.mail
|
187
240
|
- test/fixtures/waw.plspictures.com-image-01.mail
|
188
241
|
- test/test_1nbox_net.rb
|
189
242
|
- test/test_bell_canada.rb
|
@@ -224,7 +277,9 @@ files:
|
|
224
277
|
- vendor/plugins/mms2r/lib/autotest/mms2r.rb
|
225
278
|
has_rdoc: true
|
226
279
|
homepage: |
|
227
|
-
|
280
|
+
http://mms2r.rubyforge.org/
|
281
|
+
|
282
|
+
licenses: []
|
228
283
|
|
229
284
|
post_install_message:
|
230
285
|
rdoc_options:
|
@@ -247,9 +302,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
302
|
requirements: []
|
248
303
|
|
249
304
|
rubyforge_project: mms2r
|
250
|
-
rubygems_version: 1.3.
|
305
|
+
rubygems_version: 1.3.2
|
251
306
|
signing_key:
|
252
|
-
specification_version:
|
307
|
+
specification_version: 3
|
253
308
|
summary: Extract user media from MMS (and not carrier cruft)
|
254
309
|
test_files:
|
255
310
|
- test/test_mms_o2online_de.rb
|