Go to file
Luca Hohmann 4ef2f709ee
Channel community page (#1568)
* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Data returning added

* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Data returning added

* Images are now displayed in the community tab

* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Data returning added

* Images are now displayed in the community tab

* Added primitive video display

* Current changes

* Added preston's change with the ftcard and started on some layout basics

* Created Community Post Component and added fetch more button + functionality

* Fixed problem with videothumbnails not loading and adjusted their height to 100% in the ft-list sass file

* Added poll and ft-list-video to the community page

* Added author name placeholder (missing in module), the published date, the likes and dislikes as well as comment counts to posts. Additionally scaling of images was added

* Added basis for community page playlists

* Finalized a setup for playlists when wide enough

* Fix for missing key in custom list

* Added publish date translation

* Add empty alt tags

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

* fix accessibility issue

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

* change: ununique ids to classes

* add missing alt tag

* Redirect channel/id/community to the channel's community tab

* update yt-channel-info

* update to 3.0.1

* Update yarn.lock

* add basic multiImage support

* use tiny-slider for multiImage community posts

* update getChannelCommunityPostsMore

* Update yarn.lock

* fix yarn lock

* swap community and about tab

* Update yarn.lock

* Fix missing comma

* Removed trailing spaces

* Clearing all community post data when changing to another channel

* Restructuring of how the post cards are added, Empty page text,
ft-element-list props customization
1) Now the community page uses the same setup of ft-element-list as the
other pages on the channel.
2) If no posts are available, now it displays a message saying so
3) The ft-element-list component's display style can now be forced into
a certain display mode (list/grid) with the new prop. It will overwrite
the corresponding default value for list display

* Fixed display text path

* Fix lint"

* Adjusted css to fit to new layout

* Final touches community page to tidy up the console

* fix icons, fix linter

* fix hiding showmore button for community page

* fix showToast calls

* change all this.showToast to showToaast

* reinstall tinyslider

* use helpers

* small fixes

* fix: getting continuation of community posts

* remove unused code

* improve slider style import

* fix hiding 'ShowMore' button

* fix weird typo in css

* add invidous community tab support

* remove console testing code

* Apply suggestions from code review

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* implement suggestions, improve thumbnail replacement

* use flip horizontal

* readd invidious fallback code, remove author name workaround

* replace another google domain when using invidious

* suppport invidious multiImage posts

* Use youtube.js for community posts

* add invidious polls, remove support for fetching more

* reorder icons alpabetically

* re-allow loading more when using localapi

* fix styling of multiImage, hide NA text

* fix loading playlist

* fix spacing of items

* fix issue with direct url to community tab

* make review recommendations

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

* fix displaying selected tab, get best quality image

