mms2r 2.2.0 → 2.3.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.
- 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
|