# frozen_string_literal: true require 'uri' require 'base64' require 'digest/sha2' require 'sinatra' SOCIAL_DIR = '/srv/social/' PUBLIC_DIR = File.join(SOCIAL_DIR, 'public') PRIVATE_DIR = File.join(SOCIAL_DIR, 'private') OUTBOX_DIR = File.join(PUBLIC_DIR, 'outbox') TAGS_DIR = File.join(PUBLIC_DIR, 'tags') OLD_INBOX = File.join(PRIVATE_DIR, 'inbox.json') FOLLOWERS = File.join(PUBLIC_DIR, 'followers.json') FOLLOWING = File.join(PUBLIC_DIR, 'following.json') # OLD_OUTBOX = File.join(PUBLIC_DIR, 'outbox.json') # SHARED = File.join(PUBLIC_DIR, 'shared.json') USER = 'pdp8' SOCIAL_DOMAIN = 'social.pdp8.info' MENTION = "#{USER}@#{SOCIAL_DOMAIN}" WEBFINGER = File.join(PUBLIC_DIR, MENTION + '.json') SOCIAL_URL = "https://#{SOCIAL_DOMAIN}" ACTOR = File.join(SOCIAL_URL, USER) # OLD_OUTBOX_URL = File.join(SOCIAL_URL, 'outbox') TAGS_URL = File.join(SOCIAL_URL, 'tags') INBOX = { dir: File.join(SOCIAL_DIR, 'inbox') } OUTBOX = { dir: File.join(SOCIAL_DIR, 'outbox'), url: File.join(SOCIAL_URL, 'outbox') } CONTENT_TYPE = 'application/activity+json' # CONTENT_TYPE = 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' enable :sessions set :session_secret, File.read('.secret').chomp set :default_content_type, CONTENT_TYPE set :port, 9292 require_relative 'helpers' require_relative 'client' require_relative 'server'