<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tws Archives - ZepiWolf.se</title>
	<atom:link href="https://zepiwolf.se/tag/tws/feed/" rel="self" type="application/rss+xml" />
	<link>https://zepiwolf.se/tag/tws/</link>
	<description>Furry Apps</description>
	<lastBuildDate>Sat, 12 Sep 2020 17:25:11 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://zepiwolf.se/wp-content/uploads/2019/05/cropped-logo512-32x32.png</url>
	<title>tws Archives - ZepiWolf.se</title>
	<link>https://zepiwolf.se/tag/tws/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Start a slideshow in version beta-3.2!</title>
		<link>https://zepiwolf.se/2020/09/12/start-a-slideshow-in-version-beta-3-2/</link>
					<comments>https://zepiwolf.se/2020/09/12/start-a-slideshow-in-version-beta-3-2/#respond</comments>
		
		<dc:creator><![CDATA[ZepiWolf]]></dc:creator>
		<pubDate>Sat, 12 Sep 2020 17:23:38 +0000</pubDate>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[e621 app]]></category>
		<category><![CDATA[slideshow]]></category>
		<category><![CDATA[tws]]></category>
		<category><![CDATA[tws v2]]></category>
		<guid isPermaLink="false">http://zepiwolf.se/?p=671</guid>

					<description><![CDATA[<p>You can now start a slideshow in the newest beta version of the e621 app! Find it in the post menu. Download the app here! Or find it on Google Play!</p>
<p>The post <a href="https://zepiwolf.se/2020/09/12/start-a-slideshow-in-version-beta-3-2/">Start a slideshow in version beta-3.2!</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">You can now start a slideshow in the newest beta version of the e621 app! Find it in the post menu.</p>



<p class="wp-block-paragraph">Download the app <a href="http://zepiwolf.se/tws/">here</a>!</p>



<p class="wp-block-paragraph">Or find it on <a href="https://play.google.com/store/apps/details?id=se.zepiwolf.tws.play" target="_blank" rel="noreferrer noopener">Google Play</a>!</p>
<p>The post <a href="https://zepiwolf.se/2020/09/12/start-a-slideshow-in-version-beta-3-2/">Start a slideshow in version beta-3.2!</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zepiwolf.se/2020/09/12/start-a-slideshow-in-version-beta-3-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Light theme and DText parsing in beta-3.0</title>
		<link>https://zepiwolf.se/2020/07/17/light-theme-and-dtext-parsing-in-beta-3-0/</link>
					<comments>https://zepiwolf.se/2020/07/17/light-theme-and-dtext-parsing-in-beta-3-0/#respond</comments>
		
		<dc:creator><![CDATA[ZepiWolf]]></dc:creator>
		<pubDate>Fri, 17 Jul 2020 18:21:45 +0000</pubDate>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[e621]]></category>
		<category><![CDATA[e621 app]]></category>
		<category><![CDATA[tws]]></category>
		<guid isPermaLink="false">http://zepiwolf.se/?p=640</guid>

					<description><![CDATA[<p>The latest release of TWS includes a light theme, UI updates and DText parsing! View italic, bold, coloured and many more text styles in comments and post descriptions. Download the latest version here!</p>
<p>The post <a href="https://zepiwolf.se/2020/07/17/light-theme-and-dtext-parsing-in-beta-3-0/">Light theme and DText parsing in beta-3.0</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The latest release of TWS includes a light theme, UI updates and DText parsing!</p>



<p class="wp-block-paragraph">View <em>italic</em>, <strong>bold</strong>, <span style="color:red">coloured</span> and many more text styles in comments and post descriptions.</p>



<p class="wp-block-paragraph">Download the latest version <a href="http://zepiwolf.se/tws/">here</a>!</p>
<p>The post <a href="https://zepiwolf.se/2020/07/17/light-theme-and-dtext-parsing-in-beta-3-0/">Light theme and DText parsing in beta-3.0</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zepiwolf.se/2020/07/17/light-theme-and-dtext-parsing-in-beta-3-0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TWS v2 Beta</title>
		<link>https://zepiwolf.se/2019/07/22/beta/</link>
					<comments>https://zepiwolf.se/2019/07/22/beta/#comments</comments>
		
		<dc:creator><![CDATA[ZepiWolf]]></dc:creator>
		<pubDate>Mon, 22 Jul 2019 20:21:45 +0000</pubDate>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[e621 app]]></category>
		<category><![CDATA[tws]]></category>
		<category><![CDATA[tws v2]]></category>
		<guid isPermaLink="false">http://zepiwolf.se/?p=372</guid>

					<description><![CDATA[<p>Beta versions are now available at http://zepiwolf.se/tws/ !</p>
<p>The post <a href="https://zepiwolf.se/2019/07/22/beta/">TWS v2 Beta</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Beta versions are now available at <a href="http://zepiwolf.se/tws/">http://zepiwolf.se/tws/</a> !</p>
<p>The post <a href="https://zepiwolf.se/2019/07/22/beta/">TWS v2 Beta</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zepiwolf.se/2019/07/22/beta/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Accessing the e621 API when it gets blocked by Cloudflare&#8217;s DDoS protection</title>
		<link>https://zepiwolf.se/2019/07/15/accessing-the-e621-api-when-it-gets-blocked-by-cloudflares-ddos-protection/</link>
					<comments>https://zepiwolf.se/2019/07/15/accessing-the-e621-api-when-it-gets-blocked-by-cloudflares-ddos-protection/#comments</comments>
		
		<dc:creator><![CDATA[ZepiWolf]]></dc:creator>
		<pubDate>Mon, 15 Jul 2019 12:58:22 +0000</pubDate>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Cloudflare]]></category>
		<category><![CDATA[ddos protection]]></category>
		<category><![CDATA[e621 api]]></category>
		<category><![CDATA[e621 app]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tws]]></category>
		<guid isPermaLink="false">http://zepiwolf.se/?p=296</guid>

					<description><![CDATA[<p>Here is a small tutorial on how to access the e621 API when it gets blocked by Cloudflare, as done in TWS. The code is in Java (for Android) but the basic principle should be the same for other languages. Starting from the beginning, the API returns an HTTP status code of 403 (forbidden) or <a class="read-more" href="https://zepiwolf.se/2019/07/15/accessing-the-e621-api-when-it-gets-blocked-by-cloudflares-ddos-protection/">READ MORE</a></p>
<p>The post <a href="https://zepiwolf.se/2019/07/15/accessing-the-e621-api-when-it-gets-blocked-by-cloudflares-ddos-protection/">Accessing the e621 API when it gets blocked by Cloudflare&#8217;s DDoS protection</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Here is a small tutorial on how to access the <a href="https://e621.net/help/show/api/" target="_blank" rel="noreferrer noopener" aria-label="e621 API (opens in a new tab)">e621 API</a> when it gets blocked by Cloudflare, as done in <a href="http://zepiwolf.se/dev/tws/">TWS</a>. The code is in Java (for Android) but the basic principle should be the same for other languages. </p>



<p class="wp-block-paragraph">Starting from the beginning, the API returns an HTTP status code of <strong>403</strong> (forbidden) or <strong>503</strong> (service unavailable) when Cloudflare blocks the API call. To access e621 and the API, a captcha must be completed. The simplest way is to use a <a rel="noreferrer noopener" aria-label="WebView (opens in a new tab)" href="https://developer.android.com/reference/android/webkit/WebView" target="_blank">WebView</a>: </p>



<script src="https://gist.github.com/ZepiWolf/eac31f4255dcf056a315e37f1bc38c60.js"></script>



<p class="wp-block-paragraph">where <strong>USER_AGENT</strong> is the exact same as in all other requests to the e621 API. This is important so that Cloudflare knows that it is the same client connecting. </p>



<p class="wp-block-paragraph">After completing the captcha Cloudflare redirects to e621, and the next step is to extract and store three cookies from the WebView. These are <strong>__cfduid</strong>, <strong>e621</strong> and <strong>cf_clearance</strong>. Two of these tells Cloudflare that the captcha has been completed and the third is an identifier for e621. Together, these can be used to bypass Cloudflare and make the API working again. </p>



<p class="wp-block-paragraph"><a rel="noreferrer noopener" aria-label="CookieManager (opens in a new tab)" href="https://developer.android.com/reference/android/webkit/CookieManager" target="_blank">CookieManager</a> extracts the cookies:</p>



<script src="https://gist.github.com/ZepiWolf/fe57e9101667d30a6f289ce04d28f41e.js"></script>



<p class="wp-block-paragraph">Save the values of these cookies in e.g. <a rel="noreferrer noopener" aria-label="SharedPreferences (opens in a new tab)" href="https://developer.android.com/reference/android/content/SharedPreferences" target="_blank">SharedPreferences</a>. The last step is to include the three cookies in all following API calls. An example using <a rel="noreferrer noopener" aria-label="Jsoup (opens in a new tab)" href="https://jsoup.org/" target="_blank">Jsoup</a>:</p>



<script src="https://gist.github.com/ZepiWolf/08a30847a7bca05b40ccde4e3de79496.js"></script>



<p class="wp-block-paragraph">Include the cookies and use the same user agent at all times and Cloudflare will not block the API calls to e621 :) (until you have to complete a captcha again)</p>
<p>The post <a href="https://zepiwolf.se/2019/07/15/accessing-the-e621-api-when-it-gets-blocked-by-cloudflares-ddos-protection/">Accessing the e621 API when it gets blocked by Cloudflare&#8217;s DDoS protection</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zepiwolf.se/2019/07/15/accessing-the-e621-api-when-it-gets-blocked-by-cloudflares-ddos-protection/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Telegram channel</title>
		<link>https://zepiwolf.se/2019/06/16/telegram-channel/</link>
					<comments>https://zepiwolf.se/2019/06/16/telegram-channel/#respond</comments>
		
		<dc:creator><![CDATA[ZepiWolf]]></dc:creator>
		<pubDate>Sun, 16 Jun 2019 16:41:35 +0000</pubDate>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Channel]]></category>
		<category><![CDATA[Group]]></category>
		<category><![CDATA[Telegram]]></category>
		<category><![CDATA[tws]]></category>
		<guid isPermaLink="false">http://zepiwolf.se/?p=227</guid>

					<description><![CDATA[<p>I created a Telegram channel to make it easier to get notified about updates and changes about TWS :) Link: https://t.me/thewolfsstash Group for feedback and discussion or anything: https://t.me/tws_feedback</p>
<p>The post <a href="https://zepiwolf.se/2019/06/16/telegram-channel/">Telegram channel</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I created a Telegram channel to make it easier to get notified about updates and changes about TWS :)</p>



