Giter Site home page Giter Site logo

twoure / kissnetwork.bundle Goto Github PK

View Code? Open in Web Editor NEW
95.0 23.0 21.0 16.13 MB

Plex Channel to view Anime, Asian Drama, Cartoons, Manga & Comics from KissAnime, KissAsian, KissCartoon, KissManga & ReadComicOnline

Python 98.37% JavaScript 1.63%
anime cartoon manga comics drama plex-channel video photos

kissnetwork.bundle's Introduction

KissNetwork

Codacy Badge GitHub issues

Table of Contents

Introduction

This plugin creates a new channel within Plex Media Server (PMS) to view content from these websites: Kissanime.ru, Kissasian.com, Kisscartoon.se, Kissmanga.com, and ReadComicOnline.to. It is currently under development and as such, should be considered alpha software and potentially unstable. If you try it and it works for you (or if not!) please let me know.

Note: the author of this plugin has no affiliation with the Kiss sites nor the owners of the content that they host.

Table of Contents

Features

  • Watch video content across all Kiss sites (quality ranges from 360p to 1080p)
  • Choose which sites to view content, hide others
  • Option to Block most Adult content
  • Read Manga from KissManga
  • Read Comics from ReadComicOnline
  • Create custom Bookmarks
  • Search all sites for Videos/Manga/Comics

Table of Contents

Table of Contents

Channel Support

Plex Media Server:
  • Tested Working:
    • Ubuntu 14.04 LTS: PMS version 1.4.2
    • Windows 7: PMS version 0.9.16.6 (untested since v1.2.1)
Plex Clients:
  • Tested Working:
    • Plex Home Theater (Ubuntu 14.04 LTS, v1.4.1)
    • OpenPHT (Ubuntu 14.04 LTS, v1.6.2)
    • Android (4.4.2) (Plex Client App, v5.6.1.505)
    • Android (7.1.1) (Plex Client App, v5.6.1.505)
    • Plex Media Player (1.1.4)
    • Plex/Web (3.0.1) (Videos)
    • Chromecast (Videos & Pictures)

Table of Contents

Install

  • This channel can be installed via WebTools.bundle or manually follow the directions below.
  • Download the latest release and install KissNetwork by following the Plex instructions or the instructions below.
    • Unzip and rename the folder to KissNetwork.bundle
    • Copy KissNetwork.bundle into the PMS Plug-ins directory
    • Unix based platforms need to chown plex:plex -R KissNetwork.bundle after moving it into the Plug-ins directory (user:group may differ by platform)
    • Restart PMS

Table of Contents

Operation

Preferences

Simple UI
  • Remove all sub list in favor of one list per section sorted by the Sort List by... option.
Sort List by...
  • Set list order for "All", "Alphabets", "Country", "Genres", "Movies", "Ongoing", and "Completed"
View Anime, Cartoon, Comic, Drama, Manga
  • If site enabled then it will be availible in the Channel for viewing. This includes Bookmarks and Searching.
Preferred Video Server
  • Select a Default Video Server from the drop-down list
  • Currently supported servers: KissNetwork(default), Openload, Stream
    • Default behavior: Use GoogleVideo links when available, otherwise try using the provided links
    • If a server other than KissNetwork is selected: Use selected video server, and default to GoogleVideo links when selected server fails.
Search all sites together
  • Enabled: Check all sites before results are returned. This will removed categories with empty results but will slow down search when sites preform a header refresh.
  • Disabled(default): Do not search all sites at once, instead check a site only when asked.
Hide "Clear Bookmarks"
  • Enabled: Hide the Clear Bookmarks function within Main Bookmarks menu and sub-menus
  • Disabled(default): Allow the Clear Bookmarks function within Main Bookmarks menu and sub-menus
Use "Custom Bookmarks Backup Path"
  • Enabled: Use Custom Bookmarks Backup Path to store bookmark backup json files
  • Disabled(default): Use default path, located within the channel's support directory
Custom Bookmarks Backup Path
  • Custom user path to save bookmark backup json files
  • Plex must have read/write permissions to use an external directory, otherwise backup path will fallback to default location
Force Redirect (disables remote play)
  • Enabled: Turns On URL Redirect Function, making PMS follow the URL Redirect.
    • Follows URL through its redirect and returns the final URL
    • GoogleVideo Links: expand around PMS IP rendering unusable outside of local network (i.e. remote play disabled)
  • Disabled(default): URL Redirect is handled by client
Force Transcoding (enables remote play)
  • Openload/Stream.moe videos have a hash tied to the PMS server IP. Enable to watch Openload/Stream.moe videos outside the PMS local network.
  • Enabled: Videos will be transcoded by PMS and available for use outside the servers network
    • Resolution will depend on available streams and client settings
    • Overrides Force Redirect, because PMS will properly handle any URL Redirects
  • Disabled(default): Transcoding depends on clients settings/support
Allow Adult Content
  • Enabled: Allows Adult Content to be viewed
  • Disabled(default): Checks against contents Genre list for adult themed genres. Current block list.
    • Will provide a popup whenever an Adult themed video/comic/manga is accessed providing feedback as to why the content is blocked
    • Fails with KissCartoon because it does not have Adult themed Genres but does have Adult content
Enable Developer Tools
  • Enabled: Show Developer Tools Menu located in About / Help section
  • Disabled(default): Developer Tools Menu remains hidden
  • Is only available to PMS admin regardless of enabled/disabled
Auth Admin Through Plex.tv
  • Authenticate admin user through Plex.tv if Plex Media Server does not have Plex Home enabled
  • Enabled: Auth against https://plex.tv/user/account
    • Use if PMS is NOT setup as Plex Home
    • If plex.tv is down then this authentication will fail, locking the admin out from channel Preferences, Updater, and DevTools section
      • If this happens, open Plug-in Support/Preferences/com.plexapp.plugins.kissnetwork.xml and set plextv section to false. Save and exit file.
      • Note 1: if PMS is not setup as Plex Home then admin features will now be available to all shared users
      • Note 2: when plex.tv comes online again, make sure to re-enable Auth Admin Trough Plex.tv to ensure shared users are not allowed admin access
  • Disabled(default): Auth against http://127.0.0.1:32400/myplex/account
    • Use when PMS is setup as Plex Home
    • Note: If PMS NOT setup as Plex Home then all shared users will have admin access
  • If using Plex Web Client on Host Server Machine and not signed-in, then no Plex Token will be available to authenticate. In this use case, the assumption is you are the admin so the channel will treat you as such.
Update Channel
  • Select channel to track updates from. Updater caches the Github request URL for 12 hours.
  • Update button visible only to PMS admin and when update avalible.
  • Stable(default): Tracks the latest release, same as the old updater
  • Development: Tracks the latest commit within the dev branch
Enable Debug Logging
  • Turn on extra logging for debugging purposes

Table of Contents

About / Help

Developer Tools
  • Bookmark Tools
  • Cache Tools
  • Domain Tools
  • Header Tools
  • Reset Dict cfscrape Test Key: Delete test key and then force the channel to retake the cfscrape test.
  • Restart KissNetwork Channel: Will restart KissNetwork Channel in PMS, but will not refresh URL Service Code.
Bookmark Tools
  • Backup Tools:
    • Backup Bookmarks - Creates a Backup file of all bookmarks
    • Delete Backups - Open menu to Detele old bookmark backups
    • Load Bookmarks from Backup - Open menu to Load bookmarks from previously created backup file
  • Toggle Hiding "Clear Bookmarks" Function: For those of us who accidentally delete our bookmarks but don't mean to
  • Reset "All" Bookmarks: Same as "Clear All Bookmarks"
  • Reset "Anime" Bookmarks: Same as "Clear Anime Bookmarks"
  • Reset... : Same for Drama, Cartoon, Comic, and Manga
Cache Tools
  • Reset DataCovers Cache: Force Remove all cached Covers from DataCovers directory.
  • Reset DataHTTP Cache: Force Remove all cached URLs from DataHTTP directory.
