Skip to content

Ceylo/FurAffinityApp

Repository files navigation

Fur Affinity

Preview

FurAffinity.iOS.App.demo.mp4

Thank you Hyilpi, Terriniss, tiaamaito and Hiorou for letting me use your art in the demo ❤️.

Project Goals

This project is written to be able to benefit from furaffinity.net content on iOS through a more friendly and native experience. It also serves as a learning project for the technologies mentioned later. It can also be useful to other people and is thus provided by the means of this opensource GitHub project.

Features

  • Submissions feed
  • Notifications feed (journals, submission comments & journal comments)
  • Notes (read only)
  • In-app navigation for any submission and journal
    • Submission download & fav
    • Description
    • Sharing and Hand-Off support
    • Comments (read & write)
  • User profile browsing:
    • Main description
    • Shouts
    • Gallery, scraps and favorites
  • iOS notifications
  • Exploration

Installation

The furaffinity.net website hosts NSFW content in addition to SFW content. This prevents such application from being distributed through the official App Store. Nervertheless it can still be used on your own device through sideloading (manual installation through a .ipa file), for instance with AltStore or, if you are a developer, by installing the app on your device with Xcode. In the future installation may become simpler thanks to new EU regulations forcing Apple to allow sideloading.

Installation with AltStore

AltStore is an application on iPhone that can install applications to your device without needing approval from Apple. To do so, it interacts with a program named AltServer installed on your Windows or macOS computer.

  • Follow these steps to install AltStore and AltServer if not already done.
  • From your iPhone web browser, go the releases page and download the latest IPA file.
  • From AltStore app on your iPhone, go to "My Apps" tab, touch "+" icon in top left and select the IPA file you just downloaded.

Can I trust this app?

The application is unofficial so you may wonder if it's trying to steal your Fur Affinity account or some other personal information. The fact that you have access to the full source code lets you check how it works and specifically the fact that no password is ever known to the application. The app also does not try to use any personal information beyond what is stricly necessary to let the application run: it reads the submissions listed on your account only to give you access to them in the app, etc.

How does it get access to my account?

The app displays furaffinity.net login webpage to let you enter account details. These are communicated by the web browser to furaffinity.net which will then create cookies that allow your session to remain active. The account details communication only happen between the web browser and furaffinity.net server, the app only has access to the created cookies. The application then reuses these cookies to make requests to furaffinity.net as if connected with your account.

Will I get banned from Fur Affinity for using this app?

As of May 2022, Fur Affinity staff allows the use of the application as long as it does not make excessive requests to furaffinity.net. This goes against apps that download the full gallery of a user for instance, but not against this app which, from furaffinity.net's point of view, behaves very similarly to a usual web browsing experience.

Technologies used and required iOS version

This project is fully written in Swift and is based on SwiftUI, Swift Concurrency and other APIs introduced in iOS 16. As such iOS 16 or later is required to run the app.

Privacy policy

See the Privacy Policy page.