Skip to content

Commit df6d99c

Browse files
committed
+ return http.ProxyFromEnvironment(req)
1 parent 9ade1d3 commit df6d99c

File tree

6 files changed

+117
-130
lines changed

6 files changed

+117
-130
lines changed

internal/molotov/molotov.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func main() {
1717
Protocols: &http.Protocols{}, // github.com/golang/go/issues/25793
1818
Proxy: func(req *http.Request) (*url.URL, error) {
1919
log.Println(req.Method, req.URL)
20-
return nil, nil
20+
return http.ProxyFromEnvironment(req)
2121
},
2222
}
2323
var set flag_set

internal/rakuten/rakuten.go

Lines changed: 71 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,77 @@ import (
1212
"path/filepath"
1313
)
1414

15+
func main() {
16+
log.SetFlags(log.Ltime)
17+
http.DefaultTransport = &http.Transport{
18+
Proxy: func(req *http.Request) (*url.URL, error) {
19+
log.Println(req.Method, req.URL)
20+
return http.ProxyFromEnvironment(req)
21+
},
22+
}
23+
var set flag_set
24+
err := set.New()
25+
if err != nil {
26+
panic(err)
27+
}
28+
if set.movie != "" {
29+
err = set.do_movie()
30+
} else if set.show != "" {
31+
err = set.do_show()
32+
} else if set.season != "" {
33+
err = set.do_season()
34+
} else if set.content != "" {
35+
if set.language != "" {
36+
err = set.do_content()
37+
}
38+
} else {
39+
flag.Usage()
40+
}
41+
if err != nil {
42+
panic(err)
43+
}
44+
}
45+
46+
func write_file(name string, data []byte) error {
47+
log.Println("WriteFile", name)
48+
return os.WriteFile(name, data, os.ModePerm)
49+
}
50+
51+
func (f *flag_set) New() error {
52+
var err error
53+
f.media, err = os.UserHomeDir()
54+
if err != nil {
55+
return err
56+
}
57+
f.media = filepath.ToSlash(f.media) + "/media"
58+
f.cdm.ClientId = f.media + "/client_id.bin"
59+
f.cdm.PrivateKey = f.media + "/private_key.pem"
60+
f.filters = net.Filters{
61+
{BitrateStart: 100_000, BitrateEnd: 300_000},
62+
{BitrateStart: 3_000_000, BitrateEnd: 5_000_000},
63+
}
64+
flag.StringVar(&f.cdm.ClientId, "C", f.cdm.ClientId, "client ID")
65+
flag.StringVar(&f.cdm.PrivateKey, "P", f.cdm.PrivateKey, "private key")
66+
flag.StringVar(&f.season, "S", "", "season ID")
67+
flag.StringVar(&f.language, "a", "", "audio language")
68+
flag.StringVar(&f.content, "c", "", "content ID")
69+
flag.Var(&f.filters, "f", net.FilterUsage)
70+
flag.StringVar(&f.movie, "m", "", "movie URL")
71+
flag.StringVar(&f.show, "s", "", "TV show URL")
72+
flag.Parse()
73+
return nil
74+
}
75+
76+
type flag_set struct {
77+
cdm net.Cdm
78+
content string
79+
filters net.Filters
80+
language string
81+
media string
82+
movie string
83+
season string
84+
show string
85+
}
1586
func (f *flag_set) do_content() error {
1687
data, err := os.ReadFile(f.media + "/rakuten/Address")
1788
if err != nil {
@@ -104,80 +175,3 @@ func (f *flag_set) do_movie() error {
104175
fmt.Println(content)
105176
return nil
106177
}
107-
func main() {
108-
log.SetFlags(log.Ltime)
109-
var set flag_set
110-
err := set.New()
111-
if err != nil {
112-
panic(err)
113-
}
114-
http.DefaultTransport = &http.Transport{
115-
Proxy: func(req *http.Request) (*url.URL, error) {
116-
log.Println(req.Method, req.URL)
117-
return http.ProxyFromEnvironment(req)
118-
},
119-
}
120-
if set.movie != "" {
121-
err = set.do_movie()
122-
} else if set.show != "" {
123-
err = set.do_show()
124-
} else if set.season != "" {
125-
err = set.do_season()
126-
} else if set.content != "" {
127-
if set.language != "" {
128-
err = set.do_content()
129-
}
130-
} else {
131-
flag.Usage()
132-
}
133-
if err != nil {
134-
panic(err)
135-
}
136-
}
137-
138-
func write_file(name string, data []byte) error {
139-
log.Println("WriteFile", name)
140-
return os.WriteFile(name, data, os.ModePerm)
141-
}
142-
143-
func (f *flag_set) New() error {
144-
var err error
145-
f.media, err = os.UserHomeDir()
146-
if err != nil {
147-
return err
148-
}
149-
f.media = filepath.ToSlash(f.media) + "/media"
150-
f.cdm.ClientId = f.media + "/client_id.bin"
151-
f.cdm.PrivateKey = f.media + "/private_key.pem"
152-
f.filters = net.Filters{
153-
{BitrateStart: 100_000, BitrateEnd: 300_000},
154-
{BitrateStart: 3_000_000, BitrateEnd: 5_000_000},
155-
}
156-
flag.StringVar(&f.cdm.ClientId, "C", f.cdm.ClientId, "client ID")
157-
flag.StringVar(&f.cdm.PrivateKey, "P", f.cdm.PrivateKey, "private key")
158-
flag.StringVar(&f.season, "S", "", "season ID")
159-
flag.StringVar(&f.language, "a", "", "audio language")
160-
flag.StringVar(&f.content, "c", "", "content ID")
161-
flag.Var(&f.filters, "f", net.FilterUsage)
162-
flag.StringVar(&f.movie, "m", "", "movie URL")
163-
flag.StringVar(&f.show, "s", "", "TV show URL")
164-
flag.Func("x", "proxy", func(data string) error {
165-
var err error
166-
f.proxy, err = url.Parse(data)
167-
return err
168-
})
169-
flag.Parse()
170-
return nil
171-
}
172-
173-
type flag_set struct {
174-
cdm net.Cdm
175-
content string
176-
filters net.Filters
177-
language string
178-
media string
179-
movie string
180-
season string
181-
show string
182-
proxy *url.URL
183-
}

molotov/molotov.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func (r *Refresh) View(web *Address) (*View, error) {
3333
return nil, err
3434
}
3535
if viewVar.Program.Actions.Play == nil {
36-
return nil, errors.New("play == nil")
36+
return nil, errors.New(".Program.Actions.Play == nil")
3737
}
3838
return &viewVar, nil
3939
}

molotov/readme.md

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,3 @@ https://vod-molotov.akamaized.net/output/v2/d8/a1/65/32e3c47902de4911dca77b0ad73
1818

1919
- https://vod-molotov.akamaized.net/output/v2/d8/a1/65/32e3c47902de4911dca77b0ad73e9ac34965a1d8/32e3c47902de4911dca77b0ad73e9ac34965a1d8.ism/fhdready.mpd
2020
- https://vod-molotov.akamaized.net/output/v2/d8/a1/65/32e3c47902de4911dca77b0ad73e9ac34965a1d8/32e3c47902de4911dca77b0ad73e9ac34965a1d8.ism/fullhd25.mpd
21-
22-
## subscribe
23-
24-
1. Regarder maintenant (watch now)
25-
2. e-mail
26-
3. password
27-
4. day
28-
5. month
29-
6. year
30-
7. sex
31-
8. VPN
32-
9. subscribe
33-
10. card number
34-
11. month
35-
12. year
36-
13. security code
37-
14. Essayer gratuitement (try it for free)
38-
39-
If you do not cancel before the monthly due date, your subscription will be
40-
renewed for successive one-month periods.
41-
42-
The transaction has been declined. Please use another card or contact your
43-
bank.
44-
45-
it says try it for free but it charged me

molotov/subscribe.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# subscribe
2+
3+
<https://molotov.tv/fr_fr/p/15082-531>
4+
5+
1. Regarder maintenant (watch now)
6+
2. e-mail
7+
3. password
8+
4. day
9+
5. month
10+
6. year
11+
7. sex
12+
8. FRANCE VPN
13+
9. subscribe
14+
10. card number
15+
11. month
16+
12. year
17+
13. security code
18+
14. Essayer gratuitement (try it for free)

rakuten/rakuten_test.go

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,32 @@ import (
1313
"testing"
1414
)
1515

16+
var web_tests = []struct {
17+
language string
18+
url string
19+
}{
20+
{
21+
language: "SPA",
22+
url: "//rakuten.tv/cz?content_type=movies&content_id=transvulcania-the-people-s-run",
23+
},
24+
{
25+
language: "ENG",
26+
url: "//rakuten.tv/fr?content_type=movies&content_id=infidele",
27+
},
28+
{
29+
language: "ENG",
30+
url: "//rakuten.tv/pl?content_type=movies&content_id=ad-astra",
31+
},
32+
{
33+
language: "ENG",
34+
url: "//rakuten.tv/uk?content_type=tv_shows&tv_show_id=clink",
35+
},
36+
{
37+
language: "ENG",
38+
url: "//rakuten.tv/se?content_type=movies&content_id=i-heart-huckabees",
39+
},
40+
}
41+
1642
func TestWidevine(t *testing.T) {
1743
test := web_tests[0]
1844
var web Address
@@ -94,29 +120,3 @@ func TestPlayReady(t *testing.T) {
94120
t.Fatal(err)
95121
}
96122
}
97-
98-
var web_tests = []struct {
99-
language string
100-
url string
101-
}{
102-
{
103-
language: "SPA",
104-
url: "//rakuten.tv/cz?content_type=movies&content_id=transvulcania-the-people-s-run",
105-
},
106-
{
107-
language: "ENG",
108-
url: "//rakuten.tv/uk?content_type=tv_shows&tv_show_id=clink",
109-
},
110-
{
111-
language: "ENG",
112-
url: "//rakuten.tv/fr?content_type=movies&content_id=infidele",
113-
},
114-
{
115-
language: "ENG",
116-
url: "//rakuten.tv/pl?content_type=movies&content_id=ad-astra",
117-
},
118-
{
119-
language: "ENG",
120-
url: "//rakuten.tv/se?content_type=movies&content_id=i-heart-huckabees",
121-
},
122-
}

0 commit comments

Comments
 (0)