Domain Tools
  • Reset Domain_Dict File: Create backup of old Domain_Dict, then delete current, and write new Domain_Dict with freash domains
  • Update Anime Domain: Update Anime Domain in the Domain_Dict file only
  • Update... : Same for Drama, Cartoon, Comic, and Manga
Header Tools
  • Reset Header_Dict File: Create backup of old Header_Dict, then delete current, and write new Header_Dict with freash headers
  • Update Anime Headers: Update Anime Headers in the Header_Dict file only
  • Update... : Same for Drama, Cartoon, Comic, and Manga

Table of Contents

Issues

General
  • First time channel runs after installation or an upgrade, you may see a message saying to wait untile the headers are cached. This is normal behavior.
  • Episode, Movie, VideoClip data may be incorrect depending on how the shows are archived on the Kiss sites. I've accounted for most variations but some info will still be incorrect.
Anime, Cartoon, Drama, Manga, Comics
  • Hosted behind Cloudflare so added a modified version of cloudflare-scrape as a work around
Cartoon
  • No Mature filter/genre so Adult Prefs Option cannot filter out Adult Cartoons
Manga, Comics
  • Kissmanga/ReadComicOnline is not the most useful reader for the Plex Web client, but works reasonably well for Smart Phones, PMP, and PHT.
Drama
  • Keeps changing video URL obfuscation every so often. Am able to decode daily, but will not be creating a new release every day it changes. Depends on current frequency of changes.
  • If and when Drama videos start failing (when obfuscation changes), users can try the dev branch code, or Switch the server pref to Openload or Stream.
  • Header Cache time is very short, ~30-45 minutes, so can bog down Search Function
Plex Home Theater
  • Channel exits when adding/removing bookmarks. Has to do with pop up messages.
    • Working to fix this. Have new message.py but have yet to integrate with bookmarks fully
Plex Web Client
Openload, Stream
  • Openload/Stream.moe links have a hash tied to your PMS IP. To use these Servers outside your home network, enable Force Transcoding. Force transcoding will make video links compatible with all clients.
Stream.moe
  • Stream.moe host is offline. Left it's code alone for now, as it does not affect channel preformance. Waiting to see if the site returns.

Table of Contents

Plans

General
  • Continue Improving Metadata
  • Change Itempage to TVShowObject, so have Bookmark function within TVShowObject.
Bookmarks
  • Group seasons into one show
  • Might create separate directories for TV and Movies
  • Might move bookmarks to own file like I did with Header_Dict

Table of Contents

Support

Table of Contents

About

Hey you, you scrolled to the end of the page! Yeah

Little background to this project. I decided it was time I start learning some Python, so what better way than to learn it and get some fun results to play with.

Mangahere.bundle (based off of Mangafox.bundle) was my first attempt at creating a new channel. I soon realized that the URL ServiceCode could not handle pulling consecutive page images, so I set out to find a site that presented all the album images on one page per chapter. Thus KissManga.bundle was born. Once I got the basics down for Kissmanga I noticed that the other Kiss sites were created similarly and would take some tweaking of my code to crawl each site.

This prompted me to make KissNetwork.bundle. I've tried to use Plex's built in framework as much as possible in hopes of maximizing cross platform compatibility. It has been a fun project so far and has gotten me more comfortable with Python. Have fun with it and let me know of any other issues or suggestions of how to make this faster and more user friendly.

Table of Contents

kissnetwork.bundle's People

Contributors

twoure avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kissnetwork.bundle's Issues

Latest update broke everything

I just downloaded the new version and now all videos say "not responding kiss cartoon is working to fix it" . any suggestions?

Cannot play anything

This started last night, every video I tried to watch through the Kiss channel kept saying "There was a problem playing this item." I left it alone till this morning. I have switched it to Openload and switched into Development mode. I saw a button that said to click it to update something, when I clicked it, was told that it couldn't update. Now I cannot get the update button to come back, nor can I watch anything on the Kiss channels.
My movies and other things work fine. Watching stuff on other channels works too. Its only Kiss thats doing it.

awesome plugin 🥇

just a thank you for writing this and maintaining it :) 🥇 🥇 🥇 🥇 🥇

Make Roku version

this plugin is great, is it possible to create it directly for Roku instead of Plex?

"This channel is not responding" when selected an episode to watch

Hi There,

I've getting an error after selecting an episode to watch. The KissNetwork Log outputs no errors except that it cannot find a valid Plex token (at which point it assumes thee user is Admin). The System Log does relay an error (see below)

Log File (after clicking episode to watch):

2016-07-13 18:04:04,878 (3b6c) : DEBUG (runtime:717) - Handling request GET /video/kissnetwork
2016-07-13 18:04:04,881 (3b6c) : DEBUG (runtime:814) - Found route matching /video/kissnetwork
2016-07-13 18:04:04,881 (3b6c) : DEBUG (logkit:13) - ********************************************************************************
2016-07-13 18:04:04,881 (3b6c) : DEBUG (logkit:13) - * Client.Product = Plex Web
2016-07-13 18:04:04,881 (3b6c) : DEBUG (logkit:13) - * Client.Platform = Chrome
2016-07-13 18:04:04,881 (3b6c) : DEBUG (logkit:13) - * Client.Version = 2.5.2
2016-07-13 18:04:04,882 (3b6c) : DEBUG (logkit:13) - * CFTest Previously Passed, not running again.
2016-07-13 18:04:04,882 (3b6c) : DEBUG (logkit:13) - ********************************************************************************
2016-07-13 18:04:04,884 (3b6c) : DEBUG (logkit:13) - * Checking if user is Admin
2016-07-13 18:04:04,884 (3b6c) : DEBUG (logkit:13) - * Auth URL = http://127.0.0.1:32400/myplex/account
2016-07-13 18:04:04,884 (3b6c) : ERROR (logkit:22) - * NO Plex Token available for validation
2016-07-13 18:04:04,884 (3b6c) : DEBUG (logkit:13) - * Assuming current user is Admin
2016-07-13 18:04:04,884 (3b6c) : DEBUG (logkit:13) - ********************************************************************************
2016-07-13 18:04:04,892 (3b6c) : INFO (datakit:131) - Saved the dictionary file
2016-07-13 18:04:04,901 (3b6c) : DEBUG (networking:161) - Fetching 'https://api.github.com/repos/Twoure/KissNetwork.bundle/releases/latest' from the HTTP cache
2016-07-13 18:04:04,911 (3b6c) : DEBUG (base:117) - Checking if com.plexapp.plugins.kissnetwork is broken
2016-07-13 18:04:04,913 (3b6c) : DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzEKY29tLnBsZXhhcHAucGx1Z2lucy5raXNzbmV0d29ya3MxMAppZGVudGlmaWVycjAK'
2016-07-13 18:04:04,921 (3b6c) : DEBUG (runtime:924) - Response: [200] MediaContainer, 2059 bytes

System Log:

2016-07-13 18:04:05,187 (119c) : CRITICAL (core:574) - Exception when calling function 'MetadataObjectForURL' (most recent call last):
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\code\sandbox.py", line 294, in call_named_function
result = f(_args, *_kwargs)
File "D:\Users\Admin\AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Services\URL\KissVideo\ServiceCode.pys", line 44, in MetadataObjectForURL
thumb, art = Metadata.get_thumb_and_art(html, url)
File "D:\Users\Admin\AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Services\Shared Code\metadata.pys", line 94, in get_thumb_and_art
cover_url = Common.CorrectCoverImage(html.xpath('//head/link[@rel="image_src"]/@href')[0])
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\code\sandbox.py", line 108, in
getitem = lambda x, y: x.getitem(y),
IndexError: list index out of range