<p class="wp-block-paragraph">Link: <a href="https://t.me/thewolfsstash">https://t.me/thewolfsstash</a></p>



<p class="wp-block-paragraph">Group for feedback and discussion or anything: <a href="https://t.me/tws_feedback">https://t.me/tws_feedback</a></p>
<p>The post <a href="https://zepiwolf.se/2019/06/16/telegram-channel/">Telegram channel</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zepiwolf.se/2019/06/16/telegram-channel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TWS v2</title>
		<link>https://zepiwolf.se/2019/05/05/app-news/</link>
					<comments>https://zepiwolf.se/2019/05/05/app-news/#comments</comments>
		
		<dc:creator><![CDATA[ZepiWolf]]></dc:creator>
		<pubDate>Sun, 05 May 2019 06:37:24 +0000</pubDate>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[e621]]></category>
		<category><![CDATA[e621 app]]></category>
		<category><![CDATA[tws]]></category>
		<category><![CDATA[tws v2]]></category>
		<guid isPermaLink="false">http://zepiwolf.se/?p=128</guid>

					<description><![CDATA[<p>The new app is in the making and all feature request, comments and tips are welcome :) Read more and comment here</p>
<p>The post <a href="https://zepiwolf.se/2019/05/05/app-news/">TWS v2</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The new app is in the making and all feature request, comments and tips are welcome :)</p>



<p class="wp-block-paragraph">Read more and comment <a href="http://zepiwolf.se/dev/tws-v2/">here</a></p>
<p>The post <a href="https://zepiwolf.se/2019/05/05/app-news/">TWS v2</a> appeared first on <a href="https://zepiwolf.se">ZepiWolf.se</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zepiwolf.se/2019/05/05/app-news/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
