https://codeberg.org/teddit/teddit This website works better with JavaScript. # Explore About FAQ Donate Help Register Sign In [110] teddit / teddit Watch 21 Star 288 Fork You've already forked teddit 74 Code Issues 76 Pull Requests 3 Releases 2 Wiki Activity alternative Reddit front-end focused on privacy https://teddit.net You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long. 873 Commits 1 Branch 3 Tags 5.2 MiB JavaScript 59.5% Pug 24.9% CSS 15.5% Dockerfile 0.1% main main 0.3.8 0.4.0 latest [ ] Branches Tags ${ item.name } Create tag ${ searchTerm } Create branch ${ searchTerm } from 'main' ${ noResults } Go to file HTTPS [https://codeberg.org] Download ZIP Download TAR.GZ Download BUNDLE Clone in VS Code Cite this repository APA BibTeX [ ] Cancel 4 # teddit b0ce6c52a6 remove inactive teddit.namazso.eu instance weeks ago 7 .github upgrade github actions months ago 5 inc Merge branch 'main' into main months ago add support for 7 character IDs for short 3 routes urls (#290) months ago 7 static Spacing months ago 1 views corrected mistake month ago 3 .dockerignore Added support for Docker, Docker-Compose years ago 12 .gitignore Add .vscode to .gitignore months ago 2 .prettierrc add prettierrc years ago mention that the changelog is not updated 2 CHANGELOG.md anymore years ago change from debian stretch to latest 1 Dockerfile (bullseye atm) month ago 3 LICENSE add AGPL 3.0 license years ago 4 README.md remove inactive teddit.namazso.eu instance weeks ago 2 app.js use fullchain.pem instead of chain.pem years ago use 24 hours interval if the interval value cacheControl.js (config.cache_control_interval) is set to 1 year over 1000. fixes cache control for older ago config.cache_control_interval values add an example about setting the 12 config.js.template suggested_subreddits array with env vars months ago 2 docker-compose.yml Add a comment to the development compose years ago 4 instances.json remove inactive teddit.namazso.eu instance weeks ago 3 package-lock.json update version 0.4.8 => 0.4.9 months ago 3 package.json update version 0.4.8 => 0.4.9 months ago README.md Unescape Escape teddit teddit.net A free and open source alternative Reddit front-end focused on privacy. Inspired by the Nitter project. * No JavaScript or ads * All requests go through the backend, client never talks to Reddit * Prevents Reddit from tracking your IP or JavaScript fingerprint * Unofficial API (RSS & JSON support, no rate limits or Reddit account required) * Lightweight (teddit frontpage: ~30 HTTP requests with ~270 KB of data downloaded vs. Reddit frontpage: ~190 requests with ~24 MB) * Self-hostable. Anyone can setup an instance. An instance can either use Reddit's API with or without OAuth (so Reddit API key is not necessarily needed). Join the teddit discussion room on Matrix: #teddit:matrix.org XMR: 832ogRwuoSs2JGYg7wJTqshidK7dErgNdfpenQ9dzMghNXQTJRby1xGbqC3gW3GAifRM9E84J91VdMZRjoSJ32nkAZnaCEj Instances https://teddit.net - Official instance Community instances: Instance Onion Link I2P Notes teddit.ggc-project.de teddit.zaggy.nl teddit.tinfoil-hat.net teddit.domain.glass snoo.ioens.is snoo.ioensistjs7wd746...onion teddit.httpjames.space teddit.xbdm.fun ibarajztopxnuhabfu7f...onion xugoqcf2pftm76vbznx4...i2p Operated by mdleom.com incogsnoo.com tedditfyn6idalzso5wam....onion http://teddit.i2p teddit.pussthecat.org Operated by PussTheCat.org reddit.lol http://dawtyi5e2cfyfmoht...onion http:// Operated by https:// vzeiwzi7ogwl3i...b32.i2p liberta.casa For more similar hosted teddit.sethforprivacy.com qtpvyiaqhmwccx...onion/ tools, see blog.sethforprivacy.com teddit.totaldarkness.net teddit.adminforge.de Operated by https:// adminforge.de teddit.bus-hit.me Operated by https:// bus-hit.me teddit.froth.zone rdt.trom.tf Part of the https:// trom.tf project teddit.encrypted-data.xyz i.opnxng.com teddit.tokhmi.xyz teddit.garudalinux.org Managed by https:// garudalinux.org tedd.it teddit.privacytools.io jnuonmf2n36sfdmyksqq....onion Part of PrivacyTools.io and hosted by Privex td.vern.cc td.vernccvbvyi5qhfzyqen...onion td.vern.i2p Operated by https:// vern.cc teddit.rawbit.ninja yqu4yj5lju7bmlwpzpml...onion Operated by https:// rawbit.ninja teddit.artemislena.eu teddit.lpoaj7z2zkajuhgnlltp...onion Operated by https:// artemislena.eu teddit.hostux.net Operated by https:// hostux.net teddit.no-logs.com Operated by https:// no-logs.com Maintained by Project teddit.projectsegfau.lt teddit.pjsfkvpxlinjamta...onion Segfault Team (https:// projectsegfau.lt/team) Installation Docker-compose method (production) version: "3.8" services: teddit: container_name: teddit image: teddit/teddit:latest environment: - DOMAIN=teddit.net - USE_HELMET=true - USE_HELMET_HSTS=true - TRUST_PROXY=true - REDIS_HOST=teddit-redis ports: - "127.0.0.1:8080:8080" networks: - teddit_net healthcheck: test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost:8080/about"] interval: 1m timeout: 3s depends_on: - teddit-redis teddit-redis: container_name: teddit-redis image: redis:6.2.5-alpine command: redis-server environment: - REDIS_REPLICATION_MODE=master networks: - teddit_net networks: teddit_net: Note: This compose is made for a true "production" setup, and is made to be used to have teddit behind a reverse proxy, if you don't want that and prefer to directly access teddit via its port: * Change ports: - "127.0.0.1:8080:8080" to ports: - "8080:8080" * Remove DOMAIN=teddit.net, USE_HELMET=true, USE_HELMET_HSTS=true, TRUST_PROXY=true Docker-compose method (development) git clone https://codeberg.org/teddit/teddit cd teddit docker-compose build docker-compose up Teddit should now be running at http://localhost:8080. Docker image is available at https://hub.docker.com/r/teddit/teddit. Environment Variables The following variables may be set to customize your deployment at runtime. Variable Description domain Defines URL for Teddit to use (i.e. teddit.domain.com). Defaults to 127.0.0.1 Boolean If true, "reddit_app_id" must be set use_reddit_oauth with your own Reddit app ID. If false, Teddit uses Reddit's public API. Defaults to false Defines location of certificates if using cert_dir HTTPS (i.e. /home/teddit/le/live/teddit.net). No trailing slash. Automatically theme the user's browser theme experience. Options are auto, dark, sepia, or you can set white by setting the variable to empty ( '' ). Defaults to auto flairs_enabled Enables the rendering of user and link flairs on Teddit. Defaults to true Enables controversial comments to be highlight_controversial indicated by a typographical dagger (+). Defaults to true Teddit API feature. Might increase loads api_enabled significantly on your instance. Defaults to true api_force_https Force HTTPS to Teddit API permalinks (see # 285). Defaults to false video_enabled Enables video playback within Teddit. Defaults to true Enables Redis caching. If disabled, does not redis_enabled allow for any caching of Reddit API calls. Defaults to true redis_db Sets the redis DB name, if required redis_host Sets the redis host location, if required. Defaults to 127.0.0.1 redis_password Sets the redis password, if required redis_port Sets the redis port, if required. Defaults to 6379 ssl_port Sets the SSL port Teddit listens on. Defaults to 8088 nonssl_port Sets the non-SSL port Teddit listens on. Defaults to 8080 listen_address Sets the address Teddit listens for requests on. Defaults to 0.0.0.0 https_enabled Boolean Sets whether or not to enable HTTPS for Teddit. Defaults to false redirect_http_to_https Boolean Sets whether to force redirection from HTTP to HTTPS. Defaults to false Boolean Redirects from www to non-www URL. redirect_www For example, if true, Teddit will redirect https://www.teddit.com to https://teddit.com. Defaults to false Boolean If set to true, Teddit will use the [ https://github.com/expressjs/compression] use_compression (Node.js compression middleware) to compress HTTP requests with deflate/gzip. Defaults to true Boolean If this is set to true, view template use_view_cache compilation caching is enabled. Defaults to false use_helmet Boolean Recommended to be true when using https. Defaults to false use_helmet_hsts Boolean Recommended to be true when using https. Defaults to false Boolean Enable trust_proxy if you are using a trust_proxy reverse proxy like nginx or traefik. Defaults to false trust_proxy_address Location of trust_proxy. Defaults to 127.0.0.1 http_proxy Set http/https proxy to use for outgoing requests. See https-proxy-agent for details Boolean Enable NSFW (over 18) content. If false, a warning is shown to the user before opening any NSFW post. When the NFSW content nsfw_enabled is disabled, NSFW posts are hidden from subreddits and from user page feeds. Note: Users can set this to true or false from their preferences. Defaults to true videos_muted Boolean Automatically mute all videos in posts. Defaults to true Defines default sort preference. Options are post_comments_sort confidence (default sorting option in Reddit), top, new, controversal, old, random, qa, live. Defaults to confidence If "use_reddit_oauth" config key is set to true, you have to obtain your Reddit app ID. For testing purposes it's okay to use this reddit_app_id project's default app ID. Create your Reddit app here: https://old.reddit.com/prefs/apps/. Make sure to create an "installed app" type of app. Default is ABfYqdDc9qPh1w Replacements for domains in outgoing links. Tuples with regular expressions to match, and domain_replacements replacement values. This is in addition to user-level configuration of privacyDomains. Defaults to [] Boolean If true, teddit will automatically cache_control remove all cached static files. Defaults to true How often the cache directory for static cache_control_interval files is emptied (in hours). Default is every 24 hours. Requires cache_control to be true. Defaults to 24 Array of suggested subreddits, which are displayed in the top bar (if the user doesn't suggested_subreddits have any subscriptions) and in the cleaned home page. Defaults to Reddit's default suggested subreddits. Manual 1. Install Node.js. 2. (Optional) Install redis-server. Highly recommended - it works as a cache for Reddit API calls. 3. (Optional) Install ffmpeg. It's needed if you want to support videos. # Linux apt install redis-server ffmpeg # macOS brew install redis 4. Clone and set up the repository. git clone https://codeberg.org/teddit/teddit cd teddit npm install --no-optional cp config.js.template config.js # edit the file to suit your environment redis-server npm start Teddit should now be running at http://localhost:8080. You can also run teddit from a process manager like pm2: ## To run: npm install pm2 -g pm2 start app.js --name teddit ## To run on startup: pm2 startup pm2 save ## if using systemd, see below. ## To restart or stop pm2 restart teddit pm2 stop teddit See also the pm2 instructions for running a project on startup. In particular, if using systemd, see the section on how to modify the systemd init file so that it runs after your system connects to the network. Legal Teddit does not host any content. All content shown on any Teddit instances is from Reddit(tm). Reddit is a trademark of Reddit Inc. Teddit is not affiliated with Reddit Inc. Any issues with content shown on any Teddit instances need to be reported to Reddit, not the instance host's internet provider or domain provider. [icon_inver] Codeberg * Documentation * Community Issues * API * Report Abuse Codeberg e.V. * Who are we? * Bylaws / Satzung * Donate * Join / Support * Contact Service * Codeberg Pages * Weblate Translations * Woodpecker CI * Status Page Legal * Imprint / Impressum * Privacy Policy * Licenses * Terms of Use Blog | Mastodon | Matrix Space | Twitter English Bahasa Indonesia Deutsch English Espanol Francais Italiano Latviesu Magyar nyelv Nederlands Polski Portugues de Portugal Portugues do Brasil Suomi Svenska Turkce Cestina Ellenika B'lgarski Russkii Ukrayins'ka frsy mlyaallN Ri Ben Yu Jian Ti Zhong Wen Fan Ti Zhong Wen (Tai Wan )Fan Ti Zhong Wen (Xiang Gang ) hangugeo