Initial Commit

This commit is contained in:
Donovan Daniels 2024-05-02 22:04:43 -05:00
commit 84b39e1b7f
Signed by: Donovan_DMC
GPG Key ID: 907D29CBFD6157BA
666 changed files with 13055 additions and 0 deletions

8
.dockerignore Normal file
View File

@ -0,0 +1,8 @@
# Ignore everything
**
# Allow only the files that are actually needed
!/package.json
!/yarn.lock
!/Gemfile
!/Gemfile.lock

11
.eslintrc.json Normal file
View File

@ -0,0 +1,11 @@
{
"extends": ["@uwu-codes/eslint-config/esm"],
"rules": {
"@typescript-eslint/no-unsafe-declaration-merging": "off",
"@typescript-eslint/explicit-function-return-type": "error",
"unicorn/prefer-string-replace-all": "off",
"unicorn/consistent-function-scoping": "off",
"default-case": "off",
"init-declarations": "off"
}
}

9
.gitattributes vendored Normal file
View File

@ -0,0 +1,9 @@
# See https://git-scm.com/docs/gitattributes for more about git attribute files.
# Mark the database schema as having been generated.
db/schema.rb linguist-generated
# Mark any vendored files as having been vendored.
vendor/* linguist-vendored
config/credentials/*.yml.enc diff=rails_credentials
config/credentials.yml.enc diff=rails_credentials

44
.gitignore vendored Normal file
View File

@ -0,0 +1,44 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config.
/.bundle
/.yarn
# Ignore all environment files (except templates).
/.env*
!/.env*.erb
# Ignore all logfiles and tempfiles.
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep
# Ignore pidfiles, but keep the directory.
/tmp/pids/*
!/tmp/pids/
!/tmp/pids/.keep
# Ignore storage (uploaded files in development and any SQLite databases).
/storage/*
!/storage/.keep
/tmp/storage/*
!/tmp/storage/
!/tmp/storage/.keep
/public/assets
# Ignore master key for decrypting credentials and more.
/config/master.key
/app/assets/builds/*
!/app/assets/builds/.keep
/node_modules
/scripts
/.idea
/.run

15
.image_optim.yml Normal file
View File

@ -0,0 +1,15 @@
nice: 10
timeout: 120
advpng: false
gifsicle: true
jhead: false
jpegoptim: false
jpegrecompress: false
jpegtran: false
optipng: false
oxipng: false
pngcrush: false
pngout: false
pngquant: false
svgo: false

1
.node-version Normal file
View File

@ -0,0 +1 @@
18.8.0

201
.rubocop.yml Normal file
View File

@ -0,0 +1,201 @@
inherit_mode:
merge:
- Exclude
- Include
require:
- rubocop-erb
- rubocop-rails
AllCops:
NewCops: enable
SuggestExtensions:
rubocop-factory_bot: false
Bundler/OrderedGems:
Enabled: true
Layout/EmptyLineAfterGuardClause:
Enabled: false
Layout/FirstArrayElementIndentation:
EnforcedStyle: consistent
Layout/FirstHashElementIndentation:
EnforcedStyle: consistent
Layout/LineLength:
Enabled: false
Lint/SymbolConversion:
EnforcedStyle: consistent
Metrics/AbcSize:
Enabled: false
Metrics/BlockLength:
AllowedMethods:
- class_methods
- concerning
- context
- create_table
- factory
- FactoryBot.define
- should
- should_eventually
Exclude:
- config/**/*.rb
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
Naming/PredicateName:
Enabled: false
Rails/BulkChangeTable:
Enabled: false
Rails/HasManyOrHasOneDependent:
Enabled: false
Rails/HttpStatus:
EnforcedStyle: numeric
Rails/I18nLocaleTexts:
Enabled: false
Rails/InverseOf:
Enabled: false
Rails/Output:
Exclude:
- db/seeds.rb
- db/fixes/*.rb
Rails/ReversibleMigration:
Enabled: false
Rails/SkipsModelValidations:
Enabled: false
Rails/TimeZone:
Enabled: false
Rails/WhereEquals:
Enabled: false
Rails/WhereExists:
EnforcedStyle: where
Rails/WhereNotWithMultipleConditions:
Enabled: false
Style/ConditionalAssignment:
Enabled: false
Style/Documentation:
Enabled: false
Style/EmptyMethod:
EnforcedStyle: expanded
Style/FloatDivision:
Enabled: false
Style/GuardClause:
Enabled: false
Style/HashSyntax:
EnforcedShorthandSyntax: never
Style/IfUnlessModifier:
Enabled: true
Style/Lambda:
EnforcedStyle: literal
Style/NumericPredicate:
EnforcedStyle: comparison
Style/PerlBackrefs:
Enabled: false
Rails/OutputSafety:
Enabled: false
Style/QuotedSymbols:
Enabled: false
Style/StringLiterals:
EnforcedStyle: double_quotes
Style/TrailingCommaInArguments:
EnforcedStyleForMultiline: comma
Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: consistent_comma
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: consistent_comma
Style/RescueModifier:
Enabled: false
Lint/StructNewOverride:
Enabled: false
Layout/HashAlignment:
Enabled: true
EnforcedHashRocketStyle: table
EnforcedColonStyle: table
Style/MethodCallWithArgsParentheses:
Enabled: true
Style/MissingRespondToMissing:
Enabled: false
Style/ModuleFunction:
Enabled: false
Rails/ApplicationMailer:
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
Lint/MissingSuper:
Enabled: false
Lint/EmptyBlock:
Enabled: false
Rails/ActionControllerFlashBeforeRender:
Enabled: false
Rails/NegateInclude:
Enabled: false
Rails/DynamicFindBy:
Enabled: false
Rails/TransactionExitStatement:
Enabled: false
Style/NestedTernaryOperator:
Enabled: false
Metrics/ParameterLists:
Enabled: false

1
.ruby-version Normal file
View File

@ -0,0 +1 @@
3.2.2

1
.yarnclean Normal file
View File

@ -0,0 +1 @@
@types/node

1
.yarnrc.yml Normal file
View File

@ -0,0 +1 @@
nodeLinker: node-modules

46
Dockerfile Normal file
View File

@ -0,0 +1,46 @@
FROM ruby:3.2.2-alpine3.18 as ruby-builder
RUN apk --no-cache add build-base cmake git glib-dev postgresql14-dev
COPY Gemfile Gemfile.lock ./
RUN gem i foreman && BUNDLE_IGNORE_CONFIG=true bundle install -j$(nproc) \
&& rm -rf /usr/local/bundle/cache/*.gem \
&& find /usr/local/bundle/gems/ -name "*.c" -delete \
&& find /usr/local/bundle/gems/ -name "*.o" -delete
FROM node:18-alpine3.18 as node-builder
RUN apk --no-cache add git
WORKDIR /app
COPY package.json yarn.lock ./
RUN corepack enable && corepack prepare --activate && yarn install
RUN corepack install -g pnpm
FROM ruby:3.2.2-alpine3.18
RUN apk --no-cache add ffmpeg vips gifsicle \
postgresql14-client \
git jemalloc tzdata
WORKDIR /app
RUN git config --global --add safe.directory $(pwd)
ENV LD_PRELOAD=/usr/lib/libjemalloc.so.2
ENV RUBY_YJIT_ENABLE=1
# Setup node and yarn
COPY --from=node-builder /usr/lib /usr/lib
COPY --from=node-builder /usr/local/share /usr/local/share
COPY --from=node-builder /usr/local/lib /usr/local/lib
COPY --from=node-builder /usr/local/include /usr/local/include
COPY --from=node-builder /usr/local/bin /usr/local/bin
COPY --from=node-builder /root/.cache/node /root/.cache/node
# Copy gems and js packages
COPY --from=node-builder /app/node_modules node_modules
COPY --from=ruby-builder /usr/local/bundle /usr/local/bundle
# Stop bin/rails console from offering autocomplete
RUN echo "IRB.conf[:USE_AUTOCOMPLETE] = false" > ~/.irbrc
CMD ["foreman", "start", "-f", "Procfile.dev"]

95
Gemfile Normal file
View File

@ -0,0 +1,95 @@
# frozen_string_literal: true
source "https://rubygems.org"
gem "dotenv-rails", require: "dotenv/rails-now"
ruby "3.2.2"
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.1.1"
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem "sprockets-rails"
# Use postgresql as the database for Active Record
gem "pg", "~> 1.1"
# Use the Puma web server [https://github.com/puma/puma]
gem "puma", ">= 5.0"
# Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails]
gem "jsbundling-rails"
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
gem "turbo-rails"
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
gem "stimulus-rails"
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem "jbuilder"
# Use Redis adapter to run Action Cable in production
# gem "redis", ">= 4.0.1"
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
# gem "bcrypt", "~> 3.1.7"
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: %i[windows jruby]
# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", require: false
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"
group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem "debug", platforms: %i[mri windows]
end
group :development do
# Use console on exceptions pages [https://github.com/rails/web-console]
gem "web-console"
# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
# gem "rack-mini-profiler"
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
# gem "spring"
end
group :test do
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
gem "capybara"
gem "selenium-webdriver"
end
gem "github_webhook", "~> 1.4"
gem "httparty", "~> 0.21.0"
gem "redis", "~> 5.0"
gem "rubocop", "~> 1.57"
gem "rubocop-erb", "~> 0.3.0"
gem "rubocop-rails", "~> 2.22"
gem "whenever", "~> 1.0"
gem "filesize", "~> 0.2.0"
gem "ed25519", "~> 1.3"
gem "timeout", "~> 0.4.1"
gem "image_optim", "~> 0.31.3"
gem "request_store", "~> 1.5"
gem "ruby-vips", "~> 2.2"
gem "simple_form", "~> 5.3"
gem "responders", "~> 3.1"

352
Gemfile.lock Normal file
View File

@ -0,0 +1,352 @@
GEM
remote: https://rubygems.org/
specs:
actioncable (7.1.1)
actionpack (= 7.1.1)
activesupport (= 7.1.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
actionmailbox (7.1.1)
actionpack (= 7.1.1)
activejob (= 7.1.1)
activerecord (= 7.1.1)
activestorage (= 7.1.1)
activesupport (= 7.1.1)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.1.1)
actionpack (= 7.1.1)
actionview (= 7.1.1)
activejob (= 7.1.1)
activesupport (= 7.1.1)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.2)
actionpack (7.1.1)
actionview (= 7.1.1)
activesupport (= 7.1.1)
nokogiri (>= 1.8.5)
rack (>= 2.2.4)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
actiontext (7.1.1)
actionpack (= 7.1.1)
activerecord (= 7.1.1)
activestorage (= 7.1.1)
activesupport (= 7.1.1)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.1.1)
activesupport (= 7.1.1)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activejob (7.1.1)
activesupport (= 7.1.1)
globalid (>= 0.3.6)
activemodel (7.1.1)
activesupport (= 7.1.1)
activerecord (7.1.1)
activemodel (= 7.1.1)
activesupport (= 7.1.1)
timeout (>= 0.4.0)
activestorage (7.1.1)
actionpack (= 7.1.1)
activejob (= 7.1.1)
activerecord (= 7.1.1)
activesupport (= 7.1.1)
marcel (~> 1.0)
activesupport (7.1.1)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
base64 (0.2.0)
better_html (2.0.2)
actionview (>= 6.0)
activesupport (>= 6.0)
ast (~> 2.0)
erubi (~> 1.4)
parser (>= 2.4)
smart_properties
bigdecimal (3.1.4)
bindex (0.8.1)
bootsnap (1.17.0)
msgpack (~> 1.2)
builder (3.2.4)
capybara (3.39.2)
addressable
matrix
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
chronic (0.10.2)
concurrent-ruby (1.2.2)
connection_pool (2.4.1)
crass (1.0.6)
date (3.3.4)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
dotenv (2.8.1)
dotenv-rails (2.8.1)
dotenv (= 2.8.1)
railties (>= 3.2)
drb (2.2.0)
ruby2_keywords
ed25519 (1.3.0)
erubi (1.12.0)
exifr (1.4.0)
ffi (1.16.3)
filesize (0.2.0)
fspath (3.1.2)
github_webhook (1.4.2)
activesupport (>= 4)
rack (>= 1.3)
railties (>= 4)
globalid (1.2.1)
activesupport (>= 6.1)
httparty (0.21.0)
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
image_optim (0.31.3)
exifr (~> 1.2, >= 1.2.2)
fspath (~> 3.0)
image_size (>= 1.5, < 4)
in_threads (~> 1.3)
progress (~> 3.0, >= 3.0.1)
image_size (3.3.0)
in_threads (1.6.0)
io-console (0.6.0)
irb (1.8.3)
rdoc
reline (>= 0.3.8)
jbuilder (2.11.5)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
jsbundling-rails (1.2.1)
railties (>= 6.0.0)
json (2.6.3)
language_server-protocol (3.17.0.3)
loofah (2.21.4)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.8.1)
mini_mime (>= 0.1.1)
net-imap
net-pop
net-smtp
marcel (1.0.2)
matrix (0.4.2)
mini_mime (1.1.5)
minitest (5.20.0)
msgpack (1.7.2)
multi_xml (0.6.0)
mutex_m (0.2.0)
net-imap (0.4.4)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.2)
timeout
net-smtp (0.4.0)
net-protocol
nio4r (2.5.9)
nokogiri (1.15.4-x86_64-linux)
racc (~> 1.4)
parallel (1.23.0)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
pg (1.5.4)
progress (3.6.0)
psych (5.1.1.1)
stringio
public_suffix (5.0.3)
puma (6.4.0)
nio4r (~> 2.0)
racc (1.7.3)
rack (3.0.8)
rack-session (2.0.0)
rack (>= 3.0.0)
rack-test (2.1.0)
rack (>= 1.3)
rackup (2.1.0)
rack (>= 3)
webrick (~> 1.8)
rails (7.1.1)
actioncable (= 7.1.1)
actionmailbox (= 7.1.1)
actionmailer (= 7.1.1)
actionpack (= 7.1.1)
actiontext (= 7.1.1)
actionview (= 7.1.1)
activejob (= 7.1.1)
activemodel (= 7.1.1)
activerecord (= 7.1.1)
activestorage (= 7.1.1)
activesupport (= 7.1.1)
bundler (>= 1.15.0)
railties (= 7.1.1)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (7.1.1)
actionpack (= 7.1.1)
activesupport (= 7.1.1)
irb
rackup (>= 1.0.0)
rake (>= 12.2)
thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.1.0)
rdoc (6.6.0)
psych (>= 4.0.0)
redis (5.0.8)
redis-client (>= 0.17.0)
redis-client (0.18.0)
connection_pool
regexp_parser (2.8.2)
reline (0.4.0)
io-console (~> 0.5)
request_store (1.5.1)
rack (>= 1.4)
responders (3.1.1)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.2.6)
rubocop (1.57.2)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.4)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
rubocop-erb (0.3.0)
better_html
rubocop (~> 1.45)
rubocop-rails (2.22.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
ruby-progressbar (1.13.0)
ruby-vips (2.2.0)
ffi (~> 1.12)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
selenium-webdriver (4.15.0)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
simple_form (5.3.0)
actionpack (>= 5.2)
activemodel (>= 5.2)
smart_properties (1.17.0)
sprockets (4.2.1)
concurrent-ruby (~> 1.0)
rack (>= 2.2.4, < 4)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
stimulus-rails (1.3.0)
railties (>= 6.0.0)
stringio (3.0.8)
thor (1.3.0)
timeout (0.4.1)
turbo-rails (1.5.0)
actionpack (>= 6.0.0)
activejob (>= 6.0.0)
railties (>= 6.0.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.5.0)
web-console (4.2.1)
actionview (>= 6.0.0)
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
webrick (1.8.1)
websocket (1.2.10)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
whenever (1.0.0)
chronic (>= 0.6.3)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.12)
PLATFORMS
x86_64-linux
DEPENDENCIES
bootsnap
capybara
debug
dotenv-rails
ed25519 (~> 1.3)
filesize (~> 0.2.0)
github_webhook (~> 1.4)
httparty (~> 0.21.0)
image_optim (~> 0.31.3)
jbuilder
jsbundling-rails
pg (~> 1.1)
puma (>= 5.0)
rails (~> 7.1.1)
redis (~> 5.0)
request_store (~> 1.5)
responders (~> 3.1)
rubocop (~> 1.57)
rubocop-erb (~> 0.3.0)
rubocop-rails (~> 2.22)
ruby-vips (~> 2.2)
selenium-webdriver
simple_form (~> 5.3)
sprockets-rails
stimulus-rails
timeout (~> 0.4.1)
turbo-rails
tzinfo-data
web-console
whenever (~> 1.0)
RUBY VERSION
ruby 3.2.2p53
BUNDLED WITH
2.4.21

2
Procfile Normal file
View File

@ -0,0 +1,2 @@
server: bin/rails server -p 3000 -b 0.0.0.0
cron: bundler exec whenever --set environment="$RAILS_ENV" --update-crontab && crond -f

3
Procfile.dev Normal file
View File

@ -0,0 +1,3 @@
server: bin/rails server -p 3000 -b 0.0.0.0
assets: yarn build --watch
cron: bundler exec whenever --set environment="$RAILS_ENV" --update-crontab && crond -f

18
README.md Normal file
View File

@ -0,0 +1,18 @@
# README
* https://butts-are.cool
* https://e621.ws
* https://furry.cool
* https://maidboye.cafe
* https://oceanic.ws
* https://yiff.media
* https://yiff.rest
* https://yiff.rocks
# Production
`docker compose -f docker-compose.prod.yml run --rm -e RAILS_ENV=production websites /app/bin/setup`
`docker compose -f docker-compose.prod.yml up -d`
# Development
`docker compose run --rm websites /app/bin/setup`
`docker compose up`

8
Rakefile Normal file
View File

@ -0,0 +1,8 @@
# frozen_string_literal: true
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require_relative "config/application"
Rails.application.load_tasks

0
app/assets/builds/.keep Normal file
View File

View File

@ -0,0 +1,2 @@
//= link_tree ../images
//= link_tree ../builds

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="https://balls.butts-are.cool/ms-icon-70x70.png"/><square150x150logo src="https://balls.butts-are.cool/ms-icon-150x150.png"/><square310x310logo src="https://balls.butts-are.cool/ms-icon-310x310.png"/><TileColor>#00ffff</TileColor></tile></msapplication></browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -0,0 +1,92 @@
{
"name": "Butts Are Cool - Balls",
"short_name": "Butts Are Cool - Balls",
"theme_color": "#00ffff",
"background_color": "#00ffff",
"display": "browser",
"scope": "/",
"start_url": "/",
"icons": [
{
"src": "https://balls.butts-are.cool/favicon-16x16.png",
"sizes": "16x16",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/favicon-32x32.png",
"sizes": "32x32",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/android-icon-36x36.png",
"sizes": "36x36",
"type": "image/png",
"density": "0.75"
},
{
"src": "https://balls.butts-are.cool/android-icon-48x48.png",
"sizes": "48x48",
"type": "image/png",
"density": "1.0"
},
{
"src": "https://balls.butts-are.cool/apple-icon-57x57.png",
"sizes": "57x57",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/apple-icon-60x60.png",
"sizes": "60x60",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/android-icon-72x72.png",
"sizes": "72x72",
"type": "image/png",
"density": "1.5"
},
{
"src": "https://balls.butts-are.cool/apple-icon-76x76.png",
"sizes": "76x76",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/android-icon-96x96.png",
"sizes": "96x96",
"type": "image/png",
"density": "2.0"
},
{
"src": "https://balls.butts-are.cool/apple-icon-114x114.png",
"sizes": "114x114",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/apple-icon-120x120.png",
"sizes": "120x120",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/android-icon-144x144.png",
"sizes": "144x144",
"type": "image/png",
"density": "3.0"
},
{
"src": "https://balls.butts-are.cool/apple-icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/apple-icon-180x180.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "https://balls.butts-are.cool/android-icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"density": "4.0"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="https://penises.butts-are.cool/ms-icon-70x70.png"/><square150x150logo src="https://penises.butts-are.cool/ms-icon-150x150.png"/><square310x310logo src="https://penises.butts-are.cool/ms-icon-310x310.png"/><TileColor>#00ffff</TileColor></tile></msapplication></browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

View File

@ -0,0 +1,92 @@
{
"name": "Butts Are Cool - Penises",
"short_name": "Butts Are Cool - Penises",
"theme_color": "#00ffff",
"background_color": "#00ffff",
"display": "browser",
"scope": "/",
"start_url": "/",
"icons": [
{
"src": "https://penises.butts-are.cool/favicon-16x16.png",
"sizes": "16x16",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/favicon-32x32.png",
"sizes": "32x32",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/android-icon-36x36.png",
"sizes": "36x36",
"type": "image/png",
"density": "0.75"
},
{
"src": "https://penises.butts-are.cool/android-icon-48x48.png",
"sizes": "48x48",
"type": "image/png",
"density": "1.0"
},
{
"src": "https://penises.butts-are.cool/apple-icon-57x57.png",
"sizes": "57x57",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/apple-icon-60x60.png",
"sizes": "60x60",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/android-icon-72x72.png",
"sizes": "72x72",
"type": "image/png",
"density": "1.5"
},
{
"src": "https://penises.butts-are.cool/apple-icon-76x76.png",
"sizes": "76x76",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/android-icon-96x96.png",
"sizes": "96x96",
"type": "image/png",
"density": "2.0"
},
{
"src": "https://penises.butts-are.cool/apple-icon-114x114.png",
"sizes": "114x114",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/apple-icon-120x120.png",
"sizes": "120x120",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/android-icon-144x144.png",
"sizes": "144x144",
"type": "image/png",
"density": "3.0"
},
{
"src": "https://penises.butts-are.cool/apple-icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/apple-icon-180x180.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "https://penises.butts-are.cool/android-icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"density": "4.0"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Some files were not shown because too many files have changed in this diff Show More