---------

Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-03-04 16:56:04 +08:00
_icons Compress images (#2532) 2022-09-03 15:23:08 +02:00
_scripts Migrate channel related functionality to YouTube.js (#3143) 2023-03-01 08:39:33 +08:00
.github remove label if pr converts to draft (#3194) 2023-02-15 20:40:51 +01:00
.vscode small accessibility improvements (#3033) 2023-01-12 07:55:47 +01:00
src Channel community page (#1568) 2023-03-04 16:56:04 +08:00
static Channel community page (#1568) 2023-03-04 16:56:04 +08:00
.babelrc Upgrade electron from 20 > 21 (#2717) 2022-10-13 22:09:02 +00:00
.editorconfig Use the Unix file ending 2020-06-03 21:19:27 -04:00
.eslintignore Push Latest Code to Repository 2020-02-16 13:30:00 -05:00
.eslintrc.js update linters & add stylelint (#3023) 2023-01-03 19:19:41 +01:00
.gitignore Add support for lefthook local config for setting up option rc (#2961) 2023-01-03 19:20:26 +01:00
.prettierrc Check for and remove all trailing commas 2020-08-04 22:18:39 -04:00
.stylelintignore update linters & add stylelint (#3023) 2023-01-03 19:19:41 +01:00
.stylelintrc.json small accessibility improvements (#3033) 2023-01-12 07:55:47 +01:00
.whitesource Push Latest Code to Repository 2020-02-16 13:30:00 -05:00
CONTRIBUTING.md Update CONTRIBUTING.md (#1622) 2021-08-28 21:36:08 +00:00
jsconfig.json small accessibility improvements (#3033) 2023-01-12 07:55:47 +01:00
lefthook-local.yml.example Add support for lefthook local config for setting up option rc (#2961) 2023-01-03 19:20:26 +01:00
lefthook.yml update linters & add stylelint (#3023) 2023-01-03 19:19:41 +01:00
LICENSE Replace License with AGPLv3 version 2020-04-13 20:50:02 -04:00
package.json Channel community page (#1568) 2023-03-04 16:56:04 +08:00
README.md Differentiate links in readme.md (#3224) 2023-02-27 21:04:05 -05:00
yarn.lock Channel community page (#1568) 2023-03-04 16:56:04 +08:00

FreeTube is an open source desktop YouTube player built with privacy in mind. Use YouTube without advertisements and prevent Google from tracking you with their cookies and JavaScript. Available for Windows, Mac & Linux thanks to Electron.

Download FreeTube

Translation status


ScreenshotsHow does it work?FeaturesDownload LinksContributingLocalizationContactDonateLicense

WebsiteBlogDocumentationFAQDiscussions


Please note that FreeTube is currently in Beta. While it should work well for most users, there are still bugs and missing features that need to be addressed. If you have an idea or if you found a bug, please submit a GitHub issue so that we can track it. Please search the existing issues before submitting to prevent duplicates!

Screenshots

How does it work?

FreeTube uses a built in extractor to grab and serve data / videos. The Invidious API can also optionally be used. FreeTube does not use any official APIs to obtain data. While YouTube can still see your video requests, it can no longer track you using cookies or JavaScript. Your subscriptions and history are stored locally on your computer and never sent out. Using a VPN or Tor is highly recommended to hide your IP while using FreeTube.

Features

  • Watch videos without ads
  • Use YouTube without Google tracking you using cookies and JavaScript
  • Two extractor APIs to choose from (Built in or Invidious)
  • Subscribe to channels without an account
  • Connect to an externally setup proxy such as Tor
  • View and search your local subscriptions, history, and saved videos
  • Organize your subscriptions into "Profiles" to create a more focused feed
  • Export & import subscriptions
  • Youtube Trending
  • Youtube Chapters
  • Most popular videos page based on the set Invidious instance
  • SponsorBlock
  • Open videos from your browser directly into FreeTube (with extension)
  • Watch videos using an external player
  • Full Theme support
  • Make a screenshot of a video
  • Multiple windows
  • Mini Player (Picture-in-Picture)
  • Keyboard shortcuts
  • Option to show only family friendly content
  • Show/hide functionality or elements within the app using the distraction free settings

Browser Extension

FreeTube is supported by the Privacy Redirect and LibRedirect extensions, which will allow you to open YouTube links into FreeTube. You must enable the option within the advanced settings of the extension for it to work.

If you have issues with the extension working with FreeTube, please create an issue in this repository instead of the extension repository. This extension does not work on Linux portable builds!

Official Downloads

Automated Builds (Nightly / Weekly)

Builds are automatically created from changes to our development branch via GitHub Actions.

The first build with a green check mark is the latest build. You will need to have a GitHub account to download these builds.

Unofficial Downloads

These builds are maintained by the community. While they should be safe, download at your own risk. There may be issues with using these versus the official builds. Any issues specific with these builds should be sent to their respective maintainer.

Contributing

If you like to get your hands dirty and want to contribute, we would love to have your help. Send a pull request and someone will review your code. Please follow the Contribution Guidelines before sending your pull request.

Thank you very much to the People and Projects that make FreeTube possible!

Localization

Translation status

We are actively looking for translations! We use Weblate to make it easy for translators to get involved. Click on the badge above to learn how to get involved.

For the Linux Flatpak, the desktop entry comment string can be translated at our Flatpak repository.

Contact

If you ever have any questions, feel free to ask it on our Discussions page. Alternatively, you can email us at FreeTubeApp@protonmail.com or you can join our Matrix Community. Don't forget to check out the rules before joining.

Donate

If you enjoy using FreeTube, you're welcome to leave a donation using the following methods.

  • FreeTube on Liberapay

  • Bitcoin Address: 1Lih7Ho5gnxb1CwPD4o59ss78pwo2T91eS

  • Monero Address: 48WyAPdjwc6VokeXACxSZCFeKEXBiYPV6GjfvBsfg4CrUJ95LLCQSfpM9pvNKy5GE5H4hNaw99P8RZyzmaU9kb1pD7kzhCB

While your donations are much appreciated, only donate if you really want to. Donations are used for keeping the website up and running and eventual code signing costs.

License

GNU AGPLv3 Image

FreeTube is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.