per page, with , order by , clip by
Results of 1 - 1 of about 98 for keyserver (0.003 sec.)
readme.org
#score: 12976
@digest: 2ac1bf20e6299025d9337b29ce00a6dc
@id: 124318
@mdate: 2016-12-31T03:08:02Z
@size: 179599
@type: text/html
#keywords: genshiken (246650), nonfree (8332), software (6888), malware (6670), website (6214), install (5383), freedom (4493), center (4402), dependencies (4347), drm (4141), learn (3891), echo (3794), video (3718), resource (3643), execute (3511), media (3509), installed (3268), control (3239), html (3157), already (3145), you (2934), begin (2781), download (2762), computer (2712), sources (2613), proprietary (2523), license (2511), windows (2495), free (2371), order (2358), style (2352), required (2328)
# -*- Mode: Org -*- #+TITLE: Genshiken - The free video downloader/streaming client #+AUTHOR: Michael Pagan #+EMAIL: mailto:michael.pagan@member.fsf.org #+DATE: 2016-12-30 Fri #+LANGUAGE: en #+MACRO: proper Genshiken #+MACRO: system genshiken #+MACRO: version 0.5.2 #+MACRO: homepage http://www.nongnu.org/genshiken/ #+MACRO: gpg-key-id 71B46D72 #+MACRO: fingerprint B942 AD12 82B1 6D14 27A0 86AE 119E 451E 71B4 6D72 #+MACRO: JID pegzmasta@member.fsf.org #+MACRO: mailing-list mailto:genshiken-users@nongnu.org #+MACRO: price no price; the official distribution is gratis. #+MACRO: updated {{{time(%B)}}} {{{time(%d)}}}, {{{time(%Y)}}} at {{{time(%T)}}} #+MACRO: bgcolor @@html:<div style="background-color: $1;">$2</div>@@ #+MACRO: bgcolor-bld @@html:<b><div style="background-color: $1;">$2</div></b>@@ #+MACRO: emphasize @@html:<b><center><div style="background-color: $1; color: $2;">$3</div></center></b>@@ #+MACRO: txt-url @@html:<a href="$1" $2>$3</a>@@ #+MACRO: img-url-1 @@html:<img alt="$1" title="$2" style="$3" src="$4" width="$5" align="right"/></a>@@ #+MACRO: img-url-2 @@html:<a href="$1" title="$2"><img alt="$3" src="$4" align="right" width="$5" /></a>@@ #+MACRO: copyleft @@html:<b><center><div style="background-color: $1;">Copyleft <span class="copy-left">&copy;</span><span>$2</span></div></center></b>@@ #+MACRO: show-org @@html:<div id="show_source"><input value="Show Org source" onclick="show_org_source()" type="button"/>@@ #+PROPERTY: header-args:bash :session *bash* #+PROPERTY: header-args :results silent :eval no-export #+OPTIONS: tags:nil toc:1 html-postamble:nil #+STARTUP: showeverything logdone inlineimages #+HTML_HEAD: <link rel="stylesheet" type="text/css" href="webdesignerwall.css" /> #+HTML_LINK_HOME: https://savannah.nongnu.org/projects/genshiken/ #+INFOJS_OPT: view:info #+BEGIN_COMMENT ============================================================================================== Please take note of the following: ---------------------------------------------------------------------------------------------- YOU DON'T HAVE TO READ ALL OF THIS!! :-) THE MOST IMPORTANT THING TO READ IN THESE COMMENTS IS POINT #1 IN THE BELOW ORDERED LIST. THIS IS AN ASCII TEXT FILE. YOU MAY VIEW IT WITH ANY TEXT EDITOR OR PAGER THAT YOU WISH; HOWEVER, IF YOU WISH TO REAP ALL THE BENEFITS OF ORG MODE (E.G. CODE EVALUATION, EXTERNAL LINKS, INLINE IMAGES, OUTLINE NAVIGATION, SYNTAX HIGHLIGHTING, ETC.), THEN I WOULD SUGGEST THAT YOU OPEN THIS FILE INSIDE OF GNU EMACS AS INTENDED. /EMACS PINKY/ IS A MERE FALLACY PERPETUATED BY THE MYTH THAT YOU MUST MEMORIZE A VOLUMINOUS AMOUNT OF ARCANE COMMANDS AND MAKE USE OF EXCESSIVE KEYBINDINGS. IT IS THESE VERY KEYBINDINGS THAT ALLOWS US TO SAVE KEYSTROKES, AND TIME; THUS, IT'S AN INVESTMENT-- NOT A DANGER! ALSO, KEYS THAT YOU FEEL WILL BE USED REPETIVELY CAN BE RE-MAPPED TO A KEY ON THE HOME ROW; THUS, THE ARGUMENT THAT EMACS CAUSES REPETITIVE STRESS INJURY SIMPLY FALLS FLAT ON ITS FACE-- SORRY! PERSONALLY, I'VE BINDED THE <L-CTRL> KEY TO <CAPS-LOCK> AND... MY PINKY IS JUST FINE :-) IF YOU KNOW NOTHING OF EMACS, OR EVEN ORG MODE: PLEASE READ THE ASSOCIATED DOCUMENTATION FIRST! IN EMACS, EXECUTE ~C-h r~ FOR THE GNU EMACS MANUAL; ~M-x org-info~ , FOR ORG MODE. ---------------------------------------------------------------------------------------------- 1. You may skip all of this fluff and jump straight to the first headline of this readme's outline: + Emacs Users -- Enter the command ~C-c C-n~ + Everyone else -- Scroll to line 281 - If you're editor does NOT support line numbering, then go to the first line whose first character is an asterisk (*). 2. For those of you who are curious about what a =readme= file should contain: + First and foremost: A readme should be simple enough for anyone to understand, and short enough to keep their interest and answer all of their basic questions. + I wrote this file in Org mode so that you can easily view this information-- whether it's online, or offline. - If you are in Org mode now, then you can easily navigate through this document's outline structure by utilizing the below common commands. + org-cycle ( ~<TAB>~ ) :: Rotate current subtree among 3 states + global-org-cycle ( ~S-<TAB>~ ) :: Rotate the entire buffer among 3 states + org-open-at-point ( ~C-c C-o~ ) :: Push position onto mark ring and follow link at point + org-mark-ring-goto ( ~C-c &~ ) :: Jump to the original position in the mark ring + org-next-link ( ~C-c C-x C-n~ ) :: Move forward to the next link + org-previous-link ( ~C-c C-x C-p~ ) :: Move backward to the previous link + org-next-visible-heading ( ~C-c C-n~ ) :: Move to the next visible heading + org-previous-visible-heading ( ~C-c C-p~ ) :: Move to the previous visible heading + outline-up-heading ( ~C-c C-u~ ) :: Move to the visible heading line of which the present line is a subheading + isearch-forward ( ~C-s~ ) :: Do an incremental search forward + isearch-backward ( ~C-r~ ) :: Do an incremental search backward - The keybinding ~C-c C-c~ on a footnote, follows that footnote; on a checkbox, changes the state of that checkbox. + This file attempts to retain a common standard between most =readme= files: 1) What is it? - A brief statement explaining what it is - An image may be provided to illustrate the software - A thorough description - A list of basic features 2) Basic Requirements - Special Hardware - Operating System - Software Dependencies 3) Where can I get a copy? - How to get the main executable or software package - Location of the software repository used by the developer + Without access to the source code, users are NOT able to control their software 4) What is included? - A brief explanation of what comes with the Software - A =MANIFEST= file is ideal; a listing of files, with descriptions 5) How do I install it? - Provide one of the following: + A HOWTO; a step-by-step install guide (If extensive, then include an =INSTALL= file) + All avialable installation commands 6) Getting Started - Explain how to run the software - Provide an easy reference, or quickstart guide 7) Documentation - Help commands - Manuals - Tutorials 8) Feedback - Development Resources + FAQ :: Frequently Asked Questions + Educational Resources :: Pre-requisite HOWTO's, Primers, or Manuals for hackers + Latest Changes :: A ChangeLog will suffice + ReleaseNotes :: A NEWS file will suffice + Bug reports :: Where to send bug reports + Troubleshooting - Freedom #1 of the Free Software Definition should be practical; NOT theoretical + Give users the freedom to fix bugs themselves + A hacking file should be included, teaching the user how to modify the program + Standard conventions should be conveyed to allow for consistency between contributions - There should be an available resource for reporting bugs found in the software - In essence: This section should teach them how to support themselves. Cooperation is the key! - Contact Information :: Allow feedback for technical support and inquiries + Private Contacts :: Direct questions not pertaining to the software, but are related, to the developers + Public Discussions :: A mailing-list or forum should be provided to document software use, and public inquiry 9) Licensing for any free binary or non-text files, where it isn't practical to open the file in a text editor 10) Copyright Notice and License Notice for all files that are part of the software 3. For those who are curious about the JavaScript inside the HTML element blocks: + This Org document can be converted to a variety of supported formats, like HTML. + The HTML conversion of this file makes up this project's homepage. - The Project Homepage is: http://www.nongnu.org/genshiken/ + They contain either a free software license, and/or functions for operating the "Show Org source" button on HTML export. + These HTML elements are strategically placed in this file, in order to satisfy the criterion for detection of browser-side scripts by GNU LibreJS. - You may learn about how to free browser-side scripts, like JavaScript, at the following URL: http://www.gnu.org/software/librejs/free-your-javascript.html 4. This software relies heavily on software from the GNU Project. Learn more about the GNU Project here: https://www.gnu.org/software/ 5. Happy Hacking! , , / \ ((__-^^-,-^^-__)) `-_---' `---_-' `--|o` 'o|--' \ ` / ): :( :o_o: "-" ============================================================================================== #+END_COMMENT #+COMMENT: Required for GNU LibreJS. Now, the JavaScript will be detected as free software! #+HTML_HEAD_EXTRA:<script> #+HTML_HEAD_EXTRA:/** @licstart The following is the entire license notice for the #+HTML_HEAD_EXTRA: * JavaScript code in this page #+HTML_HEAD_EXTRA: * #+HTML_HEAD_EXTRA: * # Copyright © 2015 www.nongnu.org/genshiken/ #+HTML_HEAD_EXTRA: * #+HTML_HEAD_EXTRA: * The JavaScript code in this page is free software: you can #+HTML_HEAD_EXTRA: * redistribute it and/or modify it under the terms of the GNU #+HTML_HEAD_EXTRA: * General Public License (GNU GPL) as published by the Free Software #+HTML_HEAD_EXTRA: * Foundation, either version 3 of the License, or (at your option) #+HTML_HEAD_EXTRA: * any later version. The code is distributed WITHOUT ANY WARRANTY; #+HTML_HEAD_EXTRA: * without even the implied warranty of MERCHANTABILITY or FITNESS #+HTML_HEAD_EXTRA: * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. #+HTML_HEAD_EXTRA: * #+HTML_HEAD_EXTRA: * As additional permission under GNU GPL version 3 section 7, you #+HTML_HEAD_EXTRA: * may distribute non-source (e.g., minimized or compacted) forms of #+HTML_HEAD_EXTRA: * that code without the copy of the GNU GPL normally required by #+HTML_HEAD_EXTRA: * section 4, provided you include this license notice and a URL #+HTML_HEAD_EXTRA: * through which recipients can access the Corresponding Source. #+HTML_HEAD_EXTRA: * #+HTML_HEAD_EXTRA: * @licend The above is the entire license notice #+HTML_HEAD_EXTRA: * for the JavaScript code in this page. #+HTML_HEAD_EXTRA: */ #+HTML_HEAD_EXTRA:</script> #+COMMENT: Required in order to operate the "Show Org source" button on the Project Homepage #+BEGIN_HTML <script> /* @licstart The following is the entire license notice for the JavaScript code in this tag. Copyright (C) 2012-2013 Free Software Foundation, Inc. The JavaScript code in this tag is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (GNU GPL) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The code is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. As additional permission under GNU GPL version 3 section 7, you may distribute non-source (e.g., minimized or compacted) forms of that code without the copy of the GNU GPL normally required by section 4, provided you include this license notice and a URL through which recipients can access the Corresponding Source. @licend The above is the entire license notice for the JavaScript code in this tag. */ <!--/*--><![CDATA[/*><!--*/ function show_org_source() { document.location.pathname += "index.org.html"; } /*]]>*///--> </script> #+END_HTML #+COMMENT: Copied from < https://gist.github.com/JGallardo/6077195 > #+BEGIN_HTML <style> .copy-left { display: inline-block; text-align: right; margin: 0; -moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH"; } </style> #+END_HTML #+COMMENT: Common links you'll find in this document are... #+LINK: org-appearance http://orgmode.org/worg/org-tutorials/org-appearance.html #+LINK: org-document-title http://doc.endlessparentheses.com/Face/org-document-title.html #+LINK: watchcartoononline http://www.watchcartoononline.com/ #+LINK: project-dev https://savannah.nongnu.org/projects/genshiken/ #+LINK: atom-feed https://savannah.nongnu.org/news/atom.php?group=genshiken #+LINK: source-code http://cvs.savannah.nongnu.org/viewvc/?root=genshiken #+LINK: download https://savannah.nongnu.org/files/?group=genshiken #+LINK: bug-report https://savannah.nongnu.org/bugs/?func=additem&group=genshiken #+LINK: command-line http://en.flossmanuals.net/command-line/ #+LINK: GPL http://www.gnu.org/licenses/gpl.txt #+LINK: emacs http://www.gnu.org/software/emacs/ #+LINK: GNU/Linux-Libre http://www.gnu.org/distros/free-distros.html #+LINK: mailing-list https://lists.nongnu.org/mailman/listinfo/genshiken-users #+LINK: open-source https://www.gnu.org/philosophy/open-source-misses-the-point.html #+LINK: free-software https://www.fsf.org/about/what-is-free-software ----- #+COMMENT: Pay no heed to this section if you are in Org mode #+BEGIN_CENTER {{{bgcolor-bld(cyan, For those who wish to learn about Genshiken: Review this file!)}}} #+END_CENTER *Please Note:* {{{bgcolor(#E0E0E0, Each page\, if viewing this document online\, is programmed to behave like an info buffer.)}}} {{{bgcolor(#E0E0E0, Enter `?` to learn the keybindings for navigating this website.)}}} + This file is best seen under GNU Emacs . - The /Org mode/ version of this =readme= is the source for this document + Once you've followed the instructions in Section 3, you will have a copy of the =readme= files + If you prefer to view the same information from within /GNU Emacs/ , then you may download the =readme.org= file from *CVS* . - ~wget -O readme.org http://cvs.savannah.gnu.org/viewvc/*checkout*/genshiken/share/doc/genshiken/readme.org?root=genshiken ~ - You may use the file =readme.org= as a Transparent copy of this document, in order to create similar documents. When doing so, you must follow the terms of the /GNU Free Documentation/ license. + All single character keyboard commands, such as: ~b~ , ~g~ , ~n~ , ~p~ , or ~v~ are designed for the HTML version of this =readme= . If you encounter them in non-HTML versions: *IGNORE IT* + Code blocks labeled as *REQUIRED* are necessary in order to get *Genshiken* up and running + Everything else is *OPTIONAL* + All code blocks can be executed in GNU Emacs , from within the =readme.org= file - Place point on the code block and enter: ~C-c C-c~ {{{bgcolor(#E0E0E0, To view the source code for this website\, if in GNU IceCat\, Enter: `C-c u`.)}}} {{{bgcolor(#E0E0E0, To view the corresponding source code used to create this website\, click the "Show Org source" button at the bottom of this page.)}}} #+CAPTION: Learn about {{{title}}} #+ATTR_HTML: :alt genshiken-logo :title Grinding the gears, to get your videos working! :style color:red; :align center file:../../icons/hicolor/128x128/apps/sos-gear.png /Last modified on {{{updated}}} / ----- #+COMMENT: This is my custom postamble {{{img-url-2(http://orgmode.org, Org mode,Org mode unicorn logo,http://orgmode.org/img/org-mode-unicorn-logo-worg.png,17%)}}} {{{img-url-2(https://www.fsf.org/about/what-is-free-software,What is Free Software?,TEDxGeneva Presentation,img/fsf-wh.jpg,11%)}}} {{{img-url-2(https://www.gnu.org/software/emacs/,GNU Emacs,Emacs,img/crtemacs.jpg,12%)}}} {{{show-org}}} *Learn more about this website:* View the HTML sources ; Validate HTML ; {{{txt-url(/genshiken/about/javascript.html,rel="jslicense",JavaScript License Information)}}} #+HTML: </div> {{{copyleft(#E0E0E0, 2015-2016 Michael Pagan)}}} #+HTML: <div style="background-color: orange;"> {{{img-url-1(Free Documentation\, for free software,Free Documentation License,border-width:0,http://www.gnu.org/graphics/gfdl-logo-small.png,22%)}}} This website is licensed under the {{{txt-url(https://www.gnu.org/licenses/fdl.html,rel="license",GNU Free Documentation License)}}} . Based on a work at {{{txt-url(http://cvs.savannah.gnu.org/viewvc/?root=genshiken,xmlns:dct="http://purl.org/dc/terms/" rel="dct:source",cvs.savannah.gnu.org)}}} , with the /Invariant Sections/ being just " *What is the purpose of Genshiken?* " Code blocks are licensed under the {{{txt-url(http://www.gnu.org/licenses/gpl.html,,GNU General Public License v3\, or later)}}} . #+HTML: </div> * COMMENT Customize Org mode 1. To customize the appearance of /Org mode/ , study org-appearance . - To customize the aforementioned variables, enter: ~M-x customize <RET>~ , enter the name of the variable in the search bar, and modify the settings in the *Customize Apropos* menu. - Make your title stand-out with org-document-title . =1.3= is a decent value for height. * What is it? :readme: #+ATTR_HTML: :alt Fenice-using-the-command-line :title Focus on the command-line! :style color:red; file:../../icons/hicolor/512x512/apps/using-genshiken-big.png ----- *Genshiken* is a /bash(1)/ [fn:1] script designed to fetch embedded video/image links on a website, parse them for a valid URL [fn:2] , and then sends the URL as an argument [fn:3] to either: /GNU Wget/ ; a media player; or an image viewer. The idea is to read websites like a playlist of videos. ----- #+HTML: <br /> #+COMMENT: New to Org mode? These Macros are defined at the top of this readme. + In this documentation: - The proper name for this software is * {{{proper}}} * - The system name for this software is * {{{system}}} * - The current version is * {{{version}}} * - This copy of * {{{proper}}} * comes with {{{price}}} - *Ps* + Although I, {{{author}}} , am the author... :: \\ I don't claim ownership of * {{{proper}}} * , because the practice of /monopolizing ideas/ is simply preposterous when one understands that your freedom needs free software ; thus, I decided this software should be free ; thus, you are *free* to _control this software_ ; and finally, that's why this software is called: / {{{title}}} / ! ** What is the purpose of Genshiken? #+CAPTION: Art by [[http://legosz.deviantart.com/][:legosz:]] #+ATTR_HTML: :alt I believe in... :style color:red; :align center :width 60% http://orig03.deviantart.net/eb9a/f/2011/065/f/8/gnu_linux_by_legosz-d3b21cu.jpg #+COMMENT: Commands within equal marks are for the HTML version of this readme There is a bit of philosophy behind why *Genshiken* was created. I will explain the reason why *Genshiken* is /free software/ , and why you deserve to use it in freedom. If you are new to /free software/ and the idea of sharing knowledge, data, or software appears alien to you, then I would suggest you study the forthcoming links and footnotes to gain a better understanding. Most references link back to < http://www.fsf.org/ > . I have quite a bit to say, so if you're not interested in reading my essay-- which is what this subsection comprises of-- then enter ~g 1.2 <RET>~ or press ~N~ (not ~n~ , unless you are in ~Info-mode~ ) on your keyboard to move on. *** Without software freedom, we can't control how we access our data! #+ATTR_HTML: :alt We demand software freedom now :style color:red; :align center http://static.fsf.org/nosvn/working/w/large/unknown-pleasures.png Most websites load media files using proprietary software (a.k.a. nonfree software ), and distribute said media in proprietary formats-- all of which restrict the user's freedom. According to *John Sullivan* , /Executive Director/ of the *FSF [fn:4] * : =When software is proprietary, that means that some company claims ownership of it, and through that= =ownership claim, imposes restrictions on users as to how they can or can't use the software.= People who commonly use /nonfree software/ may even feel like there is nothing wrong with using YouTube -- the consequence, being your dependence on software which actively restricts you. Although there exists /nonfree software/ in YouTube, a tech-savvy user can still view the media using /free software/ like =youtube-dl= . Who knows how long this may be true, for Google constantly changes the way videos are distributed on YouTube-- the same way Microsoft keeps changing Word format . *DRM* [fn:5] streaming dis-services, however, are different. Streaming dis-services, such as Netflix, Pandora, Spotify, and iTunes, implement DRM which actively prevents you from viewing media files with /free software/ , and from sharing _your copies_ of media that you purchased. Some companies, like Amazon [fn:6] , even consider this malware to be a desirable /feature/ . As the *FSF* has already identified: =the initial injustice of proprietary software often leads to further injustices: malicious functionalities.= *DRM* is a visible type of malware that proprietary software companies expect users to tolerate. I only bring this up, because my software is the direct opposite of theirs in terms of ethics and purpose: One implements *DRM* , while the other does not; one restricts/ensnares the user, while the other frees/liberates the user; one enforces dependence and subjugation, while the other encourages development and community. There are several proprietary companies that use or make /nonfree software/ in an effort to subjugate users, so what should we do in response to that? Sometimes, if we want to keep our freedom, we need to make sacrifices. But the kind of sacrifices I'm talking about are small; any ethical person can make these kinds of sacrifices, in order to protect their freedom. *** Is it OK for companies to create malware, like DRM? What are they trying to accomplish? #+ATTR_HTML: :alt The real purpose behind copyright :style color:red; :align center :width 40% https://upload.wikimedia.org/wikipedia/commons/e/e9/Copyrightpirates.jpg The idea behind *DRM* , is to subject all users to a system that prevents copyright infringement. In reality, though, this software exists to restrict users from controlling their software; from sharing digital media; from cooperating with other users; from maintaining anonymity and privacy; and finally-- like all proprietary software-- it gives the owner unjust power over the user. We don't need such defective software, and we certainly don't need the large scale surveillance that it employs. No one should have this kind of power, so why encourage this malpractice, and why use propaganda terms that are in favor of *DRM* and other types of malware? Malware, by definition, mistreats the user-- _never forget that_ ; no ethical reason or justifiable defense exists for those implementing it. To implement malware is malicious, because the mistreatment of users is irrational, and can make people anti-social if they believe that sharing _their copies_ of digital information (e.g. media files, books, software, etc.) will brand them as /pirates/ -- =someone who attacks and steals from a ship at sea= . Ignore any propaganda definition that implies that the word /piracy/ involves copyright infringement. I'm not only talking about files that you can easily download off of the internet; I'm talking about files that _you pay for_ in order to access, or store a copy of. You are not allowed to make copies of your own media files, if it is encumbered with *DRM* ! Copying data means you are reproducing the original digital work in the form of `ones' and `zeroes', which is binary data for computers to read; whereas, sharing data means you are redistributing a copy of said original work. Reproduction is not the same as theft! The former involves recreating the original copy; the ladder involves _physically taking_ the original copy. Just to let you know: It is physically impossible to /steal/ something as intangible as digital information. If I haven't gotten through to you yet, riddle me this: #+BEGIN_QUOTE How can anyone say that you are /pirating/ data, when you are the *owner* of said data, or when the data in question is just a *copy* -- _not the original_ ? This vague assumption proposes that you are capable of stealing information from yourself or others! How ludicrous!? Information can't be stolen, and damages or losses are not incurred when you make copies of information. #+END_QUOTE ----- + *In conclusion with the above-- for illustrative purposes-- please examine the following scenarios:* - I dare you to steal the text on this screen! Go on, remove the text off of this website. Well, did you /steal/ it, yet? Oh! That's right... it _can't be stolen_ , only copied. - Let's pretend this website was published using a nonfree license (it's not). Now let's say that the only way that you can access this information, is to install some secret, restrictive software that will allow you to view this website, in such a way that you can't copy it. + Ok, the *DRM* software is installed. After a few corporate click-throughs, you activate the /nonfree software/ . You are now viewing this website, and noticed that all copy commands have been disabled-- as intended, of course, since you are not allowed to have freedom. + Now, for the questions: 1. What stops you from recreating this nonfree website using a pen, paper, and a free text editor on another computer? 2. If the website in question was streaming DRM-encumbered media, what would prevent you from copying this media with a video camera? Sure, there might be a loss in quality, but you can still copy it. 3. If this DRM-laden software required you to buy a sensor for your computer, that would detect if unauthorized people were in the room watching *DRM* videos... would you /still/ install it? + Wouldn't this be an invasion of your privacy? + Wouldn't this be considered mass-surveillance? + Wouldn't this make society anti-social, knowing that people can't access their data without getting spied on; knowing that they can be censored when they publish their data? 1. Facebook users may not understand this sentiment, and may unknowingly *like* spyware on websites ; fortunately, there already exists free replacements for Facebook . - Yes, Facebook uses spyware and it is considered to be a mass-surveillance engine. Because this spyware is a form of malware, and since Facebook uses /nonfree software/ in general: You have no control of your data on Facebook, and it can collect more data about you from /like buttons/ on other websites. It uses this type of Malware to trace and track users, and to create personal profiles of them-- even if they have no Facebook account. - Facebook /like buttons/ are the spyware! Learn more about Facebook Spyware . - If you read their privacy policy , then you'll learn that not only is Facebook directly in control of your data, but it can also turn it over to a third party-- like /big brother/ -- at their discretion at anytime. This implies that they actually *can* -- regardless of what they say-- turn over your /PII/ (a.k.a *Personally Identifiable Information* ) if someone with more authority than Facebook coerces them to provide it . Because /your/ data exists on /their/ server, there is no guarantee that when you delete your account that it's actually being removed-- the very nature of /nonfree software/ prevents you from verifying this. Since their privacy policy mandates that they must collect information on you, then that means their privacy policy, like Google's , means no privacy for you. 2. Users who are interested in social media may try GNU Social , if they wish to avoid malware commonly found on proprietary social media dis-services, like Facebook. - This software provides microblogging capabilities similar to Facebook; however, the difference is that you can use it in freedom. Users are in control of the software, and can even implement their own versions on their servers. - Because you are not being forced to communicate and store all of your data onto a single server, this software creates a decentralized network that promotes privacy, eliminates censorship, and gives you the freedom to control your data -- all of which, is on the contrary for Facebook. - Since /GNU Social/ servers are federated, users may communicate with each other even if their accounts exist on other servers-- just like with *XMPP* (formerly /Jabber/ ). + Is it not *frustrating* to realize that someone else is in control of what you are doing on _your own computer_ ? + The only thing *DRM* is effective at, is stopping users from sharing their own copies of digital information with each other [fn:7] . This malware creates /disunity/ between users, which prevents public cooperation and threatens the very autonomy and spirit of our community! - Proponents of *DRM* , who wish to legitimize this malware, act against the public's interest. How can we learn, if we are restricted from sharing what we know? - When your data is DRM-free, it's portable, and you can make copies to view on other devices you own; however, if your data is encumbered with *DRM* , it becomes immobile, and remains constrained within the confines of its digital prison. - Information is not designed to be locked away; it is designed to be shared. Information would not exist, if people never saw a reason to inform . How can we inform, if *our* information is restricted and uncommunicable? - The only solution is to reject /nonfree software/ , for this is software that seeks to restrict us-- some, in more ways than others. *DRM* -- in this respect-- stands out as the type of software that should never be accepted by any society, for it takes away control of our programs and personal information. + Maybe in the future, businesses will start selling DRM-paper that can only record information from DRM-pens. - The DRM-paper will have a fingerprint sensor that will only allow people to write on it, if they've already submitted their fingerprints to a corporate or federal database. - The DRM-paper can store authorized fingerprints inside it's miniature database, which will only allow /authorized/ people to read what was written. You know what that means... alternatives to circumvent this technology could become outlawed soon after. Citizens may no longer find it strange for proprietary software companies to work hand-in-hand with their govenments; thus, the corruption begins. + Maybe in the future, businesses will start selling DRM-pens that can only write information that hasn't been discovered, or owned yet. Once all information has been seized and declared as nonfree, pens may no longer function as intended anymore. - As you write with your DRM-pen, the pen will make constant checks via its network connection to see if what you are writing already exists in their database. If what you wrote matches something under copyright, patent, or trademark laws, and it is not under a free license... the ink will vanish off the face of the page! - You won't be told why this is happening, but you'll know the reason. Someone owns that knowledge, and what you wrote needs to be revised to /reinvent/ the wheel, so to speak-- which may be hard to do, if the wheel itself was patented, and that's what you were writing about. - When businesses start adopting DRM-pens and other subjugating devices, /free software/ activists will protest; however, their efforts may be to no avail for they usually only represent a minority of, perhaps, 1% in the current population. One imaginary activist excaimed: #+BEGIN_QUOTE Is it right to call something a /right/ , when that "right" takes away our rights? Perhaps we should call this riduculous law *copywrong* , for I hardly see any rights being preserved by these wrongdoings. The same can be said for *DRM* ; how dare you take away our copying machines and public libraries!? #+END_QUOTE Sadly, this was a voice that was gradually silenced... - Time passes and the DRM-pens become even more malicious, and can now only load authorized DRM-ink. The ink is holographic and multi-colored; a design chosen in order to distract readers, and to make the information harder to remember and duplicate. The ink is also laced with psychedelic chemicals in order to prevent savants from mentally photographing the information. These poisons were strictly opposed at first; however, after banning the use of copying machines, there was little resistance when DRM-authorities declared it to be the next logical step-- all under the auspices of copyright, which was slowly being rebranded as /copywrong/ by protesters. + Maybe in the future, every single media file will be distributed with *DRM* . Corrupt mathematicians will have created an algorithm to detect if your camera is capturing something that appears eerily similar to what already exists in a *DRM* media files database-- a restricted repository containing data which you own, but businesses will have already convinced you that it's safer in their hands! - The moment the *DRM* in a camera detects you copying DRM-data, the camera will refuse to continue recording. - If you try to correct this malicious behavior, then the owner of the *DRM* program would proceed to brick your camera in order to prevent you from using it in freedom. + The concept of /bricking/ -- or rendering hardware non-functional-- is becoming standard practice by proprietary software companies today. + Computers that contain 100% /nonfree software/ , can be bricked at anytime at the owners discretion (sorry, the owner of the /nonfree software/ controls your computer-- _not you_ , which is why it should be replaced with /free software/ ). 1. Section 2 of this =readme= , /Basic Requirements/ , contains resources that you can use to avoid this threat. Ensure to reject /nonfree software/ whenever you encounter it, and to educate users by pointing them to < http://www.fsf.org/ > , and < http://www.gnu.org/ > in order to protect their freedom! + With /free software/ , there are no owners-- only users, where every user is a potential contributor for the program; however, with /nonfree software/ , there exists an owner who arbitrarily imposes restrictions on you. + /Nonfree software/ users are often asked to comply with an NDA or EULA in order to get them to agree with the restrictions that come with the program, because the "owner" has declared that all knowledge of the program is strictly confidential. If you read these tyranical contracts, you'll learn that the software in question is not being sold to you; rather, it is being /licensed/ to you. In essence, you are not allowed to purchase a copy; you are a licensee of a /black box/ technology (i.e. a technology whose inner-workings are censored), that exists in a binary executable. + All software-- except Public Domain software-- is distributed under a license, and these licenses will tell you what you can or can't do with the software. I urge you to read the license that comes with your software, in order to find out how much control you /really/ have over your programs. If a program does not come with source code, and the author[s] of the program have not given you permission to freely control it, then the normal restrictions of copyright apply: The owner of the program has exclusive rights for its use and distribution; in other words, the user does *NOT* control the program, the owner controls it. *RMS:* =The owner controls the program and the program controls the users, which means this program is an= =instrument giving the owner unjust power over the users. This is why nonfree software should not exist, so the aim of the Free Software Movement is: No more= =nonfree software; we want to liberate everyone in cyberspace.= + According to *RMS* , President and Founder of the *FSF* ... #+BEGIN_QUOTE As a computer user today, you may find yourself using a proprietary program. If your friend asks to make a copy, it would be wrong to refuse. Cooperation is more important than copyright. But underground, closet cooperation does not make for a good society. A person should aspire to live an upright life openly with pride, and this means saying no to proprietary software. You deserve to be able to cooperate openly and freely with other people who use software. You deserve to be able to learn how the software works, and to teach your students with it. You deserve to be able to hire your favorite programmer to fix it when it breaks. You deserve free software. #+END_QUOTE - What if the above threat of *DRM* has affected several colleagues of yours? + I'll expand. Pretend you live in a world dependent on /nonfree software/ ... :: Some of your colleagues were able to inform you of the irregularities they noticed in their cameras right before they became bricked. Noticing the irregularities in your own camera, when you tried to record an invaluable speech about freedom-- which was seized by the government and then copyrighted-- you power it off, just in time! You now proceed to transfer the temporary copy of the recording onto DRM-paper. After approximately 69 hours of physically transcribing the binary information by hand, the *DRM* ink starts becoming blurred. Your fingerprint is stored on both the DRM-paper and inside the DRM-camera, so DRM-authorities were able to identify you as attempting to infringe the copyright draconian laws. + Your actions manage to set a precedent, though... :: The ink does not disappear, even though the data you copied matches a file in the *DRM* media files database. The reason for this, is because corrupt lawyers, businessmen, and programmers never expected anyone to rip a media file onto DRM-paper; thus, they never added a routine to make ink disappear when such an event occurs. You see, DRM-paper isn't accepted by printers in this era; printers have been outlawed by this time since *DRM* can't be used on them; the same goes for public libraries-- they don't even exist in this time frame. The only way to capture and disseminate information in this proprietary era, is to use /DRM approved information devices/ -- otherwise known as *DAID* . Businesses provide people with *DAID* gratis whenever they want to begin an academic career, or wish to create technical works; however, all users of *DAID* are subjected to surveillance, censorship, and royalty fees (this specific penalty is incurred whenever you publish information with *DAID* -- providing a steady income that continues to fund the proprietary corruption). + I digress, though. No one expected you to circumvent DAID! :: You managed to bypass the nonfree restriction of *DRM* , and retrieved a lost artifact of the old world-- evidence of *free speech* ! You publish your findings on over a thousand copies of DRM-paper, using an illegal copying machine running /free software/ . You transfer it to a friend, who just so happens to be a pilot. After dumping boxes and boxes filled with this publication to neighboring cities, people soon begin to wake up and question their local businesses and governments. Even though you were incarcerated before your friend took flight, *DAID* and all draconian laws that enforced *DRM* were abolished 10 years later. After people finally came to their senses, nations were able to communicate with each other in peace for the first time in decades; not only that, but scientific progress and public literacy skyrocketed! Students were no longer criminalized for " /taking notes/ " while studying textbooks ; public libraries were re-opened; copying machines were no longer guarded by security guards; authors were no longer forbidden from cooperating with each other, and were able to create bibliographies again; children were allowed to bring the source code of programs that they liked on digital devices, so that they could present how they work for " /show and tell/ ". You were released from your imprisonment soon after and given the /Presidential Medal of Freedom/ , as well as a copy of the /U.S. Constitution/ -- with the missing 13th Ammendment restored-- one of the first documents in over five decades to be written without *DAID* . For your insights on *software freedom* , you were applauded as a visionary for a free society. Soon after, /nonfree software/ became outlawed on every continent on earth, in order to ensure that the general public will never be left divided and helpless again! + What's the moral of the story? :: Such a bleak and dismal future awaits us if we accept /nonfree software/ , so why support the possibility? Do not write, run, share, or fund /nonfree software/ ! - _When you write_ /nonfree software/ , you impose restrictions on the user that are similar to the above story. Software is born *free* ... until /you/ decide to distribute it without a free license. Keep in mind that the moment you create a work (in the U.S. at least), your work becomes copyrighted by default and hence restricts users; thus, unrestrict your work via a free license so that users can have their basic computing rights (A.K.A. software freedom). - _When you run_ /nonfree software/ , you develop a dependence on software that you can not control, and that can mistreat you at the owners discretion. Most of the time, there exists *DRM* that controls how many copies you can install and hence run on your computer; once you reach the install limit, the malware will corrupt the installer so that you can't install anymore copies. Do you really think you are in control of such software? - _When you share_ /nonfree software/ with others, you run the risk of being branded as a pirate for making unauthorized copies, and can be jailed for this " /crime/ "; whereas, if you made copies of /free software/ , the /Free Software Movement/ will not penalize you for sharing-- we encourage this type of cooperation and do *NOT* consider it to be illegal. Another reason to reject /nonfree software/ , is because it supplants the users right to *software freedom* , with the penalty of *software restriction* . - Last, but not least: _When you pay_ for /nonfree software/ , you help fund the creation of a dark and dismal future similar to the above story; a future, where all users are restricted, and left divided and helpless. A free society will not come into being, if we accept software designed to prevent its existence. + /Nonfree software/ is the gateway to malware! - Knowing that you can't see the source code and change it, proprietary developers will be tempted to put in malicious functionalities. This type of software can abuse you at anytime; imposes usability restrictions; and how it works, remains a secret. - No matter if its a backdoor, censorship, sabotage, spyware, or *DRM* , the consequence for it's inclusion is always the same: /Nonfree software/ , in the form of malware, will put the user at a disadvantage; implant dependence for future abuse; and can remotely change it's policies, your programs, and your data without your consent. Nonfree software that restricts *Freedom #1* is always possible malware, because there is no way to verify or rule out that it is not without the source code. + Malware does not exist in the /free software/ world, because the moment a *free* program is published, you have the chance to view the source code of that program. If it contains bugs or malicious functionalities, the users are in a position to take the effort to get rid of them. They can make a modified version of that software, devoid of any bugs or malware. No computer user wants to install defective software, so they'll use the corrected version instead. *** In light of all this-- what makes free software, like Genshiken, so different? #+ATTR_HTML: :alt Free software gives you back control over your computer :style color:red; :align center http://static.fsf.org/nosvn/working/w/large/closer.png I mentioned earlier that /nonfree software/ in general and *DRM* (a type of /nonfree software/ ) both restrict the user; however, how do they compare with one another? Here's an oversimplified answer: With /nonfree software/ in general, you can not control a program; with *DRM* specifically, you can not control your data. Proprietary software owners want to control your programs, but they also want to control your personal data, as well. Most people find that they can not copy their DRM-encumbered data to non-DRM enabled devices. This malpractice is an example of /vendor lock-in/ , because the vendor does not want you to leave their platform. The fact of the matter is that if you use /nonfree software/ , then your freedom will be restricted-- plain and simple. *Genshiken* is different from proprietary streaming dis-services, because you are not required to give up your freedom in order to use it. *Genshiken* gives you the freedom to be in control of the content you watch. Since most websites, companies, or services use /nonfree software/ -- which has already been identified as divisive to society-- the user is left helpless for they can not control the software (i.e. no access to the source code; denied software freedom; more on this topic later). In comparison, /free software/ programs operate in a transparent manner and can be audited, adapted, and shared to suit our needs! _The main purpose_ of *Genshiken* is to give *you* that kind of control when loading online videos , without the need for /nonfree software/ -- which can't be audited, adapted, or shared by anyone except for the owner of the nonfree program who monopolizes the software. *DRM* is proprietary malware; thus, it is incompatible with /free software/ , and will never be found in *Genshiken* 's source code. Also, since there is no *DRM* in *Genshiken* , there is no concept of /approved platforms/ -- *Genshiken* can run on any platform that supports /free software/ . I don't believe in /vendor lock-in/ , either-- every file you download with *Genshiken* , can be shared on any platform that supports /free software/ . *Genshiken* is _not a browser plugin_ , but rather, a command-line script that parses the HTML markup of a website. Websites are then converted into playlists, marked from A-Z, that are sent to a pager program on your computer. From there, you can browse and select from an alphabetized list of video series. Once you've made your selection, you may prompt for a description to be printed to standard output-- along with an image, giving you an idea of what type of animation to expect. If you like what you've read and seen, then you may download/stream the series. *Genshiken* currently works on 1 website: The Watchcartoononline.COM Network . This website acts as a central hub that hosts third party video links submitted by users. These links, however, are loaded utilizing /nonfree software/ , like Flash [fn:8] or nonfree JavaScript [fn:9] . With /nonfree software/ being run on your computer, you do *NOT* control how these videos are loaded-- that's where *Genshiken* comes in. *Genshiken* is similar to /youtube-dl/ and /Linterna Magica/ [fn:10] in purpose. *Genshiken* is designed to operate on a website, treat it as a series of playlists, and works with external players/viewers that you have installed on your system. It's name comes from an Anime whose abbreviation meant: " /The Society for the Study of Modern Visual Culture/ ". ** What capabilites or features are available? + Current features for version * {{{version}}} * of * {{{proper}}} * , include: - Converting a website into a series of playlists - Defining which video to start on from any playlist - Ability to query for a description of your content before selection + This description comes with an image, since pictures are worth a 1,000 words - Streaming online videos - Downloading online videos - Playing local videos that were downloaded by * {{{proper}}} * - Colored output from the command-line - Simple values accepted as arguments to * {{{proper}}} * , instead of lengthy URL's - Ability to save an active session to a file + You can maintain as many sessions as you want! + When you load the session, you're back where you left off - Content URL visibility + You always know exactly where your content is coming from + By default, only ethical sources are selected + Examples of execution from the command-line: - ~genshiken --get anime-dub~ - ~genshiken --view cartoon --start-at latest~ - ~genshiken --stream movie --no-update~ + * {{{proper}}} * will be supporting more websites soon! * Basic Requirements #+ATTR_HTML: :alt GNU :title The GNU Project :style color:red; :align center http://www.gnu.org/graphics/gnu-head.jpg First and foremost, please know that this software relies heavily on software from the /GNU Project/ [fn:11] . If you are *NOT* running a *GNU/Linux [fn:12] * operating system, then downloading and installing *Genshiken* will be more difficult! There are free distributions available at: http://www.gnu.org/distros/free-distros.html . These distro's use a deblobbed version of the kernel Linux, known as /Linux-libre/ [fn:13] . #+COMMENT: Commands within equal marks are for the HTML version of this readme In 3 steps, you can be up and running with a free distro! Enter ~n~ if you're system is already free; ~]~ if in ~Info-mode~ . You may scroll down by entering ~v~ ( ~SPACE~ if in ~Info-mode~ ), if you are Not ready for freedom . *First* , you'll need to ensure that your computer is compatible with /free software/ . In the age of /treacherous computing/ [fn:14] , you may need to buy a computer that grants you more freedom, or create one that respects your freedom off the bat. The *second* step would be to choose a free distro to install from the above website, and then make a bootable device. Once you've done this, the *third* step would be to tell your BIOS [fn:15] to load your bootable device; however, this may be tricky if your computer comes with /Restricted Boot/ [fn:16] enabled. + Below are some resources for liberating your computer! - Hardware Devices that Support GNU/Linux :: Here are some devices that are certified to /respect your freedom/ [fn:17] ! If you wish to make your own computer, consider accessing *H-Node* first; each device listed in this database is tested for compatability with /free software/ . - Burn Trisquel CD images *OR* How to Create a LiveUSB :: Learn how to create a bootable CD or USB of a free distro. This particular example provides a /Live/ system-- meaning, you can boot *AND* test it without having to install it first. - How to access your computers set up screen... :: If your computer uses a proprietary BIOS [fn:18] , then it does *NOT* respect your freedom! You might still be able to load a free distro if you follow these instructions. + * <<<Not ready for freedom>>> , yet?* \\ You deserve to be in control of _your computer_ ; however, if you are not comfortable with installing a fully-free operating system at this time, then you may access the below resources instead to get the software running on a nonfree system. Do realize though: Only a free -- as in *freedom* -- operating system, gives you the _ability to control_ all software installed on your computer; whereas, a nonfree system may contain malware like *DRM* ( exists to restrict your freedom ), which can't be removed and whose sole functionality is to mistreat the user. ** GNU/Linux users {{{emphasize(green, yellow, GNU/Linux is free software)}}} #+ATTR_HTML: :alt Powered by GNU :title Powered by GNU :style color:red; :width 40% :align center file:img/gnu-ascii-white.png + Run check-dependencies , and install whichever software packages that you are missing. + Here are some common install commands for different *GNU/Linux-libre* distro's: - Dragora GNU/Linux-Libre :: \\ ~sudo pkg add dependency-1 dependency-2 ...~ - GuixSD :: \\ ~guix package -i dependency-1 dependency-2 ...~ - Parabola GNU/Linux-Libre :: \\ ~sudo pacman -S dependency-1 dependency-2 ...~ - Trisquel GNU/Linux :: \\ ~sudo apt-get install dependency-1 dependency-2 ...~ + Review the documentation that comes with your package manager for more details! - If your package manager can not find a required dependency inside it's available repositories, then refer to the homepage of your missing package (Enter ~b~ , to return here; ~l~ if in ~Info-mode~ ). ** OS X® users {{{emphasize(red, yellow, Mac OS X is nonfree software)}}} #+ATTR_HTML: :alt apple-is-drm :title Free Software and Apple... don't mix :style color:red; :align center http://static.fsf.org/nosvn/dbd/dbd-new-sticker-thumb.png + Jump to the dependencies section, and then return here by pressing ~b~ (press ~l~ if in ~Info-mode~ ). - Whichever software you don't have on that list, you'll need to install. - Consult the below resources in order to install the required software packages. - You may learn how to install the /Mac OS X/ version of /Dependencies 6-8/ , via the software package's respective homepages. + Install and Use GNU Command Line Tools on Mac OS X :: Here is a resource with /free software/ that you may install! I suggest installing all *GNU* software recommended on that website; the /complementary set of packages/ are optional. With this resource, you'll be able to install /Dependencies 1-5/ of *Genshiken* . + I use Mac OS X... moving to free software... :: Here is a resource for those that are starting to realize that nonfree software , like /Mac OS X/ , is an unethical, user-subjugating system, and that it's time to move on to *freedom* . /Free software/ replacements are offered for common proprietary programs. This resource is listed in order to grant you access to additional free programs that you may find useful. + Free Software for iOS :: Here is a resource with /free software/ that you may install! Unlike /Windows/ for the PC, replacing /iOS/ with a free operating system is not an easy task. Regardless, here are some programs that are interoperable with /iOS/ and /Replicant/ -- a free operating system for mobile devices. This resource is listed in order to grant you access to additional free programs that you may find useful. - You may follow the link to *Imgv* for /Dependency 9/ in order to install a free image viewer. Download and extract the *GNU* compatible tarball or zip file, and read the =README-UNIX.txt= file for installation instructions. + Once you've installed all of *Genshiken* 's dependencies, run check-dependencies in order to verify that you've installed all of the required software. ** Windows® users {{{emphasize(red, yellow, Windows is nonfree software)}}} #+ATTR_HTML: :alt Close Windows, Open Doors :title Close Windows, Open Doors :style color:red; :align center http://static.fsf.org/fsforg/graphics/windows-infographic_share.png + Jump to the dependencies section, and then return here by pressing ~b~ (press ~l~ if in ~Info-mode~ ). - Whichever software you don't have on that list, you'll need to install. - Consult the below resources in order to install the required software packages. - You may learn how to install the /Windows/ version of /Dependencies 6-7/ , via the software package's respective homepages. + Free Software for Windows :: Here is a resource with /free software/ that you may install! Use this resource in order to install /Dependencies 1, 2 and 8/ of *Genshiken* . You need to install *MinGW* [fn:19] from the /Programming Utilities/ Category, so that you can acquire *GNU Bash* and *Getopt* . The last thing to install from this resource is a free media player called *VLC* , which *Genshiken* is already configured to interface with. You can also try installing MSYS2 instead of *MinGW* , which aims for better interoperability with native /Windows/ software and even comes with its own package manager, *Pacman* , to make it easier to install free software. + GnuWin Packages :: Here is a resource with /free software/ that you may install! Use this resource in order to install /Dependencies 3-5/ of *Genshiken* . These *GNU* command-line utilities give shell scripts, like *Genshiken* , their functionality. Most shells, can hardly function without these types of programs. You must also install *GNU Make* or /make/ , so that you can execute the =Makefile= for installing *Genshiken* ; /make/ is not listed as a dependency because *Genshiken* does not require it in order to run-- only to install. If you installed *MSYS2* from the above resource, then you should already have the required GNU software; if not, then you'll need to instruct *Pacman* to install those packages for you. + I use Windows... how can I move to free software? :: Here is a resource for those that are starting to realize that nonfree software , like /Windows/ , is an unethical, user-subjugating system, and that it's time to move on to *freedom* . /Free software/ replacements are offered for common proprietary programs. This resource is listed in order to grant you access to additional free programs that you may find useful. The above resources are listed specifically for *Genshiken* . - You may follow the link to *Imgv* for /Dependency 9/ in order to install a free image viewer. Download and extract the *GNU* compatible tarball or zip file, and read the =README-WINDOWS.txt= file for installation instructions. + Once you've installed all of *Genshiken* 's dependencies, run check-dependencies in order to verify that you've installed all of the required software. * Where can I get a copy? #+ATTR_HTML: :alt Savannah :title Savannah, the software forge for people committed to free software :style color:red; :align center http://www.gnu.org/graphics/meditate.png *Genshiken* is distributed under a *free* license [fn:20] , and with source code [fn:21] so that you can control the software [fn:22] . A =HACKING= file is provided to make *freedom #1* more practical for computer users. In the below subsections, you may choose to edit the location of the source directory, =MY_SOURCES= . This variable represents the designated location, where the software will be downloaded and extracted to. To do so in /Org mode/ : Enter ~M-S-g MY_SOURCES=src MY_SOURCES=where-you-want-to-extract-to <RET> !~ , to query and replace all instances of the source directory. By default, the source directory will be created in your home directory. If this is not to your liking, then you may also edit the variable =BASE_DIR= . + An example could be one of the following (these examples require =root= access): - ~BASE_DIR=/opt~ - ~BASE_DIR=/usr~ ** How do I authenticate this software? A digital signature is provided (e.g. the file ending in =.sig= ) to ensure the authenticity of this software. Before I securely copy *Genshiken* to the download server, I create a detached signature to go along with it using public-key cryptography. In order to verify the signature that comes with *Genshiken* , you'll need the /GNU Privacy Guard/ [fn:23] ( =gpg= ). With /GnuPG/ you can retrieve my public key which I have stored on a keyserver, verify that I am indeed the author, and verify whether the software is intact. #+NAME: retrieve-public-key #+CAPTION: REQUIRED: Retrieve my public key, so that you can verify my signature #+BEGIN_SRC bash KEYSERVER =keys.gnupg.net PROJECT_HOME =http://www.nongnu.org/genshiken AUTHORS_KEY_ID =$( lynx -source $ PROJECT_HOME /AUTHORS | \ gawk -F: '{ print $3 }' | \ sed -n '2 p' ) # This will add my public-key to your keyring gpg --keyserver $ KEYSERVER --recv-keys $ AUTHORS_KEY_ID #+END_SRC #+NAME: verify-authors-fingerprint #+CAPTION: REQUIRED: Verify my fingerprint to ensure the key you retrieved is authentic #+BEGIN_SRC bash # The 2 fingerprints (1 from my website; 1 from your keyring) must match lynx -source $ PROJECT_HOME | sed -n 's_.*GPG Key:.\(.*\)</a>.*_\1_p' && gpg --fingerprint $ AUTHORS_KEY_ID | sed -n '/^[[:blank:]]\+Key/s/^.*= //p' #+END_SRC #+BEGIN_CENTER {{{bgcolor-bld(yellow, Once you've verified my public key\, you'll be able to verify whether the software is intact after you download it. That particular process is automated by a bash script in the next subsection.)}}} #+END_CENTER ** Where can I download each version of the software? Tarballs [fn:24] are provided in the Download Area of *GNU Savannah* . If you do not have access to a browser, or simply wish to use the command-line: Follow the below instructions inside of /bash(1)/ . If you already have the Makefile , then you may enter ~make grab-pkg~ instead. *Freedom #2* isn't theoretical! Feel free to /mirror/ the /Download Area/ , in order to make it more accessible to others. #+NAME: get-latest-version #+CAPTION: REQUIRED: Download and extract the latest version of Genshiken. Verify the signature that comes with it. #+BEGIN_SRC bash BASE_DIR =$ HOME # Feel free to change this value MY_SOURCES =src # Feel free to change this value ATOM =https://savannah.nongnu.org/news/atom.php GETV = "1,/<title>Announcing ${NAME^?}/ s/.*[ ]\([0-9]\.[0-9].*\)<.*/\1/p" FEED =${ ATOM }? group =${ NAME :=genshiken} DOWNLOAD_SERVER =http://download-mirror.savannah.gnu.org/releases LATEST_VERSION =$( lynx -source $ FEED | sed -n "$GETV" ) LATEST_TARBALL =$ DOWNLOAD_SERVER /$ NAME /$ NAME -$ LATEST_VERSION .tar.gz mkdir -p $ BASE_DIR /$ MY_SOURCES cd $ BASE_DIR /$ MY_SOURCES # Removing any old traces of Genshiken find -name 'genshiken' | xargs rm -rf find -name 'genshiken-*.tar*' | xargs rm -rf # Downloading the tarball, and its associated signature wget $ LATEST_TARBALL wget $ LATEST_TARBALL .sig PKG =$( ls $ NAME -*.gz) SIG =$( ls $ NAME -*.sig) # Verifying the tarball is intact gpg --verify $ SIG 2> /dev/null if [[ $ ? -ne 0 ]] then echo -e "\n\e[31mError:\e[0m Either the download was interrupted, or the official file is corrupt." else tar -xzvf $ PKG ; echo -e "\e[32m${NAME^?}'s tarball has been extracted to: $( cd $BASE_DIR/$MY_SOURCES; pwd)\e[0m" fi cd ./$ NAME #+END_SRC ** How do I get the latest version from source code control? For those who wish to grab the source code that contains the latest changes, a repository is made available via the /Concurrent Versions System/ ( *CVS* ). If you do not have access to a browser, or simply wish to use the command-line: Follow the below instructions inside of /bash(1)/ . The below script =get-current-repository= , will give you anonymous access to a /read-only/ version of the repository. You can get /read-write/ access, if you become a project member; go to section 8.1, /Development Resources/ (Enter ~g 8.1 <RET>~ ; ~t 8 1~ if in ~Info-mode~ ), for more details. #+NAME: get-current-repository #+CAPTION: OPTIONAL: Check out a copy of the current repository. You _must_ have /CVS/ installed, first! #+BEGIN_SRC bash if [[ -d ${ CVSROOT :-} ]]; then BASE_DIR =$ HOME # Feel free to change this value MY_SOURCES =src # Feel free to change this value mkdir -p $ BASE_DIR /$ MY_SOURCES cd $ CVSROOT # Checking out Genshiken via Anonymous CVS ACVS =:pserver:anonymous@cvs.savannah.nongnu.org:/sources cvs -z3 -d$ ACVS /${ NAME :=genshiken} co -P $ NAME cd ./$ NAME make tarball mv ../$ NAME -*.tar.gz $ BASE_DIR /$ MY_SOURCES cd $ BASE_DIR /$ MY_SOURCES [[ -d $ NAME / ]] && rm -rf $ NAME / PKG =$( ls -1 $ NAME -*.gz | sed -n '$ p' ) tar -xzvf $ PKG echo -e "\e[32mA clone of the repository is located here: $CVSROOT/$NAME\e[0m" echo -e "\e[32mA fresh tarball of ${NAME^?} has been created from the repository, and has been extracted to: $( cd $BASE_DIR/$MY_SOURCES; pwd)\e[0m" cd ./$ NAME / fi #+END_SRC * What is included? *Genshiken* comes pre-packaged with various scripts and documentation. Execute the command ~lynx MANIFEST.html~ , in order to view the list. You may run: ~md5sum file-in-manifest~ , in order to ensure the authenticity of each file. The MD5 Checksum of each file should match the same hash inside =MANIFEST.html= . #+COMMENT: Insert table of MANIFEST below (e.g. ~org-table-import location-of-manifest~), check for errors, and then send to MANIFEST.html #+NAME: create-manifest #+CAPTION: OPTIONAL: Execute the following commands, inside the source directory, to create a basic MANIFEST file for Genshiken #+BEGIN_SRC bash CVSROOT =$( echo ${ CVSROOT :-${ PWD }/..}) cd $ CVSROOT /${ NAME :=genshiken} cat <(find -type d | sed 's_./__; 1 d; s/.*/& **********************************/' | \ grep -v 'CVS' ) \ <(md5sum \ $( find -type f | sed 's_./__' | grep -v 'CVS' ) | \ gawk '{ print $2,$1 }' | sort | sed 's/\(^[^ ]*[ ]*\)\([^ ]*\)/\1*\2*/' ) | \ gawk '{ print $2,$1 }' | grep -n '.*' | sed 's/[ ]/\t/; s/:/.\t/' | \ gawk 'BEGIN { print "#\tMD5 Checksum\tFile\n" }; { print }' | \ while read column do manifest_desc =share/doc/$ NAME /manifest-desc.txt file =$( echo "$column" | gawk '{ print $3 }' ) description =$( grep "| $file " $ manifest_desc | gawk -F '|' '{ print $3 }' ) echo -e "$column\t$description" | sed '/#/ { s/File/&\tDescription/ }' done > MANIFEST #+END_SRC * How do I install it? :INSTALL: Installing *Genshiken* is a trivial process on *GNU/Linux* , but if you are using a nonfree system, then you may run into some difficulties. *Genshiken* has only been tested on the *GNU/Linux* system. If you are having difficulty installing or running *Genshiken* on a nonfree system, then post a message on the mailing-list (See section 8.2, /Contact Information/ , for details) for help. The answer may be as simple as modifying a few lines of code in *Genshiken* 's =Makefile= , so do not give up on the first attempt. ** What does Genshiken require in order to function? Provided below is a checklist of required software that *Genshiken* depends on, and a list of optional ones. A dependency checker is built into the main script of *Genshiken* , and will complain if you attempt to run it when not all dependencies are installed. You may execute the script =check-dependencies= to verify whether you have all of the required software packages, and you may view the list of dependencies to install whichever is missing. *** Check Dependencies - Execute the below script =check-dependencies= , to find out what you're missing #+NAME: check-dependencies #+CAPTION: REQUIRED: Check to see if you have all required dependencies #+BEGIN_SRC bash # Checking version of GNU Bash (needs to be version 4 or higher) [[ $ BASH_VERSINFO -lt 4 ]] && echo -e "\e[31mError: You need to install version 4+ of GNU Bash." >&2 || { # Take note of any Warnings that are printed! You'll need it for section 6 echo -e "\e[32mOK:\e[0m Package \e[36mbash\e[0m is the correct version: \e[35m$( bash --version | sed -n '1 p')\e[0m" type getopt &> /dev/null [[ $ ? -eq 0 ]] && echo -e "\e[32mOK:\e[0m Package \e[36mgetopt\e[0m is already installed." || echo -e "\e[31mError:\e[0m You need to install \e[36mgetopt\e[0m!" >&2 # Checking for the GNU Core Utilities... info coreutils &> /dev/null [[ $ ? -eq 0 ]] && echo -e '\e[32mOK:\e[0m You have the \e[35mGNU Coreutils\e[0m installed.' for pkg in $( echo -e 'cp\nsed\ngrep\ngawk' ) do type $ pkg &> /dev/null [[ $ ? -eq 0 ]] && echo -e "\e[32mOK:\e[0m Package \e[36m$pkg\e[0m, a part of \e[36mcoreutils\e[0m, is already installed." || echo -e "\e[31mError:\e[0m You need to install \e[36m$pkg\e[0m!" >&2 done # Checking for the GNU Find Utilities... find --version | grep GNU | grep '.*' &> /dev/null && xargs --version | grep GNU | grep '.*' &> /dev/null [[ $ ? -eq 0 ]] && echo -e '\e[32mOK:\e[0m You have the \e[35mGNU Findutils\e[0m installed.' for pkg in $( echo -e 'find\nxargs' ) do type $ pkg &> /dev/null [[ $ ? -eq 0 ]] && echo -e "\e[32mOK:\e[0m Package \e[36m$pkg\e[0m, a part of \e[36mfindutils\e[0m, is already installed." || echo -e "\e[31mError:\e[0m You need to install \e[36m$pkg\e[0m!" >&2 done # Checking for command-line networking utilities... for pkg in $( echo -e 'wget\ncurl\nlynx' ) do type $ pkg &> /dev/null [[ $ ? -eq 0 ]] && echo -e "\e[32mOK:\e[0m Package \e[36m$pkg\e[0m is already installed." || echo -e "\e[31mError:\e[0m You need to install \e[36m$pkg\e[0m!" >&2 done # Checking to see if you have common media players... which mpv mplayer2 totem vlc xine | grep '.*' &> /dev/null [[ $ ? -eq 0 ]] && echo -e '\e[32mOK:\e[0m You already have a \e[35mmedia player\e[0m installed.' || { echo -e '\e[33mWarning:\e[0m Could not detect any media players!' >&2 echo -e 'Please install one of the following media players:' echo -e '\e[36mmpv\e[0m' echo -e '\e[36mmplayer2\e[0m' echo -e '\e[36mtotem\e[0m' echo -e '\e[36mvlc\e[0m' echo -e '\e[36mxine\e[0m' echo -e '\e[36ma-different-choice\e[0m' } # Checking to see if you have common image viewers... which eog geeqie ristretto | grep '.*' &> /dev/null [[ $ ? -eq 0 ]] && echo -e '\e[32mOK:\e[0m You already have an \e[35mimage viewer\e[0m installed.' || { echo -e '\e[33mWarning:\e[0m Could not detect any image viewers!' >&2 echo -e 'Please install one of the following image viewers:' echo -e '\e[36meog\e[0m' echo -e '\e[36mgeeqie\e[0m' echo -e '\e[36mristretto\e[0m' echo -e '\e[36ma-different-choice\e[0m' } } #+END_SRC *** Dependencies [55%] If you are running a GNU/Linux operating system, then at least half of these packages (approx. 55%) should already be installed by default. Follow the URL for each software package to learn more about them. 1. [X] GNU Bash (Version 4+) - License: GPLv3+ - URL: < http://www.gnu.org/software/bash/ > 2. [X] Getopt (from util-linux 2.25.2 or higher) - License: GPLv2+ (defined in =getopt.c= under =misc-utils= of /Util-linux/ ) - URL: < ftp://ftp.kernel.org/pub/linux/utils/util-linux/ > 3. [X] GNU Core Utilities - License: GPLv3+ - URL: < http://www.gnu.org/software/coreutils/coreutils.html > 4. [X] GNU Find Utilities - License: GPLv3+ - URL: < http://www.gnu.org/software/findutils/findutils.html > 5. [X] GNU Wget - License: GPLv3+ - URL: < https://www.gnu.org/software/wget/ > 6. [ ] cURL - License: MIT/X - URL: < http://curl.haxx.se/ > 7. [ ] Lynx - License: GPLv2 - URL: < http://lynx.browser.org/ > 8. [ ] A video player (below are some examples; export =PLAYER= for others) - Mpv (fork of MPlayer2) + License: GPLv2+ + URL: < http://mpv.io/ > - GNU Videos (formerly known as =Totem= ) + License: GPLv2+ + URL: < https://wiki.gnome.org/Apps/Videos > - VLC Media Player + License: GPLv2+ + URL: < http://www.videolan.org/vlc/ > - Xine + License: GPLv2 + URL: < http://xinehq.de/ > 9. [ ] An image viewer (below are some examples; export =IMAGER= for others) - Eye of Gnome + License: GPLv2+ + URL: < https://wiki.gnome.org/Apps/EyeOfGnome > - Geeqie + License: GPLv2 + URL: < http://geeqie.sourceforge.net > - Imgv + License: GPLv2 + URL: < http://directory.fsf.org/wiki/Imgv > - Ristretto + License: GPLv2+ + URL: < http://goodies.xfce.org/projects/applications/ristretto > *** Optional Packages The following packages may also be installed for use with *Genshiken* . The URL of certain videos can't be ascertained by *Genshiken* alone; thus, youtube-dl may be invoked to test whether Python can handle the job. Certain video links are obscured through the use of JavaScript; which, most of the time is nonfree. Support for PhantomJS could be added in the future; hence, any URL's to video links which are contained inside of JavaScript, instead of user-friendly iframes, could be read by /PhantomJS/ within a subshell. + XRandR - License: X11 - URL: < https://www.x.org/wiki/Projects/XRandR/ > + youtube-dl - License: Public Domain - URL: < http://rg3.github.io/youtube-dl/ > + A notification program (below are some examples) - gxmessage + License: GPLv3 + URL: < http://homepages.ihug.co.nz/~trmusson/programs.html#gxmessage > - Notify + License: MIT + URL: < http://directory.fsf.org/wiki/Notify > + A terminal emulator (required to use *Genshiken* inside a GUI; below are some examples) - gnome-terminal + License: GPLv2+ + URL: < ftp://ftp.gnome.org/pub/GNOME/sources/gnome-terminal/2.16/gnome-terminal-2.16.1.tar.gz > - RXVT + License: GPLv2 + URL: < http://rxvt.sourceforge.net/ > - XTerm + License: X11 + URL: < http://invisible-island.net/xterm/ > - *Genshiken* can also be run within Emacs using the *ansi-term* or *shell* commands; however, these commands must invoke /bash(1)/ in order to run *Genshiken* . ** Installing Genshiken Before you execute the following commands: Ensure the above dependencies are installed. You should have already downloaded and extracted the software at this point; if not, go back to Download the Tarball . + Are you a /Windows/ user? - If you are installing *Genshiken* on /Windows/ , then you'll need to export the =PREFIX= variable before you install *Genshiken* . The command ~export PREFIX=/~ , will set your root directory ( =c:\= , is the typical drive letter) as the install directory. An alternative command ~export PREFIX=/Program?Files~ should set the install directory to coincide with the rest of your /Windows/ applications. I have not tested this, since I do not use nonfree software. - Make sure to verify that the =PREFIX= variable is valid by changing into the saved directory: ~cd $PREFIX~ . #+NAME: install-genshiken #+CAPTION: REQUIRED: Install {{{title}}} :-) #+BEGIN_SRC bash # OPTIONAL: export PREFIX to install in another directory (e.g. ~export PREFIX=/usr~) BASE_DIR =$ HOME # Feel free to change this value MY_SOURCES =src # Feel free to change this value cd $ BASE_DIR /$ MY_SOURCES /${ NAME :=genshiken} sudo make install #+END_SRC #+NAME: install-new-config #+CAPTION: OPTIONAL: Install a new configuration file for Genshiken #+BEGIN_SRC bash BASE_DIR =$ HOME # Feel free to change this value MY_SOURCES =src # Feel free to change this value cd $ BASE_DIR /$ MY_SOURCES /${ NAME :=genshiken} make new-config #+END_SRC #+NAME: uninstall-genshiken #+CAPTION: OPTIONAL: In order to uninstall Genshiken from your system :-( #+BEGIN_SRC bash # NOTE: if you set the PREFIX variable before the install, # + then you must set it the same way before the uninstall. BASE_DIR =$ HOME # Feel free to change this value MY_SOURCES =src # Feel free to change this value cd $ BASE_DIR /$ MY_SOURCES /${ NAME :=genshiken} sudo make uninstall #+END_SRC * Getting Started! #+ATTR_HTML: :alt genshiken-logo :title Run Genshiken! :style color:red; :align center file:../../icons/hicolor/128x128/apps/sos-gear.png Now that we've installed *Genshiken* ... what do we do now? Simple! It's time to run it. Assuming you've followed all of the above steps correctly, you should now have *Genshiken* installed on your computer. ** How do I access the quickstart guide? #+NAME: cheatsheet #+CAPTION: Print a quickstart guide #+BEGIN_SRC bash # You may append =less=, to view the output in a pager cat <(genshiken --help; echo ) \ <(man genshiken |& sed -n -e '/^EXAMPLES/,/^[ ]*PLAY$/ p' \ -e '/^ENVIRONMENT/,/^AUTHOR/ p' | \ sed -e '$ d' ) #+END_SRC If you find an easier way to create a simple reference for using *Genshiken* , then please post it on the mailing-list (See section 8.2, /Contact Information/ , for details). ** Do I need to configure Genshiken before I use it? You may need to configure *Genshiken* depending on the below test. You'll need to take note of whichever media players or image viewers that you have installed on your system. *Genshiken* will be interfacing with them in order to send all videos/images to your screen. + Test if you have media players or image viewers that are recognized by *Genshiken* . - Execute check-dependencies , again. - There shouldn't be any errors at this point + If there are and you're stuck: Post a message onto the _mailing-list_ for help + Learn more about the mailing-list in section 8.2, /Contact Information/ - What we are looking for are any /Warnings/ printed from the script + If the script says you already have =a media player= , or =an image viewer= : *SUCCESS!* + If the script /does/ give you a warning... *don't worry!* - You can always use =a-different-choice= - Execute the following: \\ ~export PLAYER=my-favorite-media-player~ \\ ~export IMAGER=my-favorite-image-viewer~ - Consider adding these commands to your =.bashrc= file to make them permanent. + Remember: - *Genshiken* is /free software/ ! :: \\ You can configure *Genshiken* to behave the way you want it to! You can even hack the program so that it works on different websites! Learn more about what you can do with *Genshiken* in section 7, /Documentation/ . ** How exactly do I use Genshiken? The best way for me to explain how to use this software, is via an actual example of its usage. I executed *Genshiken* inside of an Emacs buffer running /bash(1)/ . After watching an episode of a video series, I exececuted ~C-x h C-x r N~ , in order to add line-numbers to the entire buffer; afterwords, I moved point to column 3 and executed ~column-marker-2~ to add a cyan marker, thereby seperating the line-numbers from the actual *Genshiken* session. I then executed ~M-x htmlize-buffer~ , in order to save my session as an HTML file so that we can use it as an example. + View this example session in a new tab/window, and I'll explain how it works below - Line 1 :: I executed ~genshiken --stream anime-dub~ . What I am essentially telling *Genshiken* , is that I would like to watch/stream some online videos-- simple! The option =--stream= , can be replaced with =--get= in order to download videos, instead. - Line 17 :: I press ~[ENTER]~ or ~<RET>~ to read the Legal Disclaimer from the /Watchcartoononline.COM Network/ . - Line 89 :: I enter ~yes~ to acknowledge what I've read. You may remove this particular procedure from your versions, if it starts to annoy you. - Line 92 :: Believe it or not, *Genshiken* can detect whether you are using an HDMI Monitor or not; however, this requires that you have *XRandR* installed (if you have *X11* , then you already have it). It will attempt to configure it for you if it's connected when you press ~[ENTER]~ . If there is one connected when you enter ~<RET>~ , then it will ask if it's okay to set it up; =xrandr= is invoked to execute this task. The procedure is buggy at best, but may work for certain monitors of different resolutions. - Line 97 :: *Genshiken* has detected that I have saved some previous session files to the filesystem, and is asking if I would like to either: [S]tream the video identified in the current file; move to the [N]ext previous session file; [R]emove the current file; or simply continue with a new session. I pressed ~<RET>~ to continue with a new session. - Line 100 :: *Genshiken* is downloading the webpage marked in the red carrots. What's happenning, is that the website HTML markup is being parsed in such a way, that all video series will become alphabetized for easy reference. As you've noticed on line =101= , there are some series that do begin with either a number or punctuation mark. Each of these lists can be viewed with a pager like /less(1)/ . If you see that there is a letter of the alphabet missing-- don't panic! It's not a bug-- it's just that *Genshiken* has not detected there to be any videos for that category. If you do find a bug: Report it to me (See section 8.1, /Development Resources/ , for more details). - Line 129 :: *Genshiken* is informing you that you may enter ~Q~ to quit at the next prompt; although, I don't see why you would want to :-) - Line 162 :: I am able to enter ~Q~ , or a number from 1-27. Each of these row rumbers, will give me access to a different series. I enter ~5~ to enter =series_D= . - Line 166 :: Do you see the single characters in brackets, colored in Magenta? They represent keystrokes that you can enter at the next prompt. Entering ~A~ , means you changed your mind and want to view [A]nother series; entering ~V~ , means you forgot which number is associated to your particular choice of video, and you want to re[V]iew the list again to determine the row #; finally, entering ~Q~ quits the program. - Line 237 :: Now we're getting somewhere! I can finally tell *Genshiken* which specific show I would like to watch. In this prompt, a number from 1-62 can be entered, or the letters ~A~ , ~V~ , or ~Q~ . I enter ~51~ to relive my childhood; please excuse me if you don't like my choice-- just couldn't resist :-) - Line 240 :: We have confirmation; a show has been selected! As a programmer, I'll never forget this moment-- will you? 20 episodes later... - Line 242 :: I know it's pretty obvious what these options mean; however, I know some of you will want an explanation, anyway. Here we go: ~A~ -- I changed my mind, please output the list of series for me again; ~S~ -- I know what I want, just play the video already; ~D~ -- this show has an interesting title... I might watch it if I'm informed on what it's about, and if the graphics are decent; ~Q~ -- it's time to [Q]uit :-(. Anyway, I decided to get a description of the video series, so I entered ~D~ . - Line 246 :: A Plot Summary is provided thanks to the /Description/ option. - Line 264 :: I am prompted again if I would like to stream this series. This time, I enter ~S~ , so that I can watch the show. - Line 272 :: *Genshiken* is informing you how big the playlist is, and what number it's starting off with. You can change which episode to start on using the =--start-at= option. - Line 278 :: If you actually visit the webpage identified on line 273, then you'll notice there are 3 players available to watch the video. Of course, you're not going to actually view those videos using those players, since they use /nonfree software/ . All red lettered words with underscores in them, are actually the names of *Genshiken* 's functions. /Extract Information/ exists to inform you what players are available, and which website is hosting a video whose URL can be parsed by *Genshiken* . - Line 291 :: *Genshiken* has selected a player-- meaning, that the website that the player refers to is hosting the video in a way that can be parsed by *Genshiken* . - Line 292 :: What you think might be the URL of the video, might actually be a redirection to another website-- these *are* third-party websites, you know. The /Watchcartoononline.COM Network/ is just linking to them. - Line 295 :: After *Genshiken* parses the HTML of the website that we redirected to, it captures the actual URL of the video. The function name makes it obvious what *Genshiken* is doing. Believe it or not, downloader browser plugins have a hard time figuring out the URL of a video if redirection is involved-- *Genshiken* attempts to find it anyway, though. - Line 299 :: Why is the phrase in Magenta so verbose? /Streaming/ is printed, because *Genshiken* is trying to tell you what it's doing; that word will be replaced with /Downloading/ if we used the =--get= option, instead of the =--stream= option. /Single/ is printed, because videos may be viewed as a /Single/ episode, a /2-Parter/ , or a compilition of more than 1 episode. /Regular Episode/ is printed, because the video in question might be a /Movie/ , or a /Special Episode/ -- like an original video animation, which might not be considered as canon to the original work. - Line 300 :: This is why *Genshiken* exists-- to _play online videos_ without /nonfree software/ !! If this wasn't possible, *Genshiken* would never have been released. At this point, a video is being watched-- HA-OOH HA-OOH HA-OOH! - Line 327 :: You can move on to the next episode by exitting the video, either by: Pressing ~Q~ , ~<ALT>-[F4]~ , or simply waiting for the video to finish. To exit and save the current session to a file so that you can watch it later, press ~C-c~ . Since I was in an Emacs buffer that isn't a fully emulated terminal, I entered ~C-c C-c~ instead. My session is now complete. If you prefer not to save your session, then consider using the =--no-sessions= option. + If you find any discrepancies, or are confused by this example: Please post a message about it on the mailing-list. * Documentation To print a brief usage summary from the command-line, execute ~genshiken --help~ . If you need more information, then read the manual instead. #+BEGIN_CENTER {{{bgcolor-bld(yellow, The current version of Genshiken is an alpha release. This section details all of the documentation files for Genshiken.)}}} #+END_CENTER - Ps :: The =FAQ= is in Section 1 of the =HACKING= file. Visit section 8.1, /Development Resources/ , for more details. ** What is the best way to read the documentation? Most of the documentation is written using /plain text/ (a.k.a. /ASCII/ [fn:25] ), because this is a format that all computers can understand; also, it encourages future retrieval and reuse . The best way to view all documentation is via /Org mode/ inside of /GNU Emacs/ ! If you feel lost or don't have an easy way to navigate the outline structure of the org documentation (e.g. via /Org mode/ itself; via /org-tree-slide/ ; via /epresent/ ; etc.), then you may use any other versions that are avialable. + The Emacs command to export Org files to other formats is: *org-export-dispatch* ( ~C-c e~ ) + Assuming you installed the software without changing the =PREFIX= variable, the main documentation should all be located in =/usr/local/share/doc/genshiken= . + There are 6 files in question that make up *Genshiken* 's documentation. They should be read in the following order: - =readme.info= , =readme.org= , =readme.texi= , =readme.txt= , or < {{{homepage}}} > - =NEWS= - =ChangeLog= - =manual.org= ; learn more about this file in the next subsection - =HACKING= , or < {{{homepage}}} HACKING.html> - =TODO= + If you read the =MANIFEST.html= file inside the tarball, then you should already have a basic understanding of what these files are for. ** How do I access the manual? + Are you a /Windows/ user? - If you are trying to view *Genshiken* 's manual on /Windows/ , then you'll need the equivalent of the =man= command. + Install GNU Troff , so that you can read *Genshiken* 's manual. + Execute the following commands in succession to view *Genshiken* 's manual: 1. ~cd $BASE_DIR/$MY_SOURCES/${NAME:=genshiken}~ 2. ~groff -Tascii -pet -mandoc -P-c share/man/man1/genshiken.1 | less -irs~ - *Still having trouble?* + ManScript :: If you are still having trouble reading man pages on /Windows/ , then review this resource. Provided are scripts designed to work with *MinGW* and /Windows/ console programs, so that you can view man pages using a simple command. A configuration file is also provided to allow you to define possible locations for man pages. For instance, you may append ~MANPATH /Program?Files/share/man/man1~ to =man.conf= , so that =man.sh= will understand how to pull *Genshiken* 's man page when you execute ~man genshiken~ . + If you have *MSYS2* , then instruct *Pacman* to install the ~man~ command. Chances are, it may already come with the ~man~ package by default. If you don't have *MSYS2* and are interested in installing it, then visit the Windows® users section for the link and information. #+NAME: emacs-man-genshiken #+CAPTION: Get access to Genshiken's manual. #+BEGIN_SRC emacs-lisp ;; You may execute ~man genshiken~ in bash(1), instead (man "genshiken" ) #+END_SRC #+NAME: emacs-woman-genshiken #+CAPTION: Alternatively, you may execute the following in GNU Emacs for a different manual style. #+BEGIN_SRC emacs-lisp ;; If the buffer doesn't change, execute: ~C-x b *WoMan 1 genshiken*~ (woman-find-file "share/man/man1/genshiken.1" ) #+END_SRC - You may also access the online version: =manual.html= - Here is the corresponding source code for the manual ! + Export to man within /Org mode/ using: ~M-x org-man-export-to-man <RET>~ * Feedback #+ATTR_HTML: :alt Free Software, Free Society :title Learn about free software, and what it means to have control of your computing! :style color:red; :align center http://static.fsf.org/nosvn/images/badges/fsfs_icons_beige-bg.png This is a /free software/ project! Unlike /nonfree software/ , which thrives on a *dependence model* -- where users are subjugated and forced to go along with every change the owner of the program makes; /free software/ provides a *development model* -- which allows a community to correspond with the developers, cooperate with contributers who take part in making changes, and-- above all else-- grants the user the right to _exercise their freedom_ . With that said: The below resources are available to you, if you have any additional questions or wish to make a contribution. The *4 essential freedoms [fn:26] * are a big theme in this document, because *Genshiken* consists of *100%* /free software/ powered by *GNU* . As the above infographic suggests, you can exercise these freedoms to control this software! ** Development Resources + For a history of changes: See the ChangeLog for more details. + For a set of release notes or news announcements: See the NEWS file for more details - Subscribe to the Atom Feed to stay updated! + Visit the Project Development Page for current developments. 1. If you want to contribute to this project: + Sign-up for an account on https://savannah.nongnu.org + Afterwards, read the =HACKING= file listed below 2. Found a bug? + Submit a bug report ! - For documentation, bugs can be: 1) Grammer errors 2) Diction errors 3) Nonfree resources that should be replaced with free/libre resources - For instance: + An /Org target/ that links to a HOWTO or tutorial that is licensed as nonfree, should be replaced with a HOWTO or tutorial that is licensed as free/libre. 4) Information that conflicts between different documentation - For instance: + If The definition of a parameter differs between the =--help= option and the manual, then that's a documentation bug. - You may apply the same above criteria for source code comments, as well - For the software, bugs can be: 1) Improper use of a command 2) Using deprecated parameters, instead of safer or more effective parameters 3) Sending unwanted output to standard output 4) Using a nonfree file - For instance: + If there is no Copyright Notice or License Notice for the file, and it is not in the Public Domain, then the file is nonfree. + If the file is licensed as free, but it recommends or links to nonfree files + Engineer your own solution by HACKING Genshiken ! 1. This file contains a list of _Frequently Asked Questions_ ( =FAQ= ). + Feel free to add your own questions to the file! 2. A basic guide is included for getting more familiar with the software. + This requires some basic understanding of the *GNU/Linux* operating system + Introduction to the Command Line -- Free/Libre manual documenting the *GNU/Linux* command-line + New to /free software/ ? Read the above manual before entering the =HACKING= file! 3. Familiar with *Genshiken* ? Execise *Freedom #1* , and /hack/ [fn:27] *Genshiken* + Consider exercising *Freedom #3* , so that all users may benefit from your /hack/ + Some people wonder... why write /free software/ ? - Well, there are several motives for writing libre programs, so please contribute! ** Contact Information #+ATTR_HTML: :alt EMAIL SELF-DEFENSE :title Gain true privacy, with free software :style color:red; :width 20% :align right https://static.fsf.org/nosvn/enc-dev0/img/en/full-infographic.png \\ #+ATTR_HTML: :alt [MU Poststamp] :title Libre Mail Utilities :style color:red; :width 20% :align left http://mailutils.org/graphics/mustamp.png \\ + Get technical support or feedback of software use via /GNU Mailutils/ ! - Any and all questions are welcome :-) :: \\ #+HTML: <br /><br /> #+COMMENT: This image is located in my web repository #+ATTR_HTML: :alt join-the-fsf :title Help protect your freedom, join the Free Software Foundation! :style color:red; :width 32% :align left file:img/835840.png \\ * {{{author}}} * \\ * {{{gpg-key-id}}} * \\ #+ATTR_HTML: :alt Resist Bulk Surveillance :title Gain true privacy, with free software :style color:red; :width 30% :align left https://static.fsf.org/nosvn/logos/surveillance.png \\ #+ATTR_HTML: :title Personal E-mail Address * {{{email}}} * \\ #+ATTR_HTML: :type application/pgp-keys :title GPG Key * GPG Key: {{{fingerprint}}} * \\ #+BEGIN_QUOTE =For those who prefer using a text interface: Gnus comes with GPG integration!= [fn:28] \\ #+END_QUOTE #+HTML: <br /><br /><br /><br /><br /> _My E-mail_ -- for personal/business messages, and questions not directly pertaining to *Genshiken* . Click on my /FSF member button/ to join the *FSF* ! For those outside the loop: Encrypting our messages with /free software/ , is a big first step towards securing our privacy, and forming the _web of trust_ . Fight back surveillance [fn:29] , with *GnuPG* ! \\ #+ATTR_HTML: :alt XMPP-logo :title XMPP (Jabber) :style color:red; :width 15% :align left file:img/xmpp.png \\ - {{{JID}}} :: \\ #+HTML: <br /><br /> This is my *XMPP [fn:30] * account, for Instant Messaging. E-mail is still the best way to contact me, though. Via E-mail, we can arrange for a real-time /Jabber/ conversation. If you plan on contributing to *Genshiken* , then this is the best place-- besides the =HACKING= file-- to get all your questions answered. I don't use this account often, but you should be able to see my current status there. \\ #+ATTR_HTML: :alt Not f'd — you won't find me on Facebook :title Subscribe to Genshiken's mailing-list :style color:red; :width 15% :align left http://static.fsf.org/nosvn/dislike100.png \\ - {{{mailing-list}}} :: \\ Public mailing-list for user help and discussion. Subscribe by clicking the above /Dislike/ button [fn:31] ! * Genshiken Icons 1. This =readme= (or =index.html= ) - using-genshiken-big.{png,svg} :: Depicts Fenice using the command-line from her cubicle + This image is an original I made with the GIMP and Inkscape. + The author is * {{{author}}} * + The license is: The GNU General Public License (version 3 or later) + Added permissions from the author - *NONE:* Already respects your freedom! 2. =genshiken-anime.desktop= - using-genshiken.svg :: Depicts Fenice using the command-line from her cubicle + This image is an original I made with the GIMP and Inkscape. + The author is * {{{author}}} * + The license is: The GNU General Public License (version 3 or later) + Added permissions from the author - *NONE:* Already respects your freedom! 3. This =readme= (or =index.html= ), =HACKING= , =genshiken-manual.desktop= - sos-gear.{png,svg} :: A blue gear with the SOS Brigades' insignia on it + This image is an original I made with the GIMP and Inkscape. + The author is * {{{author}}} * + The license is: The GNU General Public License (version 3 or later) + Added permissions from the author - *NONE:* Already respects your freedom! * License Notice :COPYING: :PROPERTIES: :COPYING: t :DESCRIPTION: A Copyleft license to guarantee and ensure freedom :END: #+HTML: <center><p><a href="http://www.gnu.org/licenses/gpl-3.0.html" title="Free as in Freedom!"><img alt="gplv3-logo" src="http://www.gnu.org/graphics/gpl-v3-logo.svg" width="40%" /></a></p></center> Copyright © 2015-2016 {{{author}}} \\ This file is part of *Genshiken* . *Genshiken* is _free software_ : you can redistribute it and/or modify it under the terms of the /GNU General Public License/ as published by the /Free Software Foundation/ ; either version 3 of the License, or (at your option) any later version. *Genshiken* is distributed in the hope that it will be useful, but *WITHOUT ANY WARRANTY* ; without even the implied warranty of *MERCHANTABILITY* or *FITNESS FOR A PARTICULAR PURPOSE* . See the /GNU General Public License/ for more details. You should have received a copy of the /GNU General Public License/ along with *Genshiken* ; see the file COPYING . Also, when referring to *Genshiken* (i.e. in either text/audio/video), please do not call this software: open source software-- it's not! This is free software -- period. * Footnotes [fn:31] Why did I add a /dislike/ button to my website? Could it be that I dislike Facebook ? [fn:30] Extensible Messaging and Presence Protocol [fn:29] The *NSA* and other spy agencies are actively fighting against online privacy by degrading commercial, nonfree encryption software. They consider users of such software to be /adversaries/ , and legitamize adding backdoors in encryption software; thereby, adding /insecurity/ to security software. It's been reported , thanks to the bravery of Edward Snowden, that the *NSA* has been covertly forming partnerships with proprietary software companies to add secret vulnerabilities to their software. The best way to escape this type of sabotage, is to use /free software/ instead! There already exists a guide to defend against bulk surveillance . The transparency and control provided by /free software/ ensures that crackers, like the *NSA* , won't add malicious features to this software-- for fear of embarrassment, if nothing else. /Free software/ users are much harder to surveil than /nonfree software/ users. While /GnuPG/ helps protect your privacy with E-mail and allows you to encrypt messages and documents, there are several other free programs that can help you with other computing tasks as well. *Zak Rogoff:* =There are even new, free software-based, decentralized, surveillance-resistant systems that we hope will someday replace the massive= =restrictive corporate systems that government agencies so desperately want complete access to.= You can access these aforementioned tools in the /Free Software Directory's/ encryption category ! In light of all this deception, I would like to reiterate what was said in *footnote #22:* =Keep control of your computing, so it doesn't control you!= [fn:28] /Gnus/ is a message reader, for GNU Emacs, that is used for reading and composing both news and mail. To start using /Gnus/ in Emacs, enter: ~M-x gnus~ . If you are only interested so that you can start using E-mail in Emacs, do realize that /Gnus/ is like a stone-age newsreader (i.e. you'll have to configure it for how to do E-mail); there are other E-mail clients that you can use for Emacs, but if you are still interested-- Enter: =C-h i m gnus 5= . Here is a resource containing several articles for configuring /Gnus/ : EmacsWiki Gnus . You may also use public-key cryptography for secure communication! Interested? If so, then follow *footnote #23* about the /GNU Privacy Guard/ to get up and running. Once you've done that, you'll need to create a .authinfo.gpg file. If you want an example of a working configuration, you may request a generic version of my =.gnus.el= file via E-mail; this configuration uses the =nnimap= protocol to communicate to a webmail system , so that there's no need to fetch messages you have stored on another server. [fn:27] The word /Hack/ , and all derivitives, are misrepresented in the media today. What you think are /hackers/ , may actually be crackers -- =someone who seeks and exploits weaknesses in a computer system= . Those who wrote that /Hacker (computer security)/ article, are obviously not programmers; if they claim to be: They probably use /nonfree software/ , which you are *NOT* allowed to /hack/ -- just to let you know! You may be wondering then: What is a /hacker/ ? Here is a definition straight from the most ethical /hackers/ on the net: hacker . Were you surprised? Here's an article that appears to credit the original defintion, as well. [fn:26] Very briefly, they are the freedoms to run, study, modify, copy, and distribute software as you wish, for any purpose. Here is the full definition, by the *FSF* ! [fn:25] American Standard Code for Information Interchange. *Allin Cottrell:* =ASCII is the lowest common denominator of textual communication in digital form. An ASCII message will be= =“understandable” by any computer in the world. If you send such a message, you can be sure that the recipient will see precisely what you typed.= [fn:24] A compressed archive created with =tar= and =gzip= . The name derives from /tape archive/ , and is a common way to distribute software in *GNU/Linux* . [fn:23] A tool for secure communication. Unfortunately, the /Pretty Good Privacy/ ( *PGP* ) protocol used a patented algorithm that can *NOT* be implemented in freedom; thus, a different algorithm was used in the free implementation of *PGP* , known as *GPG* , which we can control. To get up and running using /GnuPG/ , try reading The GNU Privacy Handbook ! If you want a quickstart guide, try reading this GnuPG Mini-HOWTO . Once you have =gpg= installed, you'll have quick and easy access to the full documentation with ~info gpg~ . [fn:22] Nowadays, we have to do all we can to ensure that we have control of our computing. That's why I'm going through all these lengths, to ensure that all users of my software are in control. It's a matter of freedom. You should not be passive about your freedom, either. Keep control of your computing, so it doesn't control you! [fn:21] The human-readable files preferred for making changes to the software. Since *Genshiken* is a script and is not compiled, the entire program can be read easily; Execute ~genshiken --source-code~ to understand! [fn:20] How software is distributed determines whether or not it's free. If it's not free, then you can't control it. Read *Genshiken* 's license notice for details on what makes it free! [fn:19] Minimalist GNU for Windows [fn:18] With /treacherous computing/ and /Digital Restrictions Management/ (DRM) on the rise, the possibility of /Restricted Boot/ becomes more likely. A campaign for a Free BIOS has already been launched! Let's ensure that our computers are born to run in freedom, with *our* operating system of choice. [fn:17] The /Free Software Foundation/ ( *FSF* ) "Mark of Approval for electronics"; *Joshua Gay:* =hardware that will do as much as possible to respect your freedom and your privacy, and will ensure that you have control over your device= . [fn:16] A replacement for the traditional BIOS. *Joshua Gay:* =could lock users out of their own computers, preventing them from ever booting into or installing a free software= =operating system.= Learn more about Restricted Boot ! [fn:15] Basic Input Output System [fn:14] A *REAL* conspiracy by several proprietary companies, whose plot is to take away control of your computing. Learn more about treacherous computing ! Learn about how hardware vendors can help mitigate this attack on our society. [fn:13] /Linux/ is distributed under a free license (the *GPL* ), but the source code contains BLOBs (Binary Large OBject; a series of =ones= and =zeroes= ), which renders the software as nonfree. This is a violation of section 3 of the *GPL* , which clearly states: the user (i.e. /Linus Torvalds/ ) may =distribute the Program= provided that he =also do one of the following= ... choice =a)= , choice =b)= , or choice =c)= . A requirement for each of those subsections-- choice =a)= , =b)= , or =c)= -- is that he must also =Accompany it with the complete corresponding machine-readable source code= . Since he has not complied with the *GPL* , /Linux/ is proprietary; fortunately, ethical hackers have already deblobbed the kernel and are providing a free version that we can trust! Learn more about GNU Linux-libre . Learn about other common distros that fall short of the ideals of freedom, by including nonfree software . [fn:12] Most people erroneously call this system /Linux/ . Does it matter? What's in a Name? Well, it does matter! The name /Linux/ refers to only a single program-- the kernel; whereas, /GNU/ refers to various programs from the /GNU Project/ that form an almost complete operating system (by which, they are only missing a kernel). More importanty, calling it /Linux/ does not educate computer users about their freedom; however, just by prepending the word *GNU* , we can lead computer users to the ideals of /free software/ , and why they should have control of their computing. Learn more about why we should call this ethical system, GNU/Linux ! [fn:11] The GNU Project is the original /free software/ project, dedicated to providing users with a fully-free operating system! Learn more about GNU ! [fn:10] Linterna Magica replaces Flash objects with <object> tags that your browser can play. Learn more about Linterna Magica ! [fn:9] Nonfree JavaScript in your browser can be dangerous. Read the The JavaScript Trap , for more details! [fn:8] If you must use Flash, consider using GNU Gnash , instead. [fn:7] This particular article is created by proprietary developers in order to show case their malware to potential victims. Through the use of *DRM* policies, /Access Tokens/ , and a malware program called /ASPS Web Browser/ , media files can be distributed with restriction rules in order to prevent access to digital files and take away the users control. This malevolent scheme is a real-life example, created by /ArtistScope/ , of a digital environment that allows the prevention of sharing-- restricting *Freedom #2* and *Freedom #3* of the /Free Software Definition/ . Propaganda terms like /Copy Protection/ is used in order to misinform you that making copies of information can somehow damage the original source of the information under copyright. http://www.nongnu.org/genshiken/ is not licensed under this misconception, because of the fact that HTML documents can't incur damages when users make copies of them; the assumption that this website, or even the software that it documents, would incur damages without the nonfree restriction is ludicrous. *ASPS* malware is not /FREE/ to use, since it is /nonfree software/ ; which also means that their statement that it is "free software" is also false. /Free software/ users are accostomed to openly cooperating and freely sharing with each other, so they might understand the irony behind the malicious practice of sharing /unreadable/ files with each other. [fn:6] Amazon implements DRM in their streaming dis-service, /Amazon Prime/ . What they don't tell you, is that you have to install malware in order to access videos, and Flash in order to play them-- both of which, are /nonfree software/ . As their new commercial clearly states: There's More To Prime ! [fn:5] /Digital Restrictions Management/ . This type of malware, common with /nonfree software/ (e.g. /Windows/ , /Mac OS X/ , /the-iThings-from-[cr]apple/ , /Amazon Swindle/ , /Netflix/ , etc.), offers the malicious functionality to refuse to function. Ultimately, it is the Recording Industry that does not want you to share media that you've purchased. They are against the public interest, because they actively campaign to add malware in software. *John Sullivan:* =Even the repressive copyright regime we have now obligates the government to represent the public's interest in promoting progress in science= =and the arts through sharing and the dissemination of knowledge. If the government starts working for the media companies, they will be working against the public interest, and we= =will surely see attempts to give legitimacy back to Digital Restrictions Management (DRM) systems-- unethical restrictions that squash so much useful sharing, education, and= =communication.= Learn more about DRM ! [fn:4] /Free Software Foundation/ ; learn more about the FSF ! [fn:3] A value that is passed as a parameter for a program. For example, a synopsis for the use of /Wget(1)/ is ~wget [option]... [URL]...~ ; where =[URL]= is a parameter of wget, and a possible argument could be this https://static.fsf.org/nosvn/FSF30-video/FSF_30_1080p.webm , for instance. [fn:2] /Uniform Resource Locator/ ; web address. Unfortunately, most websites obscure browser scripts (a.k.a. /obfuscript/ ; this is *NOT* source code) on their webpage, making it hard to determine the video URL, and how videos are being loaded; thus, the existence of *Genshiken* . [fn:1] The default shell for the *GNU* system. It provides a command-line, where it is common to invoke programs from a text terminal; still the preferred method by /sysadmins/ for controlling one's computing! ...
http://www.gnu.org/savannah-checkouts/non-gnu/genshiken/index.org.html - [detail] - [similar]
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 213370 documents and 1081687 words.