2016-07-13 18:04:05,187 (119c) : CRITICAL (services:745) - Exception calling function in URL service "KissVideo" (com.plexapp.plugins.kissnetwork)
2016-07-13 18:04:05,187 (119c) : CRITICAL (core:574) - Exception (most recent call last):
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py", line 843, in handle_request
result = f(*_d)
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\handlers\services.py", line 26, in url_lookup
c = self._core.services.metadata_object_for_url(url, in_container=True)
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\services.py", line 725, in metadata_object_for_url
return self._get_result_from_function_for_url(self.metadata_object_for_url_from_service, url, do_normalization, dict(add_items_automatically = add_items_automatically, allow_deferred = allow_deferred, in_container = in_container))
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\services.py", line 741, in _get_result_from_function_for_url
result = func(url, service, *_kwargs)
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\services.py", line 642, in metadata_object_for_url_from_service
metadata = self._call_named_function_in_service(METADATA_OBJECT_FUNCTION_NAME, service, [url])
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\services.py", line 589, in _call_named_function_in_service
return self._call_named_function_in_sandbox(service.sandbox, fname, None, f_args, f_kwargs, allow_deferred, raise_exceptions, f_optional)
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\services.py", line 573, in _call_named_function_in_sandbox
result = sandbox.call_named_function(fname, allow_deferred=allow_deferred, raise_exceptions=raise_exceptions, args=f_args, kwargs=f_kwargs, mod_name=mod_name, optional_kwargs=f_optional)
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\code\sandbox.py", line 294, in call_named_function
result = f(_args, *_kwargs)
File "D:\Users\Admin\AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Services\URL\KissVideo\ServiceCode.pys", line 44, in MetadataObjectForURL
thumb, art = Metadata.get_thumb_and_art(html, url)
File "D:\Users\Admin\AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Services\Shared Code\metadata.pys", line 94, in get_thumb_and_art
cover_url = Common.CorrectCoverImage(html.xpath('//head/link[@rel="image_src"]/@href')[0])
File "D:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f46e7e6\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\code\sandbox.py", line 108, in
getitem = lambda x, y: x.getitem(y),
IndexError: list index out of range

2016-07-13 18:04:05,190 (119c) : DEBUG (runtime:924) - Response: [500] 3433 bytes

Caching url on link error?

KissAnime as been having high traffic problems and it seems that when "unexpected error" occurs when trying to view an episode it stays that way until a certain time expires. This is just a theory. Is there a safe way to clear caches?

I notice this when opening/closing all episodes of a season those that gave an error would only be available after some time even if they are view able on the website.

KissManga fails CFTest with 503 error

The log is complaining about a 503 causing KissManga to fail CFTest, and then prompting me to install NodeJS (which is already installed). Can you please help me figure out what I did wrong.

I also tried installing your dev branch, which is what I'm currently running. Please let me know if I should go back to master.

Log files are attached.

Video Unavailable

I've been having this issue for roughly a week, and been ignoring it because sometimes Kiss Network simply goes down, only to return later. As always, the video tries twice to load, never reaching past 13%, before giving me the error message of "this video is unavailable". I've installed the latest version, and even completely deleted the Kiss Network folder, closed PMS, loaded the new version, and restarted with no luck.

I have multiple log files, and aren't quite sure as to which you would need.

complexapppluginskissnetwork.zip

Blank?

Whenever I go into a category it just come back blank, I have restarted my server entirely but still no luck

Channel is not displayed

Hello, I installed this channel in the Plug-ins folder (followed all instructions) but channel is not displayed in the Channels section. I am testing on Plex Media Server Version 0.9.12.11 / Web Version 2.4.18

Bookmarks - Auto backup / Rotating files

  • Plan to add rotating file system for auto-backup of current bookmarks.
  • Allow custom input path for bookmark backups to be saved within
    • still deciding if auto files should be placed within optional custom path or keep in default path
    • leaning toward keeping auto files within default path.

Plugin doesn't show up after install / restart PMS

Here's the log info... I'm running Ubuntu 14.04 and the latest version of PMS. Installed the plugin via the "unsupported appstore".

$ cat com.plexapp.plugins.kissnetwork.log
2016-06-13 22:11:45,115 (7f5a41805740) :  INFO (core:349) - Starting framework core - Version: 2.6.3, Build: 5089475 (Fri Apr 22 21:25:00 UTC 2016)
2016-06-13 22:11:45,116 (7f5a41805740) :  DEBUG (core:361) - Using the elevated policy
2016-06-13 22:11:45,116 (7f5a41805740) :  DEBUG (core:450) - Starting runtime component.
2016-06-13 22:11:45,118 (7f5a41805740) :  DEBUG (core:450) - Starting caching component.
2016-06-13 22:11:45,118 (7f5a41805740) :  DEBUG (core:450) - Starting data component.
2016-06-13 22:11:45,118 (7f5a41805740) :  DEBUG (core:450) - Starting networking component.
2016-06-13 22:11:45,119 (7f5a41805740) :  DEBUG (networking:282) - Loaded HTTP cookies
2016-06-13 22:11:45,119 (7f5a41805740) :  DEBUG (networking:450) - Setting the default network timeout to 20.0
2016-06-13 22:11:45,120 (7f5a41805740) :  DEBUG (core:450) - Starting localization component.
2016-06-13 22:11:45,120 (7f5a41805740) :  INFO (localization:409) - Setting the default locale to en-us
2016-06-13 22:11:45,121 (7f5a41805740) :  DEBUG (localization:427) - Loaded en strings
2016-06-13 22:11:45,121 (7f5a41805740) :  DEBUG (core:450) - Starting messaging component.
2016-06-13 22:11:45,122 (7f5a41805740) :  DEBUG (core:450) - Starting debugging component.
2016-06-13 22:11:45,122 (7f5a41805740) :  DEBUG (core:450) - Starting services component.
2016-06-13 22:11:45,122 (7f5a41805740) :  DEBUG (core:450) - Starting myplex component.
2016-06-13 22:11:45,122 (7f5a41805740) :  DEBUG (core:450) - Starting notifications component.
2016-06-13 22:11:45,138 (7f5a29ffb700) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/system/messaging/clear_events/com.plexapp.plugins.kissnetwork'
2016-06-13 22:11:45,371 (7f5a41805740) :  DEBUG (accessor:68) - Creating a new model access point for provider com.plexapp.plugins.kissnetwork in namespace 'metadata'
2016-06-13 22:11:45,388 (7f5a41805740) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/resourceHashes'
2016-06-13 22:11:45,823 (7f5a41805740) :  DEBUG (runtime:1117) - Created a thread named 'load_all_services'
2016-06-13 22:11:45,824 (7f5a29ffb700) :  DEBUG (services:265) - Plug-in is not daemonized - loading services from system
2016-06-13 22:11:45,824 (7f5a29ffb700) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X0J1bmRsZVNlcnZpY2U6QWxsU2VydmljZXM_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMApyMAo_'
2016-06-13 22:11:45,825 (7f5a41805740) :  DEBUG (runtime:1117) - Created a thread named 'get_server_info'
2016-06-13 22:11:45,825 (7f5a41805740) :  DEBUG (core:150) - Finished starting framework core
2016-06-13 22:11:45,826 (7f5a41805740) :  DEBUG (core:560) - Loading plug-in code
2016-06-13 22:11:45,956 (7f5a28ff9700) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400'
2016-06-13 22:11:45,962 (7f5a28ff9700) :  DEBUG (core:538) - Machine identifier is 9c74f7db7aa7d320ef7cfbd58f03f962a7afe267
2016-06-13 22:11:45,963 (7f5a28ff9700) :  DEBUG (core:539) - Server version is 0.9.16.6.1993-5089475
2016-06-13 22:11:47,227 (7f5a41805740) :  DEBUG (core:566) - Finished loading plug-in code
2016-06-13 22:11:47,988 (7f5a29ffb700) :  DEBUG (services:362) - Loaded services
2016-06-13 22:11:48,021 (7f5a297fa700) :  DEBUG (services:433) - Loading 8 shared code modules
2016-06-13 22:11:49,169 (7f5a297fa700) :  DEBUG (services:436) - Loaded shared code
2016-06-13 22:11:49,647 (7f5a41805740) :  DEBUG (runtime:640) - Adding a prefix handler for 'KissNetwork' ('/video/kissnetwork')
2016-06-13 22:11:49,651 (7f5a41805740) :  DEBUG (__init__:81) - ********************************************************************************
2016-06-13 22:11:49,651 (7f5a41805740) :  DEBUG (__init__:82) - * Platform.OS            = Linux
2016-06-13 22:11:49,651 (7f5a41805740) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400'
2016-06-13 22:11:49,658 (7f5a41805740) :  DEBUG (core:521) - Attribute 'platformVersion' set to '3.13.0-88-generic (#135-Ubuntu SMP Wed Jun 8 21:10:42 UTC 2016)'
2016-06-13 22:11:49,659 (7f5a41805740) :  DEBUG (__init__:83) - * Platform.OSVersion     = 3.13.0-88-generic (#135-Ubuntu SMP Wed Jun 8 21:10:42 UTC 2016)
2016-06-13 22:11:49,659 (7f5a41805740) :  DEBUG (__init__:84) - * Platform.ServerVersion = 0.9.16.6.1993-5089475
2016-06-13 22:11:49,659 (7f5a41805740) :  DEBUG (__init__:85) - ********************************************************************************
2016-06-13 22:11:49,661 (7f5a41805740) :  INFO (datakit:93) - Loaded the dictionary file
2016-06-13 22:11:54,666 (7f5a297fa700) :  INFO (datakit:131) - Saved the dictionary file

Kissnetwork blocks mostly every Hoster Company + suggestion for Proxy feature

Hey, i was writing with Kissnetwork and it seems they are block most of the Hoster Companys.

So if you rent a Server it can be a Problem to use this "plugin". (as in my case) and no they wont unblock you, it's there politics to block every Hoster they can find...

My question is now:

Is it possible to add an option to add an Proxy so that people can go around it, so that it get usable for people which use plexmediaserver on a rented Server.

regards

Shad86

Plex Media Server is not responding

I am using latest plex media server on my vps (Ubuntu 16.04). Today first time installed kissnetwork, restarted pms and vps several time, but every time i try to watch something, i get one of the two errors:
Channel is not responding (in browser only)
Plex Media Server is not responding (in plex media player and browser sometimes).

Here are my logs.
kissnetwork.log.zip

Plex Token Issue

Plex Token Issue effects version 1.0.9

I used os.environ['PLEXTOKEN'] to get the current system token to be able to do http request to the server asking for the channels current preferences. This is only done within the Shared Code section since code there is restricted in integration with the Plex Media Server. The normal way to get the token would be Request.Headers.get('X-Plex-Token', '') but the Request function is not available for use within the Shared Code section.

Log file will say that the 'PLEXTOKEN' key doesn't exist in your environment. This will keep playback of videos from happening.

I'm looking into an alternative for getting the preferences within the Service Code section.

Until then, (for those who are having this issue), edit

KissNetwork.bundle/Contents/Services/Shared Code/subprefs.pys

file by the following:

  • located your Plex Token (info here for finding token)
  • Edit subprefs.pys as follows:

add new line under line 5 with token

PLEXTOKEN = "your token with quotes around it"

Edit GetPrefs function. If line added above then edit line 9 to look like the following:

headers = {'X-Plex-Token': PLEXTOKEN}

Save and exit file, restart PMS to ensure changes take effect.

cfscrape needs updating again?

My KissNetwork anime channel stopped working when trying to list videos or doing anything that needs to scrap the web site. I've mostly assumed its because cfscrape itself recently stopped working again after the previous bug about cfscrape breaking was fixed.

In the bug report on cfscrape's issues page the maintainer wonders if cloud flare changed their js to make cfscrape not work anymore or some other script. So, this might be the new normal: cloud flare breaks script...script needs updating yet again. Maybe make KissNework.bundle try to update cfscrape itself when errors occur. It might be worth the effort if you need to make a new release twice a week from now on. Or this could be the last time it happens.

Attached are the log files other bug posts have mentioned you need to see what's going on.
com.plexapp.plugins.kissnetwork.log.txt
com.plexapp.system.log.txt

Also, a peculiarity of my plex configuration is that I'm using PlexConnect to support my older 3rd generation Apple TV, which lacks a Plex app or any DLNA support at all. I don't know if this could be a problem, but it used to work just fine.

Menu navigation - stuck in show after sleep

Using the channel on openPHT embedded. after watching show e.g. on anime channel, sometimes i just left the client alone in the particular show's page, showing all episodes. The client go to sleep after 30 min of inactivity. After wake up, the client will revert back to the main screen showing all libraries. When going back to the kissnetwork channel, it'll be stuck in the show episode page, pressing escape or backspace would go out to the menu for choosing channels.

is this an issue with the bundle or issue with openPHT?

new style kissasian subtitles are currently not supported by this plugin

It looks like Kissasian is adding subtitles as a separate element. Here's an example: http://kissasian.com/Drama/Father-I-ll-Take-Care-of-You/Episode-17?id=32061

As you can see, there are now subtitle controls, where you can select either 'English' or 'subtitles off' (click on the bubble icon in lower right corner of screen).

Viewing the source, it looks like there's now a <track kind="subtitles" .. element that now contains the subtitles.

As it stands now, these new style subtitles cannot be viewed using this Kissasian plugin.

CloudFlare - cfscrape update

CloudFlare anti-bot code updated. Currently updating to latest cfscrape code to fix.

Also comic section is now behind same anti-bot, so updating cache cover code to handle new comic cover thumbs.

Headers - expire times not same across Main and ServiceCode

Two instances of kissheaders.pys are being started as a Class (this is normal). Both track expire time but do not talk to each other currently. Need to reload header file whenever a header expires, so can check and see if another instance of kissheaders.pys has updated.

Cached images for bookmarks never get displayed

Hello,

I've added a bunch of anime bookmarks to KissNetwork, and I enabled the option to cache the bookmark covers locally (I left the Cache All Covers Locally option disabled). I've verified that the covers have gotten cached under Contents/Resources, and I can see the entries for those jpgs in the dict ("Plug-in Support/Data/com.plexapp.plugins.kissnetwork"). However, I can't get those covers to show up on any of the Plex web pages; instead they all have the "Caching cover" icon.

I've toggled the settings a bunch and restarted the server a few times in different combinations to try to get it to work, but I haven't had any success. I don't know if it'll be helpful, but here's the log from the initial download. Occasionally, I'll see a few more entries where some threads try to run again, and they successfully detect that the images already exist.

I'm happy to test any intermediate solutions you may have, provided you tell me how :)

Thanks!

2016-08-05 18:01:04,848 (4804) : DEBUG (runtime:1156) - Starting timed thread named 'BackgroundAutoCache'
2016-08-05 18:01:04,849 (4804) : DEBUG (logkit:13) - ********************************************************************************
2016-08-05 18:01:04,849 (4804) : DEBUG (logkit:13) - * Running Background Auto-Cache
2016-08-05 18:01:04,849 (4804) : DEBUG (logkit:13) - * Header Dictionary already found, writing new Headers to old Dictionary
2016-08-05 18:01:04,854 (4804) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,854 (4804) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,854 (4804) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,855 (4804) : DEBUG (logkit:13) - * Time left until Anime cookies need to be updated = 23:36:09
2016-08-05 18:01:04,857 (4804) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,857 (4804) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,857 (4804) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,858 (4804) : DEBUG (logkit:13) - * Time left until Drama cookies need to be updated = 0:21:48
2016-08-05 18:01:04,859 (4804) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,859 (4804) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,859 (4804) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,861 (4804) : DEBUG (logkit:13) - * Time left until Cartoon cookies need to be updated = 5 days, 22:40:34
2016-08-05 18:01:04,862 (4804) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,862 (4804) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,862 (4804) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,864 (4804) : DEBUG (logkit:13) - * Time left until Manga cookies need to be updated = 23:51:53
2016-08-05 18:01:04,865 (4804) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,865 (4804) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,865 (4804) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,867 (4804) : DEBUG (logkit:13) - * Time left until Comic cookies need to be updated = 0:21:59
2016-08-05 18:01:04,867 (4804) : DEBUG (logkit:13) - * All cookies
2016-08-05 18:01:04,867 (4804) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,867 (4804) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,868 (4804) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,868 (4804) : DEBUG (logkit:13) - * {u'Drama': {u'referer': u'http://kissasian.com', u'expire': u'1470446572', u'cookie': u'cf_clearance=422e95e03f614ffeeb2723fa827ba7dd13d58fc4-1470444772-1800; __cfduid=df933e3fe4aae3172f61d3eeb34795e141470444766', u'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}, u'Comic': {u'referer': u'http://readcomiconline.to', u'expire': u'1470446583', u'cookie': u'cf_clearance=0124dda05111208449ac0ae0efe2e54a18ef24fc-1470444783-1800; __cfduid=db4edeecb1a5b494f0723db99e0abbd4a1470444778', u'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}, u'Manga': {u'referer': u'http://kissmanga.com', u'expire': u'1470531177', u'cookie': u'cf_clearance=eaab6d609e10c0484eb6af29bc881301c2b74274-1470444777-86400; __cfduid=d7d0620775f8a544eae40e8f61672a0c71470444772', u'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}, u'Anime': {u'referer': u'http://kissanime.to', u'expire': u'1470530233', u'cookie': u'cf_clearance=03373967609c43ba2be844960fd59107c95b4a59-1470443833-86400; __cfduid=d1f80ee53d75b641417de2505930d7fe21470443828', u'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}, u'Cartoon': {u'referer': u'http://kisscartoon.me', u'expire': u'1470958898', u'cookie': u'cf_clearance=af8d461fece66068954281d145d79300780b88f9-1470354098-604800; __cfduid=dfdbabb02645c94290ae8bf63b7452b381470354093', u'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}}
2016-08-05 18:01:04,875 (4804) : INFO (datakit:131) - Saved the dictionary file
2016-08-05 18:01:04,875 (4804) : DEBUG (logkit:13) - ********************************************************************************
2016-08-05 18:01:04,875 (4804) : INFO (logkit:16) - Dict['s_opt'] =
2016-08-05 18:01:04,881 (4804) : INFO (datakit:131) - Saved the dictionary file
2016-08-05 18:01:04,881 (4804) : DEBUG (runtime:1117) - Created a thread named 'CacheCovers'
2016-08-05 18:01:04,881 (2f38) : DEBUG (logkit:13) - ********************************************************************************
2016-08-05 18:01:04,885 (2f38) : DEBUG (runtime:1117) - Created a thread named 'SaveCoverImage'
2016-08-05 18:01:04,888 (404c) : DEBUG (logkit:13) - image file path = \AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Resources\51415554514521l.jpg
2016-08-05 18:01:04,888 (2f38) : DEBUG (runtime:1117) - Created a thread named 'SaveCoverImage'
2016-08-05 18:01:04,892 (404c) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,892 (47d8) : DEBUG (logkit:13) - image file path = \AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Resources\52253654572690.jpg
2016-08-05 18:01:04,894 (404c) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,894 (2f38) : DEBUG (runtime:1117) - Created a thread named 'SaveCoverImage'
2016-08-05 18:01:04,894 (404c) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,897 (404c) : DEBUG (logkit:13) - * Time left until Anime cookies need to be updated = 23:36:09
2016-08-05 18:01:04,901 (47d8) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,903 (3fe0) : DEBUG (logkit:13) - image file path = \AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Resources\4611155458710l.jpg
2016-08-05 18:01:04,905 (47d8) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,907 (2f38) : DEBUG (runtime:1117) - Created a thread named 'SaveCoverImage'
2016-08-05 18:01:04,907 (47d8) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,913 (47d8) : DEBUG (logkit:13) - * Time left until Anime cookies need to be updated = 23:36:09
2016-08-05 18:01:04,917 (3fe0) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:04,917 (398c) : DEBUG (logkit:13) - image file path = \AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Resources\449345149743l.jpg
2016-08-05 18:01:04,917 (2f38) : DEBUG (runtime:1117) - Created a thread named 'SaveCoverImage'
2016-08-05 18:01:04,917 (3fe0) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:04,920 (3fe0) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:04,923 (3fe0) : DEBUG (logkit:13) - * Time left until Anime cookies need to be updated = 23:36:09
.........
2016-08-05 18:01:05,188 (3c94) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:05,190 (3c94) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:05,190 (3a0c) : DEBUG (logkit:13) - image file path = \AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Resources\4492023ram.jpg
2016-08-05 18:01:05,190 (3c94) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:05,191 (2f38) : DEBUG (runtime:1117) - Created a thread named 'SaveCoverImage'
2016-08-05 18:01:05,191 (44a4) : DEBUG (logkit:13) - * saved image 982251430699l.jpg
2016-08-05 18:01:05,194 (3c94) : DEBUG (logkit:13) - * Time left until Anime cookies need to be updated = 23:36:08
2016-08-05 18:01:05,194 (2f38) : INFO (logkit:16) - * Loaded 0 Bookmark Covers from cache
2016-08-05 18:01:05,196 (2f38) : DEBUG (logkit:13) - ********************************************************************************
2016-08-05 18:01:05,197 (3a0c) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:05,198 (14a8) : DEBUG (logkit:13) - image file path = \AppData\Local\Plex Media Server\Plug-ins\KissNetwork.bundle\Contents\Resources\27703224553Rick-and-Morty.jpg
2016-08-05 18:01:05,198 (3a0c) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:05,200 (3a0c) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:05,203 (3a0c) : DEBUG (logkit:13) - * Time left until Cartoon cookies need to be updated = 5 days, 22:40:33
2016-08-05 18:01:05,203 (4494) : DEBUG (logkit:13) - * saved image 59190354554267l.jpg
2016-08-05 18:01:05,204 (14a8) : DEBUG (logkit:13) - * header dict file location >>
2016-08-05 18:01:05,206 (14a8) : DEBUG (logkit:13) - * \AppData\Local\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.kissnetwork\Header_Dict
2016-08-05 18:01:05,207 (14a8) : DEBUG (logkit:13) - * loading header dict in json format
2016-08-05 18:01:05,207 (14a8) : DEBUG (logkit:13) - * Time left until Cartoon cookies need to be updated = 5 days, 22:40:33
2016-08-05 18:01:05,213 (2ea0) : DEBUG (logkit:13) - * saved image 80971554568097l.jpg
2016-08-05 18:01:05,214 (2f38) : INFO (datakit:131) - Saved the dictionary file
2016-08-05 18:01:05,220 (23ac) : DEBUG (logkit:13) - * saved image 8029621437573.jpg
2016-08-05 18:01:05,226 (34ec) : DEBUG (logkit:13) - * saved image 476181413225l.jpg
2016-08-05 18:01:05,236 (261c) : DEBUG (logkit:13) - * saved image 6638021414333l.jpg
2016-08-05 18:01:05,243 (3c94) : DEBUG (logkit:13) - * saved image 365894545160005.jpg
2016-08-05 18:01:05,272 (3a0c) : DEBUG (logkit:13) - * saved image 4492023ram.jpg
2016-08-05 18:01:05,272 (14a8) : DEBUG (logkit:13) - * saved image 27703224553Rick-and-Morty.jpg
2016-08-05 18:01:05,414 (41e8) : DEBUG (logkit:13) - * saved image 96179954556607l.jpg
2016-08-05 18:01:05,456 (5d4) : DEBUG (logkit:13) - * saved image 9500951419870l.jpg
2016-08-05 18:01:05,526 (3764) : DEBUG (logkit:13) - * saved image 93043454515142l.jpg
2016-08-05 18:01:05,697 (321c) : DEBUG (logkit:13) - * saved image 33697054563993l.jpg
2016-08-05 18:01:05,747 (4ac4) : DEBUG (logkit:13) - * saved image 6504281424096l.jpg
2016-08-05 18:01:05,815 (2ffc) : DEBUG (runtime:717) - Handling request GET /video/kissnetwork
2016-08-05 18:01:05,815 (2ffc) : DEBUG (runtime:814) - Found route matching /video/kissnetwork
2016-08-05 18:01:05,815 (2ffc) : DEBUG (logkit:13) - ********************************************************************************
2016-08-05 18:01:05,815 (2ffc) : DEBUG (logkit:13) - * Client.Product = Plex Web
2016-08-05 18:01:05,816 (2ffc) : DEBUG (logkit:13) - * Client.Platform = Chrome
2016-08-05 18:01:05,816 (2ffc) : DEBUG (logkit:13) - * Client.Version = 2.7.4
2016-08-05 18:01:05,816 (2ffc) : DEBUG (logkit:13) - * CFTest Previously Passed, not running again.
2016-08-05 18:01:05,816 (2ffc) : DEBUG (logkit:13) - ********************************************************************************
2016-08-05 18:01:05,816 (2ffc) : DEBUG (logkit:13) - * Checking if user is Admin
2016-08-05 18:01:05,816 (2ffc) : DEBUG (logkit:13) - * Auth URL = http://127.0.0.1:32400/myplex/account
2016-08-05 18:01:05,816 (2ffc) : ERROR (logkit:22) - * NO Plex Token available for validation
2016-08-05 18:01:05,818 (2ffc) : DEBUG (logkit:13) - * Assuming current user is Admin
2016-08-05 18:01:05,818 (2ffc) : DEBUG (logkit:13) - ********************************************************************************
2016-08-05 18:01:05,825 (2ffc) : INFO (datakit:131) - Saved the dictionary file
...........

Non-kiss hosted covers not displaying

Currently the bug prevents non-kiss thumbs from displaying. Will wait to push next release, in-case there are other issues, but will not wait too long.

Fixed in 5d9350e and will be included with next release.

Unknown additions to Bookmarks

KissNetwork (version): 1.2.7 (Dev Branch)
Plex Media Server (version): 1.2.2.2857 (PlexPass)
Operating System: QNAP
Plex Client (if applicable): Web (Chrome), Mobile (Android 6)
Description: So getting an issue where assume our manga which I did not bookmark are bring bookmarked anyway.
Logs: Copied logs just after I reset the bookmarks, waiting for the error to replicate ATM.

v1.2.8 on xbox360

1.2.8 Doesn't work on xbox360, it can't read directories/anything?
On local pc everything work.
1.2.7 works ok.

"samsung_fix" bug

Present in v1.1.0
Found a bug in the URL Service Code when accessing a video.

To Fix (until the next release) do the following:

  1. Enable Samsung Fix within KissNetwork Channel Preferences, and Save
  2. Disable Samsung Fix and Save

This will update the channels XML preference file to include the new samsung_fix section.

Time resolution too small

Startup comparing of Info.plist modified datetime with previous init_run datetime, need to remove milliseconds and maybe seconds. Code thinks there is a modification in Info.plist when there is not, and starts the check all headers() code at startup. Will fix for next version.

Empty List Error

You can close this. I did the update link and still empty list like before so I posted this issue. I've since deleted the bundle and the info in cache and data folders, and downloaded most recent bundle.zip, and it's showing me lists now.

KissNetwork 1.2.8
Plex Media Server 1.3.3.3148
Operating System Windows 7
Plex Client (if applicable)
Description: Empty lists error. 503 reported for urls.
Log files:
Logs.zip

add resume from last playback position functionality

When I playback a locally downloaded video, using Plex, it will remember the last playback position.

So if I later resume playback of that same video, Plex will ask me if I want to resume that video and allow me to playback from this last remembered playback position.

Can this be implemented for the KissNetwork plugin as well? So, if I'm watching multi-episode drama, it would be nice if it could remember the furthest episode I've ever played back and the specific playback position within this furthest episode and allow me to resume without me having to remember where I last left off.

Maybe you could a 'Resume Playback' option as it's own menu option?

Update "kissanime.to" to "kissanime.ru"

It appears that kissanime.to isn't responding to stream requests. I manually changed kissanime.to to kissanime.ru in Services/ServiceInfo.plist and Services/URL/KissVideo/ServicePrefs.json and streaming started working again. Opening kissanime.to just redirects to .ru anyway, but the redirects don't work for streams.

video unavailable

was working great (Thanks by the way)
now getting (Video Unavailable) on all streams on roku client
and
"There was a problem playing this item" on Plex Media Server

Usage issue with Windows/ChromeCast/PS4

I'm having the strangest issue and honestly after reading past issues and the FAQ I couldn't seem to find an answer.

So here's my various devices:
Windows 10 (enterprise)
OSX (latest)
PS4
ChromeCast
Nexus6 w/ Plex Client

The server is running off the Windows 10 machine.

I can:

  • Play using Plex client on android ( I can't cast to ChromeCast though)

I can't:

  • Play anywhere else either via streaming or anything, no matter which options I choose. But I can browse to my hearts content.

If however I run the server itself off OSX everything works fine; anywhere/anytime.

I've originally thought because my OSX machine is my dev machine and thus has everything under the sun installed for nodejs development that's why it was different.

In the end I made sure my windows machine was up to the same stage of support in terms of development but I'm not able to fix this.

The one error I see however when trying to play is:

vendors.d1f37e7….js:252 GET http://192.168.1.115:32400/system/services/url/lookup?url=https%3A%2F%2Fkissanime.to%2FAnime%2FAjin%2FEpisode-001%3Fid%3D121936 404 (Not Found)

It seems that url breaks everything on the clients that don't work. If there's anything else I can provide let me know. I'm also knew to use Plex so if extra logging is required let me know (if you would be so kind) as to where that is.

Really loving this channel! So far I'm keeping my laptop open to use it but would prefer to use the desktop instead.

This channel is not responding

I keep getting the error message "This channel is not responding" when loading search or any letter under alphabets. I installed the master one that was listed in the read me after the link in the main page failed to show up under the channels list. I am running win 10, also got errors when trying to pull up content on plex app on Roku 3. I do not know where the error logs are saved, so alas, I have no log for you.

Channel not appearing

Hello, pretty novice linux user and would really like to see this working but haven't seen anyone else having the same issue as me so I'm not sure whats going on.

First I tried installing kissnetwork using the Webtools v2 and restarted plex but nothing shows up under the channel. So I uninstalled it from webtools and manually installed it, but it still never appears under the channels. The file pathing seems correct, in the Plug-ins/KissNetwork.bundle/Contents format. I checked the file permission and they're set as the same as the other channels that seems to work. I have other channels that appear from the plex web browser correctly. Any advice would be appreciated.

I thought I might've been a java issue but attempting to install python tells me python is already the newest version. I attached the log for plugins here as well

com.plexapp.plugins.kissnetwork.txt

does not work KissNetwork

not stable when will be released an update to fix that 2016 and came out a version but not the stable maintenance delen to work in the plex bundle

Folders Are Empty

I got an error when trying to play videos, when I went on plex on my computer every folder was empty... I reinstalled it but it is still empty

Search does not work, Channel is not responding.

plugin log:

2016-05-31 00:37:42,666 (7f8890ff9700) :  DEBUG (runtime:717) - Handling request GET /video/kissnetwork
2016-05-31 00:37:42,670 (7f8890ff9700) :  DEBUG (runtime:814) - Found route matching /video/kissnetwork
2016-05-31 00:37:42,671 (7f8890ff9700) :  DEBUG (__init__:132) - ********************************************************************************
2016-05-31 00:37:42,672 (7f8890ff9700) :  DEBUG (__init__:133) - * Client.Product         = Plex Web
2016-05-31 00:37:42,673 (7f8890ff9700) :  DEBUG (__init__:134) - * Client.Platform        = Opera
2016-05-31 00:37:42,674 (7f8890ff9700) :  DEBUG (__init__:135) - * Client.Version         = 2.6.1
2016-05-31 00:37:42,675 (7f8890ff9700) :  DEBUG (DevTools:441) - * CFTest Previously Passed, not running again.
2016-05-31 00:37:42,676 (7f8890ff9700) :  DEBUG (AuthTools:12) - ********************************************************************************
2016-05-31 00:37:42,677 (7f8890ff9700) :  DEBUG (AuthTools:13) - * Checking if user is Admin
2016-05-31 00:37:42,678 (7f8890ff9700) :  DEBUG (AuthTools:14) - * Auth URL   = http://127.0.0.1:32400/myplex/account
2016-05-31 00:37:42,678 (7f8890ff9700) :  DEBUG (AuthTools:23) - * Plex Token is available for validation
2016-05-31 00:37:42,683 (7f8890ff9700) :  DEBUG (AuthTools:28) - * Current User is Admin
2016-05-31 00:37:42,684 (7f8890ff9700) :  DEBUG (AuthTools:29) - ********************************************************************************
2016-05-31 00:37:42,689 (7f8890ff9700) :  INFO (datakit:131) - Saved the dictionary file
2016-05-31 00:37:42,691 (7f8890ff9700) :  DEBUG (networking:161) - Fetching 'https://api.github.com/repos/Twoure/KissNetwork.bundle/releases/latest' from the HTTP cache
2016-05-31 00:37:42,694 (7f8890ff9700) :  DEBUG (base:117) - Checking if com.plexapp.plugins.kissnetwork is broken
2016-05-31 00:37:42,694 (7f8890ff9700) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzEKY29tLnBsZXhhcHAucGx1Z2lucy5raXNzbmV0d29ya3MxMAppZGVudGlmaWVycjAK'
2016-05-31 00:37:42,703 (7f8890ff9700) :  DEBUG (runtime:88) - Sending packed state data (112 bytes)
2016-05-31 00:37:42,703 (7f8890ff9700) :  DEBUG (runtime:924) - Response: [200] MediaContainer, 2985 bytes
2016-05-31 00:37:48,001 (7f8890ff9700) :  DEBUG (runtime:717) - Handling request GET /video/kissnetwork
2016-05-31 00:37:48,005 (7f8890ff9700) :  DEBUG (runtime:814) - Found route matching /video/kissnetwork
2016-05-31 00:37:48,007 (7f8890ff9700) :  DEBUG (__init__:132) - ********************************************************************************
2016-05-31 00:37:48,007 (7f8890ff9700) :  DEBUG (__init__:133) - * Client.Product         = Plex Web
2016-05-31 00:37:48,008 (7f8890ff9700) :  DEBUG (__init__:134) - * Client.Platform        = Opera
2016-05-31 00:37:48,009 (7f8890ff9700) :  DEBUG (__init__:135) - * Client.Version         = 2.6.1
2016-05-31 00:37:48,010 (7f8890ff9700) :  DEBUG (DevTools:441) - * CFTest Previously Passed, not running again.
2016-05-31 00:37:48,011 (7f8890ff9700) :  DEBUG (AuthTools:12) - ********************************************************************************
2016-05-31 00:37:48,012 (7f8890ff9700) :  DEBUG (AuthTools:13) - * Checking if user is Admin
2016-05-31 00:37:48,012 (7f8890ff9700) :  DEBUG (AuthTools:14) - * Auth URL   = http://127.0.0.1:32400/myplex/account
2016-05-31 00:37:48,013 (7f8890ff9700) :  DEBUG (AuthTools:23) - * Plex Token is available for validation
2016-05-31 00:37:48,019 (7f8890ff9700) :  DEBUG (AuthTools:28) - * Current User is Admin
2016-05-31 00:37:48,019 (7f8890ff9700) :  DEBUG (AuthTools:29) - ********************************************************************************
2016-05-31 00:37:48,025 (7f8890ff9700) :  INFO (datakit:131) - Saved the dictionary file
2016-05-31 00:37:48,027 (7f8890ff9700) :  DEBUG (networking:161) - Fetching 'https://api.github.com/repos/Twoure/KissNetwork.bundle/releases/latest' from the HTTP cache
2016-05-31 00:37:48,029 (7f8890ff9700) :  DEBUG (base:117) - Checking if com.plexapp.plugins.kissnetwork is broken
2016-05-31 00:37:48,029 (7f8890ff9700) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzEKY29tLnBsZXhhcHAucGx1Z2lucy5raXNzbmV0d29ya3MxMAppZGVudGlmaWVycjAK'
2016-05-31 00:37:48,038 (7f8890ff9700) :  DEBUG (runtime:88) - Sending packed state data (112 bytes)
2016-05-31 00:37:48,039 (7f8890ff9700) :  DEBUG (runtime:924) - Response: [200] MediaContainer, 2985 bytes
2016-05-31 00:37:48,145 (7f8890ff9700) :  DEBUG (runtime:717) - Handling request GET /video/kissnetwork/search?query=Haifuri
2016-05-31 00:37:48,149 (7f8890ff9700) :  DEBUG (runtime:814) - Found route matching /video/kissnetwork/search
2016-05-31 00:37:48,154 (7f8890ff9700) :  DEBUG (rhtml:33) - * Caching URL
2016-05-31 00:37:48,155 (7f8890ff9700) :  DEBUG (headers:73) - * URL to get headers = https://kissanime.to/Search/Anime?keyword=Haifuri
2016-05-31 00:37:48,156 (7f8890ff9700) :  DEBUG (headers:153) - * header dict file location >>
2016-05-31 00:37:48,157 (7f8890ff9700) :  DEBUG (headers:154) - * /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Data/com.plexapp.plugins.kissnetwork/Header_Dict
2016-05-31 00:37:48,157 (7f8890ff9700) :  DEBUG (headers:157) - * loading header dict in json format
2016-05-31 00:37:48,160 (7f8890ff9700) :  DEBUG (headers:118) - * Time left until Anime cookies need to be updated = 19:57:33.911766
2016-05-31 00:37:48,161 (7f8890ff9700) :  DEBUG (headers:130) - * Header for https://kissanime.to Loaded >>
2016-05-31 00:37:48,162 (7f8890ff9700) :  DEBUG (headers:131) - * {'referer': u'https://kissanime.to', 'cookie': u'cf_clearance=1a6e5687147c7759e9f27ba161431610613354a0-1464626118-86400; __cfduid=d023f07ed1dc04bf169b7035ebad9a2df1464626113', 'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
2016-05-31 00:37:48,163 (7f8890ff9700) :  DEBUG (headers:132) - ********************************************************************************
2016-05-31 00:37:49,020 (7f8890ff9700) :  ERROR (rhtml:45) - * get_element_from_url Error: HTTP 503 Site Error. Refreshing site cookies
2016-05-31 00:37:49,021 (7f8890ff9700) :  DEBUG (headers:73) - * URL to get headers = https://kissanime.to/Search/Anime?keyword=Haifuri
2016-05-31 00:37:49,022 (7f8890ff9700) :  DEBUG (headers:153) - * header dict file location >>
2016-05-31 00:37:49,023 (7f8890ff9700) :  DEBUG (headers:154) - * /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Data/com.plexapp.plugins.kissnetwork/Header_Dict
2016-05-31 00:37:49,023 (7f8890ff9700) :  DEBUG (headers:157) - * loading header dict in json format
2016-05-31 00:37:49,025 (7f8890ff9700) :  DEBUG (headers:103) - * Time to update Anime cookies
2016-05-31 00:37:56,848 (7f8890ff9700) :  DEBUG (headers:111) - * Updated Anime Header to >>
2016-05-31 00:37:56,848 (7f8890ff9700) :  DEBUG (headers:112) - * {'date': '2016-05-31 00:37:56.847825', 'referer': u'https://kissanime.to', 'cookie': 'cf_clearance=749dd34d4fc9389502782e4e43b4328d64c70c77-1464626274-86400; __cfduid=db7246f018a0d59d7ef7a39e8d405339e1464626269', 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
2016-05-31 00:37:56,849 (7f8890ff9700) :  DEBUG (headers:140) - * Saving Header to file
2016-05-31 00:37:56,851 (7f8890ff9700) :  DEBUG (headers:145) - * Header Dictionary file has been saved
2016-05-31 00:37:56,851 (7f8890ff9700) :  DEBUG (headers:116) - * New Cookies saved for https://kissanime.to Header
2016-05-31 00:37:56,851 (7f8890ff9700) :  DEBUG (headers:130) - * Header for https://kissanime.to Loaded >>
2016-05-31 00:37:56,852 (7f8890ff9700) :  DEBUG (headers:131) - * {'referer': u'https://kissanime.to', 'cookie': 'cf_clearance=749dd34d4fc9389502782e4e43b4328d64c70c77-1464626274-86400; __cfduid=db7246f018a0d59d7ef7a39e8d405339e1464626269', 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
2016-05-31 00:37:56,852 (7f8890ff9700) :  DEBUG (headers:132) - ********************************************************************************
2016-05-31 00:37:56,853 (7f8890ff9700) :  DEBUG (headers:73) - * URL to get headers = https://kissanime.to/Search/Anime?keyword=Haifuri
2016-05-31 00:37:56,853 (7f8890ff9700) :  DEBUG (headers:153) - * header dict file location >>
2016-05-31 00:37:56,854 (7f8890ff9700) :  DEBUG (headers:154) - * /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Data/com.plexapp.plugins.kissnetwork/Header_Dict
2016-05-31 00:37:56,854 (7f8890ff9700) :  DEBUG (headers:157) - * loading header dict in json format
2016-05-31 00:37:56,855 (7f8890ff9700) :  DEBUG (headers:118) - * Time left until Anime cookies need to be updated = 19:59:59.994098
2016-05-31 00:37:56,855 (7f8890ff9700) :  DEBUG (headers:130) - * Header for https://kissanime.to Loaded >>
2016-05-31 00:37:56,856 (7f8890ff9700) :  DEBUG (headers:131) - * {'referer': u'https://kissanime.to', 'cookie': u'cf_clearance=749dd34d4fc9389502782e4e43b4328d64c70c77-1464626274-86400; __cfduid=db7246f018a0d59d7ef7a39e8d405339e1464626269', 'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
2016-05-31 00:37:56,856 (7f8890ff9700) :  DEBUG (headers:132) - ********************************************************************************
2016-05-31 00:37:57,595 (7f8890ff9700) :  ERROR (rhtml:45) - * get_element_from_url Error: HTTP 503 Site Error. Refreshing site cookies
2016-05-31 00:37:57,596 (7f8890ff9700) :  DEBUG (headers:73) - * URL to get headers = https://kissanime.to/Search/Anime?keyword=Haifuri
2016-05-31 00:37:57,597 (7f8890ff9700) :  DEBUG (headers:153) - * header dict file location >>
2016-05-31 00:37:57,598 (7f8890ff9700) :  DEBUG (headers:154) - * /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Data/com.plexapp.plugins.kissnetwork/Header_Dict
2016-05-31 00:37:57,598 (7f8890ff9700) :  DEBUG (headers:157) - * loading header dict in json format
2016-05-31 00:37:57,601 (7f8890ff9700) :  DEBUG (headers:103) - * Time to update Anime cookies
2016-05-31 00:38:04,279 (7f8890ff9700) :  DEBUG (headers:111) - * Updated Anime Header to >>
2016-05-31 00:38:04,280 (7f8890ff9700) :  DEBUG (headers:112) - * {'date': '2016-05-31 00:38:04.279497', 'referer': u'https://kissanime.to', 'cookie': 'cf_clearance=b964901ee18b73b4b27b248e373f60f87d7972f9-1464626282-86400; __cfduid=d0f987e8504aaa71c2559824072cb51ac1464626277', 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
2016-05-31 00:38:04,281 (7f8890ff9700) :  DEBUG (headers:140) - * Saving Header to file
2016-05-31 00:38:04,283 (7f8890ff9700) :  DEBUG (headers:145) - * Header Dictionary file has been saved
2016-05-31 00:38:04,283 (7f8890ff9700) :  DEBUG (headers:116) - * New Cookies saved for https://kissanime.to Header
2016-05-31 00:38:04,284 (7f8890ff9700) :  DEBUG (headers:130) - * Header for https://kissanime.to Loaded >>
2016-05-31 00:38:04,285 (7f8890ff9700) :  DEBUG (headers:131) - * {'referer': u'https://kissanime.to', 'cookie': 'cf_clearance=b964901ee18b73b4b27b248e373f60f87d7972f9-1464626282-86400; __cfduid=d0f987e8504aaa71c2559824072cb51ac1464626277', 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
2016-05-31 00:38:04,286 (7f8890ff9700) :  DEBUG (headers:132) - ********************************************************************************
2016-05-31 00:38:04,286 (7f8890ff9700) :  DEBUG (headers:73) - * URL to get headers = https://kissanime.to/Search/Anime?keyword=Haifuri
2016-05-31 00:38:04,287 (7f8890ff9700) :  DEBUG (headers:153) - * header dict file location >>
2016-05-31 00:38:04,288 (7f8890ff9700) :  DEBUG (headers:154) - * /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Data/com.plexapp.plugins.kissnetwork/Header_Dict
2016-05-31 00:38:04,289 (7f8890ff9700) :  DEBUG (headers:157) - * loading header dict in json format
2016-05-31 00:38:04,290 (7f8890ff9700) :  DEBUG (headers:118) - * Time left until Anime cookies need to be updated = 19:59:59.991748
2016-05-31 00:38:04,290 (7f8890ff9700) :  DEBUG (headers:130) - * Header for https://kissanime.to Loaded >>
2016-05-31 00:38:04,291 (7f8890ff9700) :  DEBUG (headers:131) - * {'referer': u'https://kissanime.to', 'cookie': u'cf_clearance=b964901ee18b73b4b27b248e373f60f87d7972f9-1464626282-86400; __cfduid=d0f987e8504aaa71c2559824072cb51ac1464626277', 'user-agent': u'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
2016-05-31 00:38:04,291 (7f8890ff9700) :  DEBUG (headers:132) - ********************************************************************************
2016-05-31 00:38:05,092 (7f8890ff9700) :  ERROR (rhtml:45) - * get_element_from_url Error: HTTP 503 Site Error. Refreshing site cookies
2016-05-31 00:38:05,092 (7f8890ff9700) :  ERROR (rhtml:51) - * get_element_from_url Error: HTTP 503 Site error, tried refreshing cookies but that did not fix the issue
2016-05-31 00:38:05,095 (7f8890ff9700) :  DEBUG (rhtml:28) - * Reading URL from Cache
2016-05-31 00:38:05,100 (7f8890ff9700) :  DEBUG (rhtml:28) - * Reading URL from Cache
2016-05-31 00:38:05,103 (7f8890ff9700) :  DEBUG (rhtml:28) - * Reading URL from Cache
2016-05-31 00:38:05,105 (7f8890ff9700) :  DEBUG (rhtml:28) - * Reading URL from Cache
2016-05-31 00:38:05,108 (7f8890ff9700) :  DEBUG (runtime:88) - Sending packed state data (112 bytes)
2016-05-31 00:38:05,108 (7f8890ff9700) :  DEBUG (runtime:924) - Response: [200] MessageContainer, 233 bytes

search functionality

there's a lot of content. Would be nice if I could search content. For instance, I wanted to watch ReLife repisode 3 again, and I had to select alphabets, R, and then wade through several pages.

Would have loved to be able to just search for ReLife somewhere

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.