𝘋𝘪𝘳𝘬

Somewhere between Linux woes, gaming, open source, 3D printing, recreational coding, and occasional ranting.

🔗 Me, but elsewhere

🇬🇧 / 🇩🇪

  • 1 Post
  • 51 Comments
Joined 3 years ago
cake
Cake day: June 9th, 2023

help-circle




  • This a good idea?

    This sounds like a fun project that needs some customization, like styling and templating everything to make it look like a blog with federation and comments and not like a Lemmy instance.

    Edit: You could also setup GoToSocial for example and set maximum character size to 5000 or so.

    This will give you a place to blog and get comments. Readers need a front-end and for them it just looks like a Mastodon account, but you could use styling and template magic to convert the back-end into a nice looking blog front-end.

    It’s easy to setup, host, and maintain and runs on fairly low resources.

    Lemmy or Piefed? Which is easier to host

    Can’t say anything about Piefed, but from what I tried quite some time ago, Lemmy is absurdly annoying to properly set up in an already existing Docker environment with an already existing reverse proxy, because it wants to basically handle everything on it’s own.

    It might be actually easier to use another machine or a VM and install Docker there and let Lemmy do whatever it wants to do und just proxy from your main setup to the Lemmy setup.

    I gave up.


  • selfhost.eu offers dynamic DNS which works perfectly fine with my router, using their API access as documented by them. It also works perfectly well with Let’s Encrypt integrated in Nginx Proxy Manager.

    • can handle .at domains
    • is not Cloudflare
    • is registrar and name server
    • is European (Germany)
    • supports Nginx Proxy Manager

    They’re in the market since 2001, I use them since ca. 2010 and never had any issues. Their website looks ancient, almost historic. But it’s functional.









  • // Enable userChrome.css
    user_pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
    
    
    // Warnings
    user_pref('browser.aboutConfig.showWarning', false);
    
    
    // Style
    user_pref('browser.tabs.inTitlebar', 0);
    user_pref('browser.theme.content-theme', 1);
    user_pref('browser.theme.toolbar-theme', 1);
    
    
    // Extensions
    user_pref('extensions.activeThemeID', 'firefox-compact-light@mozilla.org');
    user_pref('extensions.pocket.enabled', false);
    user_pref('extensions.screenshots.disabled', true);
    user_pref('extensions.getAddons.showPane', false);
    user_pref('extensions.htmlaboutaddons.recommendations.enabled', false);
    
    
    // Zoom
    user_pref('toolkit.zoomManager.zoomValues', '.5,.3,1,1.2,1.3,1.5');
    user_pref('devtools.toolbox.zoomValue', '1.4');
    user_pref('browser.zoom.siteSpecific', false);
    
    
    // Privacy
    //
    // Basically do not leak URLs, IPs, etc. to external services
    user_pref('browser.safebrowsing.malware.enabled', false);
    user_pref('browser.safebrowsing.phishing.enabled', false);
    user_pref('security.OCSP.enabled', 0);
    user_pref('browser.contentblocking.category', 'custom');
    user_pref('app.shield.optoutstudies.enabled', false);
    user_pref('browser.urlbar.trending.featureGate', false);
    
    
    // DoH explicitly off
    user_pref('network.trr.mode', 5);
    user_pref('network.trr.default_provider_uri', '');
    
    
    // Cookies
    user_pref('network.cookie.cookieBehavior', 2);
    
    
    // AdBlock
    user_pref('browser.newtabpage.activity-stream.showSponsoredTopSites', false);
    user_pref('browser.newtabpage.activity-stream.feeds.section.topstories', false);
    user_pref('browser.newtabpage.activity-stream.feeds.topsites', false);
    
    
    // Remove weird URLS
    user_pref('toolkit.shopping.ohttpConfigURL', '');
    user_pref('toolkit.shopping.ohttpRelayURL', '');
    user_pref('browser.partnerlink.attributionURL', '');
    user_pref('browser.privatebrowsing.vpnpromourl', '');
    
    
    // Do not track
    user_pref('privacy.trackingprotection.enabled', false);
    user_pref('privacy.trackingprotection.emailtracking.enabled', false);
    user_pref('privacy.trackingprotection.socialtracking.enabled', false);
    user_pref('privacy.trackingprotection.cryptomining.enabled', false);
    user_pref('privacy.trackingprotection.fingerprinting.enabled', false);
    user_pref('privacy.donottrackheader.enabled', true);
    
    
    // Beahvior
    user_pref('general.smoothScroll', false);
    user_pref('signon.autofillForms', true);
    user_pref('signon.firefoxRelay.feature', 'disabled');
    user_pref('browser.download.manager.addToRecentDocs', false);
    user_pref('security.tls.version.min', 1);
    user_pref('browser.profiles.enabled', false);
    
    
    // UI features
    //
    // https://github.com/yokoffing/Betterfox/blob/main/user.js
    user_pref('browser.discovery.enabled', false);
    user_pref('browser.shell.checkDefaultBrowser', false);
    user_pref('browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons', false);
    user_pref('browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features', false);
    user_pref('browser.preferences.moreFromMozilla', false);
    user_pref('browser.tabs.tabmanager.enabled', false);
    user_pref('browser.aboutConfig.showWarning', false);
    user_pref('browser.aboutwelcome.enabled', false);
    user_pref('browser.uidensity', 0);
    user_pref('browser.urlbar.trimURLs', false);
    user_pref('browser.urlbar.showSearchTerms.enabled', false);
    
    
    // Telemetry
    //
    // https://github.com/yokoffing/Betterfox/blob/main/user.js
    user_pref('datareporting.policy.dataSubmissionEnabled', false);
    user_pref('datareporting.healthreport.uploadEnabled', false);
    user_pref('toolkit.telemetry.unified', false);
    user_pref('toolkit.telemetry.enabled', false);
    user_pref('toolkit.telemetry.server', 'data:,');
    user_pref('toolkit.telemetry.archive.enabled', false);
    user_pref('toolkit.telemetry.newProfilePing.enabled', false);
    user_pref('toolkit.telemetry.shutdownPingSender.enabled', false);
    user_pref('toolkit.telemetry.updatePing.enabled', false);
    user_pref('toolkit.telemetry.bhrPing.enabled', false);
    user_pref('toolkit.telemetry.firstShutdownPing.enabled', false);
    user_pref('toolkit.telemetry.coverage.opt-out', true);
    user_pref('toolkit.coverage.opt-out', true);
    user_pref('toolkit.coverage.endpoint.base', '');
    user_pref('browser.ping-centre.telemetry', false);
    user_pref('browser.newtabpage.activity-stream.feeds.telemetry', false);
    user_pref('browser.newtabpage.activity-stream.telemetry', false);
    user_pref('breakpad.reportURL', '');
    user_pref('browser.tabs.crashReporting.sendReport', false);
    user_pref('browser.crashReports.unsubmittedCheck.autoSubmit2', false);
    user_pref('app.shield.optoutstudies.enabled', false);
    user_pref('app.normandy.enabled', false);
    user_pref('app.normandy.api_url', '');
    
    
    // Disable AI bullshit
    //
    user_pref('browser.ml.enable', false);
    user_pref('browser.ml.chat.enabled', false);
    user_pref('browser.ml.chat.shortcuts', false);
    user_pref('browser.ml.chat.sidebar', false);
    user_pref('pdfjs.enableAltText', false);
    user_pref('pdfjs.enableUpdatedAddImage', false);
    

    and

    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    
    /* Tabs styling */
    
    #TabsToolbar {
        background-color: #cccccc !important;
        --toolbarbutton-inner-padding: 0 !important;
    }
    
    .tabbrowser-tab {
        padding: 0 !important;
    }
    
    .tab-background {
        margin: 0 !important;
        border-radius: 0 !important;
        background-color: var(--toolbar-bgcolor) !important;
        box-shadow: none !important;
    }
    
    #alltabs-button {
        display: none !important;
    }
    
    #tabbrowser-tabs {
        min-height: unset !important;
    }
    
    
    /* secondary label indicators */
    
    @font-face {
        /* copy font file to same directory as this CSS file */
        font-family: 'SymbolsNerdFont';
        src: url('SymbolsNerdFont.ttf') format('truetype');
    }
    
    .tab-secondary-label {
        display: none;
    }
    
    .tab-text::before {
        font-family: SymbolsNerdFont;
        padding-right: 0.25em;
    }
    
    .tabbrowser-tab[soundplaying] .tab-text::before { content: ''; }
    .tabbrowser-tab[muted] .tab-text::before { content: '󰝟'; }
    .tabbrowser-tab[activemedia-blocked] .tab-text::before { content: ''; }
    
    /* unselected tabs */
    
    .tab-background:not([selected]),
    .tab-icon-image:not([selected]) {
        opacity: 0.4 !important;
    }
    .tab-text:not([selected]) {
        color: #555753 !important;
    }
    
    #tabbrowser-arrowscrollbox {
        min-height: var(--tab-min-height) !important;
        max-height: var(--tab-min-height) !important;
    }
    
    scrollbox[part="scrollbox"] {
        gap: 2px;
    }
    

    and

    /* Style about:home and about:newtab */
    
    @-moz-document url-prefix(about:home), url-prefix(about:newtab) {
        .logo-and-wordmark {
            background-image: url(REPLACE_ME_WITH_YOUR_FAVORITE_IMAGE.jpg);
            background-size: cover;
            background-position: center;
            aspect-ratio: 16/9;
            border-radius: 1em;
            position: relative;
            width: auto;
            height: auto;
            max-width: 80%;
            max-height: 60vh;
            margin: 0 auto;
        }
    
        .logo-and-wordmark .logo {
            display: none !important;
        }
    
        .logo-and-wordmark .wordmark {
            position: absolute;
            right: 2em;
            bottom: 0.5em;
            --newtab-wordmark-color: #eb8819;
        }
    }