canal

package
v1.10.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2026 License: OSL-3.0 Imports: 13 Imported by: 0

README

canal

  1. canalplus.cz/en
  2. subscribe now
  3. czech republic VPN
  4. canal+ komplet, subscribe
  5. e-mail
    • just use real email since no trial
  6. first name
  7. last name
  8. I agree to the general terms and conditions
  9. payment
  10. enable JavaScript
  11. card number
  12. expiry date
  13. security code
  14. name
  15. pay
  16. password
  • Your password must meet following criteria (min. 8 characters, capital letter, digit, special character
  1. confirm password
  2. next

web

from mitmproxy import http

data = '''
console.log('_0xb40f61', _0xb40f61);
console.log('_0xffbd34', _0xffbd34);
console.log('_0x44b887', _0x44b887);
console.log('_0x5bdf04', _0x5bdf04);
console.log('_0x5430bb', _0x5430bb);
console.log('_0x4ab337', _0x4ab337);
return'Client'''

def response(f: http.HTTPFlow) -> None:
   if f.request.path.startswith('/static/js/main.4c582264.js'):
      f.response.text = f.response.text.replace("return'Client", data)

com.canal.android.canal

create Android 7 device. install system certificate. need residential proxy

adb shell am start -a android.intent.action.VIEW `
-d https://www.canalplus.cz/stream/film/argylle-tajny-agent

then:

action.name = android.intent.action.VIEW
category.name = android.intent.category.BROWSABLE
category.name = android.intent.category.DEFAULT
data.scheme = http
data.scheme = https
data.host = www.mycanal.fr

action.name = android.intent.action.VIEW
category.name = android.intent.category.BROWSABLE
category.name = android.intent.category.DEFAULT
data.scheme = tvchannels
data.host = com.canal.android.canal

action.name = android.intent.action.VIEW
category.name = android.intent.category.BROWSABLE
category.name = android.intent.category.DEFAULT
data.scheme = http
data.scheme = https
data.host = www.canalplus.com

action.name = android.intent.action.VIEW
category.name = android.intent.category.BROWSABLE
category.name = android.intent.category.DEFAULT
data.scheme = https
data.host = mycanal.onelink.me
data.pathPrefix = /1424707377

action.name = android.intent.action.VIEW
category.name = android.intent.category.BROWSABLE
category.name = android.intent.category.DEFAULT
data.scheme = https
data.scheme = http
data.host = mycan.al

action.name = android.intent.action.VIEW
category.name = android.intent.category.BROWSABLE
category.name = android.intent.category.DEFAULT
data.host = com.canal.android.canal
data.pathPrefix = /content
data.pathPrefix = /startapp
data.scheme = mycanaltvlauncher

com.canalplus.canalplus

first:

https://apk.gold/download?file_id=3155967/canalplus-app

The APK failed to install.<br/> Error: INSTALL_FAILED_MISSING_SPLIT: Missing
split for com.canalplus.canalplus

https://apkpure.com/canal-app/com.canalplus.canalplus/download/11.3

create Android 7 device

  1. select your region, cesko
  2. submit
  3. english
  4. sign in
  5. email
  6. password
    • adb shell input text PASSWORD
  7. log in
com.canalplus.canalplus.xml
action.name = android.intent.action.VIEW
category.name = android.intent.category.DEFAULT
category.name = android.intent.category.BROWSABLE
data.scheme = @string/application_scheme
data.scheme = @string/additional_scheme

then:

resources\res\values\strings.xml
<string name="additional_scheme">m7cp</string>
<string name="application_scheme">https</string>

if you do this:

adb shell am start -a android.intent.action.VIEW `
-d https://www.canalplus.cz/stream/film/argylle-tajny-agent

it opens the app, but it stays stuck on the splash screen. same for this:

adb shell am start -a android.intent.action.VIEW `
-d m7cp://www.canalplus.cz/stream/film/argylle-tajny-agent

also no requests are made

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FetchTracking added in v1.10.7

func FetchTracking(link string) (string, error)

Types

type Dash added in v1.10.7

type Dash struct {
	Body []byte
	Url  *url.URL
}

type Episode added in v1.10.6

type Episode struct {
	Desc   string
	Id     string
	Params struct {
		SeriesEpisode int
	}
	Title string
}

func (*Episode) String added in v1.10.6

func (e *Episode) String() string

type Login added in v1.10.7

type Login struct {
	Label    string
	Message  string
	SsoToken string // this last one day
}

func (*Login) Error added in v1.10.7

func (l *Login) Error() string

type Player added in v1.10.6

type Player struct {
	Drm struct {
		LicenseUrl string
	}
	Message   string
	Subtitles []struct {
		Url string
	}
	Url string // MPD
}

func (*Player) Dash added in v1.10.7

func (p *Player) Dash() (*Dash, error)

func (*Player) Widevine added in v1.10.6

func (p *Player) Widevine(data []byte) ([]byte, error)

type Session

type Session struct {
	Message  string
	SsoToken string
	Token    string // this last one hour
}

func (*Session) Episodes added in v1.10.6

func (s *Session) Episodes(tracking string, season int) ([]Episode, error)

func (*Session) Fetch added in v1.10.7

func (s *Session) Fetch(ssoToken string) error

func (*Session) Player added in v1.10.6

func (s *Session) Player(tracking string) (*Player, error)

type Ticket

type Ticket struct {
	Message string
	Ticket  string
}

func (*Ticket) Fetch added in v1.10.6

func (t *Ticket) Fetch() error

func (*Ticket) Login added in v1.10.7

func (t *Ticket) Login(username, password string) (*Login, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL