sindrive

package
v1.30.0 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2026 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Package sindrive scrapes SinDrive and its sister sites running on the Thumbmaxx (asset1.thumbmaxx.com) clip-shop CMS. The same catalogue is served by three domains:

  • sindrive.com — SinDrive flagship branding
  • sinx.com — SINX umbrella shop, hosts the per-series "channels" (Backstage-Bangers, Bikini-Beach-Balls, etc.)
  • madsexparty.com — Mad Sex Party branding, identical catalogue

All three return byte-identical responses for `/videos/all` and share the same `/{Channel-Name}/movie/{id}/{slug}` detail-URL scheme. Scene detail pages are paywalled (every detail link redirects through `/login?return=…`) so all metadata has to come from the listing cards.

Supported entry URLs:

https://www.sindrive.com/                  → /videos/all
https://www.sindrive.com/videos/all        → main "Latest Deals" listing
https://www.sinx.com/Backstage-Bangers     → channel listing
https://www.sinx.com/channel/X/all         → legacy form, rewritten to /X
https://www.madsexparty.com/videos/all     → same catalogue, alt branding

Card markup (one item):

<figure class=" video_item " ...>
  <a href="/{Channel}/movie/{id}/{slug}" class="let__up-link">
    <img class="thumb-slide" src="https://1896493691.rsc.cdn77.org/.../510x290/...jpg" ...>
  </a>
  <div class="video_item--content with-badge">
    <a href="/{Channel}/movie/{id}/{slug}" class="link" title="Full Title">
      <h3 class="title--5">Display Title</h3>
    </a>
  </div>
  <div class="video_item--channel-link">
    <a href="/{Channel}" class="link">Channel Display Name</a>
  </div>
</figure>

Fields lifted from the card: ID (from /movie/{id}/), title, channel, thumb. Date and duration are not present in the listing markup; left zero/empty.

Pagination: `?page=N` query string. `<ul class="pagination">` on the first page contains a `class="last-page"` <li> pointing at the highest page, which we use to estimate the total scene count. Past-end pages return a listing with zero `<figure class=" video_item ">` matches (clean stop signal).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Scraper

type Scraper struct {
	// contains filtered or unexported fields
}

func New

func New() *Scraper

func (*Scraper) ID

func (s *Scraper) ID() string

func (*Scraper) ListScenes

func (s *Scraper) ListScenes(ctx context.Context, studioURL string, opts scraper.ListOpts) (<-chan scraper.SceneResult, error)

func (*Scraper) MatchesURL

func (s *Scraper) MatchesURL(u string) bool

func (*Scraper) Patterns

func (s *Scraper) Patterns() []string

Jump to

Keyboard shortcuts

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