├── .dockerignore ├── .env.example ├── .gitignore ├── .vscode └── settings.json ├── Dockerfile.develop ├── Dockerfile.migrations ├── Dockerfile.production ├── LICENSE ├── README.md ├── docker-compose.yml └── src ├── .gitignore ├── .ignore ├── Cargo.lock ├── Cargo.toml ├── api ├── Cargo.toml └── src │ ├── filters.rs │ ├── filters │ └── xtream.rs │ ├── handlers │ ├── m3u.rs │ ├── mod.rs │ ├── provider.rs │ ├── proxy.rs │ ├── root.rs │ └── xtream.rs │ ├── lib.rs │ ├── models │ ├── error.rs │ ├── mod.rs │ ├── provider.rs │ └── xtream.rs │ ├── routes │ ├── m3u.rs │ ├── mod.rs │ ├── provider.rs │ ├── proxy.rs │ ├── root.rs │ └── xtream.rs │ ├── services │ ├── mod.rs │ ├── provider.rs │ ├── proxy.rs │ └── xtream.rs │ └── utils │ ├── mod.rs │ ├── proxy.rs │ ├── response.rs │ ├── url.rs │ └── xml.rs ├── db ├── Cargo.lock ├── Cargo.toml ├── build.rs ├── migrations │ └── 1_init.sql ├── sqlx-data.json └── src │ ├── lib.rs │ ├── models │ ├── attribute.rs │ ├── extinf.rs │ ├── group.rs │ ├── hls_url.rs │ ├── m3u.rs │ ├── mod.rs │ ├── provider.rs │ ├── xmltv_url.rs │ ├── xtream_metadata.rs │ └── xtream_url.rs │ └── services │ ├── group.rs │ ├── mod.rs │ └── provider.rs ├── iptv ├── Cargo.toml └── src │ ├── lib.rs │ ├── m3u │ ├── builder.rs │ ├── fetcher.rs │ ├── mod.rs │ ├── parser.rs │ └── tools.rs │ └── models.rs ├── rest-client ├── Cargo.toml └── src │ └── lib.rs └── server ├── Cargo.toml └── src ├── app.rs ├── environment.rs ├── jobs.rs ├── logger.rs ├── main.rs └── tools.rs /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/.env.example -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .docker-sync/ 2 | .DS_Store 3 | target/ 4 | .unison* 5 | node_modules/ 6 | *.m3u 7 | .env -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Dockerfile.develop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/Dockerfile.develop -------------------------------------------------------------------------------- /Dockerfile.migrations: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/Dockerfile.migrations -------------------------------------------------------------------------------- /Dockerfile.production: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/Dockerfile.production -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/.gitignore -------------------------------------------------------------------------------- /src/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/.ignore -------------------------------------------------------------------------------- /src/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/Cargo.lock -------------------------------------------------------------------------------- /src/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/Cargo.toml -------------------------------------------------------------------------------- /src/api/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/Cargo.toml -------------------------------------------------------------------------------- /src/api/src/filters.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/filters.rs -------------------------------------------------------------------------------- /src/api/src/filters/xtream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/filters/xtream.rs -------------------------------------------------------------------------------- /src/api/src/handlers/m3u.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/handlers/m3u.rs -------------------------------------------------------------------------------- /src/api/src/handlers/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/handlers/mod.rs -------------------------------------------------------------------------------- /src/api/src/handlers/provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/handlers/provider.rs -------------------------------------------------------------------------------- /src/api/src/handlers/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/handlers/proxy.rs -------------------------------------------------------------------------------- /src/api/src/handlers/root.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/handlers/root.rs -------------------------------------------------------------------------------- /src/api/src/handlers/xtream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/handlers/xtream.rs -------------------------------------------------------------------------------- /src/api/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/lib.rs -------------------------------------------------------------------------------- /src/api/src/models/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/models/error.rs -------------------------------------------------------------------------------- /src/api/src/models/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/models/mod.rs -------------------------------------------------------------------------------- /src/api/src/models/provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/models/provider.rs -------------------------------------------------------------------------------- /src/api/src/models/xtream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/models/xtream.rs -------------------------------------------------------------------------------- /src/api/src/routes/m3u.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/routes/m3u.rs -------------------------------------------------------------------------------- /src/api/src/routes/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/routes/mod.rs -------------------------------------------------------------------------------- /src/api/src/routes/provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/routes/provider.rs -------------------------------------------------------------------------------- /src/api/src/routes/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/routes/proxy.rs -------------------------------------------------------------------------------- /src/api/src/routes/root.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/routes/root.rs -------------------------------------------------------------------------------- /src/api/src/routes/xtream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/routes/xtream.rs -------------------------------------------------------------------------------- /src/api/src/services/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/services/mod.rs -------------------------------------------------------------------------------- /src/api/src/services/provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/services/provider.rs -------------------------------------------------------------------------------- /src/api/src/services/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/services/proxy.rs -------------------------------------------------------------------------------- /src/api/src/services/xtream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/services/xtream.rs -------------------------------------------------------------------------------- /src/api/src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/utils/mod.rs -------------------------------------------------------------------------------- /src/api/src/utils/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/utils/proxy.rs -------------------------------------------------------------------------------- /src/api/src/utils/response.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/utils/response.rs -------------------------------------------------------------------------------- /src/api/src/utils/url.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/utils/url.rs -------------------------------------------------------------------------------- /src/api/src/utils/xml.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/api/src/utils/xml.rs -------------------------------------------------------------------------------- /src/db/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/Cargo.lock -------------------------------------------------------------------------------- /src/db/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/Cargo.toml -------------------------------------------------------------------------------- /src/db/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | println!("cargo:rerun-if-changed=migrations"); 3 | } 4 | -------------------------------------------------------------------------------- /src/db/migrations/1_init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/migrations/1_init.sql -------------------------------------------------------------------------------- /src/db/sqlx-data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/sqlx-data.json -------------------------------------------------------------------------------- /src/db/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/lib.rs -------------------------------------------------------------------------------- /src/db/src/models/attribute.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/attribute.rs -------------------------------------------------------------------------------- /src/db/src/models/extinf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/extinf.rs -------------------------------------------------------------------------------- /src/db/src/models/group.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/group.rs -------------------------------------------------------------------------------- /src/db/src/models/hls_url.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/hls_url.rs -------------------------------------------------------------------------------- /src/db/src/models/m3u.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/m3u.rs -------------------------------------------------------------------------------- /src/db/src/models/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/mod.rs -------------------------------------------------------------------------------- /src/db/src/models/provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/provider.rs -------------------------------------------------------------------------------- /src/db/src/models/xmltv_url.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/xmltv_url.rs -------------------------------------------------------------------------------- /src/db/src/models/xtream_metadata.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/xtream_metadata.rs -------------------------------------------------------------------------------- /src/db/src/models/xtream_url.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/models/xtream_url.rs -------------------------------------------------------------------------------- /src/db/src/services/group.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/services/group.rs -------------------------------------------------------------------------------- /src/db/src/services/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/services/mod.rs -------------------------------------------------------------------------------- /src/db/src/services/provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/db/src/services/provider.rs -------------------------------------------------------------------------------- /src/iptv/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/Cargo.toml -------------------------------------------------------------------------------- /src/iptv/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/src/lib.rs -------------------------------------------------------------------------------- /src/iptv/src/m3u/builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/src/m3u/builder.rs -------------------------------------------------------------------------------- /src/iptv/src/m3u/fetcher.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/src/m3u/fetcher.rs -------------------------------------------------------------------------------- /src/iptv/src/m3u/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/src/m3u/mod.rs -------------------------------------------------------------------------------- /src/iptv/src/m3u/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/src/m3u/parser.rs -------------------------------------------------------------------------------- /src/iptv/src/m3u/tools.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/src/m3u/tools.rs -------------------------------------------------------------------------------- /src/iptv/src/models.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/iptv/src/models.rs -------------------------------------------------------------------------------- /src/rest-client/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/rest-client/Cargo.toml -------------------------------------------------------------------------------- /src/rest-client/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/rest-client/src/lib.rs -------------------------------------------------------------------------------- /src/server/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/server/Cargo.toml -------------------------------------------------------------------------------- /src/server/src/app.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/server/src/app.rs -------------------------------------------------------------------------------- /src/server/src/environment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/server/src/environment.rs -------------------------------------------------------------------------------- /src/server/src/jobs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/server/src/jobs.rs -------------------------------------------------------------------------------- /src/server/src/logger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/server/src/logger.rs -------------------------------------------------------------------------------- /src/server/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/server/src/main.rs -------------------------------------------------------------------------------- /src/server/src/tools.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alex-ahl/iptv-handler/HEAD/src/server/src/tools.rs --------------------------------------------------------------------------------