{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":847097549,"defaultBranch":"main","name":"m3uproxy","ownerLogin":"a13labs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-08-24T20:56:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/67829582?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726499613.0","currentOid":""},"activityList":{"items":[{"before":"953e33c803eee6430340288703659ef5544f850e","after":"013b65bad3b1f4c060c0cbdd8bf7fae4a2d97c14","ref":"refs/heads/main","pushedAt":"2024-09-21T19:57:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor README.md and add player screenshot","shortMessageHtmlLink":"Refactor README.md and add player screenshot"}},{"before":"2391f9861858c1f45af85db43fc8785220e455e3","after":"953e33c803eee6430340288703659ef5544f850e","ref":"refs/heads/main","pushedAt":"2024-09-21T19:52:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor loop iteration in serveAndRemap function","shortMessageHtmlLink":"Refactor loop iteration in serveAndRemap function"}},{"before":"e9197e76b752afc1391e36cee7bbedbcbbcaa420","after":"2391f9861858c1f45af85db43fc8785220e455e3","ref":"refs/heads/main","pushedAt":"2024-09-21T19:49:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Minor improvements\n- Improved scrolling\n- Support for firefox wheel\n- Fixed docker build\n- Fixed GH build\n- Fixed player serve","shortMessageHtmlLink":"Minor improvements"}},{"before":"416b85a26073673504137ddba177f026ddbb2654","after":"e9197e76b752afc1391e36cee7bbedbcbbcaa420","ref":"refs/heads/main","pushedAt":"2024-09-21T15:53:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Player rewritten","shortMessageHtmlLink":"Player rewritten"}},{"before":"805ab7cd1a975a8e935c5c1678075c72dfae5590","after":"416b85a26073673504137ddba177f026ddbb2654","ref":"refs/heads/main","pushedAt":"2024-09-19T20:27:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor playlist.json and Makefile, and move server and cli files to separate directories","shortMessageHtmlLink":"Refactor playlist.json and Makefile, and move server and cli files to…"}},{"before":"aa7f3396ce8f9e920d6442a8c2a771f61dbe5b01","after":"805ab7cd1a975a8e935c5c1678075c72dfae5590","ref":"refs/heads/main","pushedAt":"2024-09-19T19:53:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor API, EPG, Player, Playlist, and Streams routes","shortMessageHtmlLink":"Refactor API, EPG, Player, Playlist, and Streams routes"}},{"before":"92008da5ea9d8c327315a2ddbd7b1835dafdf1ab","after":"aa7f3396ce8f9e920d6442a8c2a771f61dbe5b01","ref":"refs/heads/main","pushedAt":"2024-09-18T19:53:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor config loading and server initialization\nAdded more API calls\nAdded support for server reload","shortMessageHtmlLink":"Refactor config loading and server initialization"}},{"before":"23b62b22953924994f23e4b484a8c2a22a60cc1a","after":"92008da5ea9d8c327315a2ddbd7b1835dafdf1ab","ref":"refs/heads/main","pushedAt":"2024-09-17T20:18:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor config loading and server initialization\n\nThis commit refactors the code related to loading the configuration and initializing the server. It removes the unused `Port` field from the `Config` struct and moves it to the `ServerConfig` struct. It also updates the `LoadConfig` function to use the new `streamserver.ServerConfig` type for the `StreamServer` field. Additionally, the `Start` function in `server/main.go` is modified to use the `streamserver.Start` function with the `config.StreamServer` parameter. The `Shutdown` function is removed as it is no longer needed.","shortMessageHtmlLink":"Refactor config loading and server initialization"}},{"before":"c8ec7a40aeff357525521698fad3cc8e9e048596","after":"23b62b22953924994f23e4b484a8c2a22a60cc1a","ref":"refs/heads/main","pushedAt":"2024-09-16T20:47:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Initial development of the API endpoint","shortMessageHtmlLink":"Initial development of the API endpoint"}},{"before":"c8ec7a40aeff357525521698fad3cc8e9e048596","after":null,"ref":"refs/tags/0.0.24","pushedAt":"2024-09-16T15:13:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"}},{"before":"bcdb0af1910c788fe64e9ad1ed55d0833e85b0f2","after":"c8ec7a40aeff357525521698fad3cc8e9e048596","ref":"refs/heads/main","pushedAt":"2024-09-16T15:08:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Code clean-up, improved m3u parsing, improved m3u serving/validating, updated README.md","shortMessageHtmlLink":"Code clean-up, improved m3u parsing, improved m3u serving/validating,…"}},{"before":"1ca66b034b93e5cb7270d04d80a06b50ace42932","after":"bcdb0af1910c788fe64e9ad1ed55d0833e85b0f2","ref":"refs/heads/main","pushedAt":"2024-09-15T17:36:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor M3U provider and stream server to support disabling remapping","shortMessageHtmlLink":"Refactor M3U provider and stream server to support disabling remapping"}},{"before":"4999dd8426682ccb83e7adadcadbc4f4cb94b0be","after":"1ca66b034b93e5cb7270d04d80a06b50ace42932","ref":"refs/heads/main","pushedAt":"2024-09-15T15:53:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Minor fixes","shortMessageHtmlLink":"Minor fixes"}},{"before":"629d138af25c220cbc36986e9eac010c564be864","after":"4999dd8426682ccb83e7adadcadbc4f4cb94b0be","ref":"refs/heads/main","pushedAt":"2024-09-15T00:10:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Improved stream serving","shortMessageHtmlLink":"Improved stream serving"}},{"before":"ccce3c4a3a13796fc86fb2db5bd1e7065687bf15","after":"629d138af25c220cbc36986e9eac010c564be864","ref":"refs/heads/main","pushedAt":"2024-09-13T20:18:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Update player title and fix stream serving logic","shortMessageHtmlLink":"Update player title and fix stream serving logic"}},{"before":"4c929aec81e6b5d878bd5fbcdff564c46ff91e7e","after":"ccce3c4a3a13796fc86fb2db5bd1e7065687bf15","ref":"refs/heads/main","pushedAt":"2024-09-13T18:55:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Improved channel validation","shortMessageHtmlLink":"Improved channel validation"}},{"before":"4c929aec81e6b5d878bd5fbcdff564c46ff91e7e","after":null,"ref":"refs/heads/fix/improve-stream-check-and-serve","pushedAt":"2024-09-13T18:44:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"}},{"before":"f669b74ac80e2096b20ae786fc38a280cedd0687","after":"4c929aec81e6b5d878bd5fbcdff564c46ff91e7e","ref":"refs/heads/main","pushedAt":"2024-09-13T18:44:08.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Merge branch 'fix/improve-stream-check-and-serve' of github.com:a13labs/m3uproxy into fix/improve-stream-check-and-serve","shortMessageHtmlLink":"Merge branch 'fix/improve-stream-check-and-serve' of github.com:a13la…"}},{"before":"3f8fa6739501feff5dbe6384bf210b504f80a1bc","after":"4c929aec81e6b5d878bd5fbcdff564c46ff91e7e","ref":"refs/heads/fix/improve-stream-check-and-serve","pushedAt":"2024-09-13T18:43:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Merge branch 'fix/improve-stream-check-and-serve' of github.com:a13labs/m3uproxy into fix/improve-stream-check-and-serve","shortMessageHtmlLink":"Merge branch 'fix/improve-stream-check-and-serve' of github.com:a13la…"}},{"before":"8efd13198740d4c3a7906b080bb9ade0050e4d7f","after":"3f8fa6739501feff5dbe6384bf210b504f80a1bc","ref":"refs/heads/fix/improve-stream-check-and-serve","pushedAt":"2024-09-13T18:40:41.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Final implementation","shortMessageHtmlLink":"Final implementation"}},{"before":null,"after":"8efd13198740d4c3a7906b080bb9ade0050e4d7f","ref":"refs/heads/fix/improve-stream-check-and-serve","pushedAt":"2024-09-13T16:30:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Attemp #1","shortMessageHtmlLink":"Attemp #1"}},{"before":"cc41eb0e696a946b46b8b2eabb3fea3488aec2a6","after":"f669b74ac80e2096b20ae786fc38a280cedd0687","ref":"refs/heads/main","pushedAt":"2024-09-13T12:24:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:a13labs/m3uproxy","shortMessageHtmlLink":"Merge branch 'main' of github.com:a13labs/m3uproxy"}},{"before":"c6f243a21879037c90374965b3bb31328fd10ed4","after":"cc41eb0e696a946b46b8b2eabb3fea3488aec2a6","ref":"refs/heads/main","pushedAt":"2024-09-10T17:56:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor go.mod to remove toolchain version","shortMessageHtmlLink":"Refactor go.mod to remove toolchain version"}},{"before":"cb40859ea1f798bfc76d2a9ff84376ec319f525d","after":"c6f243a21879037c90374965b3bb31328fd10ed4","ref":"refs/heads/main","pushedAt":"2024-09-10T17:54:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor security.go to use a whitelist for geoip access","shortMessageHtmlLink":"Refactor security.go to use a whitelist for geoip access"}},{"before":"32553c1c772d77a845eeef6de6e660b564e81a7c","after":"cb40859ea1f798bfc76d2a9ff84376ec319f525d","ref":"refs/heads/main","pushedAt":"2024-09-10T17:47:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Added some logging","shortMessageHtmlLink":"Added some logging"}},{"before":"032c653690d5e08c2144786b18f1171eb61df73e","after":"32553c1c772d77a845eeef6de6e660b564e81a7c","ref":"refs/heads/main","pushedAt":"2024-09-10T17:18:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor security.go to handle X-Real-IP and X-Forwarded-For headers\n\nThis commit modifies the security.go file to handle the X-Real-IP and X-Forwarded-For headers when retrieving the client's IP address. It checks if either of these headers are present and uses the first IP address in the list if multiple are provided. If these headers are not present, it falls back to the default method of retrieving the IP address. This change improves the accuracy of identifying the client's IP address in the application.\n\nRefactor server.go to support HTTPS URLs\n\nThis commit updates the server.go file to support generating HTTPS URLs for the stream playlists. It introduces a new configuration option, \"force_https_url\", which, when enabled, ensures that the generated playlist URLs use the \"https\" protocol instead of \"http\". This change enhances the security of the application by allowing the use of secure connections for streaming.","shortMessageHtmlLink":"Refactor security.go to handle X-Real-IP and X-Forwarded-For headers"}},{"before":"59fc5a1f2cc131e7681a16c46d541054ed7a8abe","after":"032c653690d5e08c2144786b18f1171eb61df73e","ref":"refs/heads/main","pushedAt":"2024-09-10T14:06:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor player.html and playlist.json","shortMessageHtmlLink":"Refactor player.html and playlist.json"}},{"before":"c798ae4fad49329587673634fe4f4d17c6ee819e","after":"59fc5a1f2cc131e7681a16c46d541054ed7a8abe","ref":"refs/heads/main","pushedAt":"2024-09-09T21:52:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor config struct to include security settings\nAdded html player","shortMessageHtmlLink":"Refactor config struct to include security settings"}},{"before":"ce320724a3cff5c26326ecb44b5dd31c720d5416","after":"c798ae4fad49329587673634fe4f4d17c6ee819e","ref":"refs/heads/main","pushedAt":"2024-09-08T14:34:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor AddStreams function to handle missing tvg-id for streams","shortMessageHtmlLink":"Refactor AddStreams function to handle missing tvg-id for streams"}},{"before":"ddd48a0fce9267bed73329a780b4ed08c928de42","after":"ce320724a3cff5c26326ecb44b5dd31c720d5416","ref":"refs/heads/main","pushedAt":"2024-09-08T13:25:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexyz79","name":"Alexandre Pires","path":"/alexyz79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4311843?s=80&v=4"},"commit":{"message":"Refactor OverrideEntry struct and AddStreams function","shortMessageHtmlLink":"Refactor OverrideEntry struct and AddStreams function"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxOTo1NzozOC4wMDAwMDBazwAAAAS83FCM","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxOTo1NzozOC4wMDAwMDBazwAAAAS83FCM","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wOFQxMzoyNTowNC4wMDAwMDBazwAAAASwHOrb"}},"title":"Activity · a13labs/m3uproxy"}