script per siti che facilita la condivisione delle pagine web nelle istanze Mastodon toot ti permette di condividere URL su Mastodon, sunziona per qualsiasi istanza. Basta inserire il testo del tuo post e l'URL dell'istanza e cliccare su "Toot!". https://mastodon.it
Go to file
Nikita Karamov cc6dc2d408
Update motto
2023-09-02 21:56:42 +02:00
.github Update usernames 2022-02-02 15:32:36 +01:00
api Add support for GNU Social 2023-09-02 21:56:42 +02:00
assets Replace title logo 2023-09-02 21:56:39 +02:00
lib Get rid of the old name completely 2023-09-02 21:56:40 +02:00
public Update icons 2023-09-02 21:56:42 +02:00
script Update icons 2023-09-02 21:56:42 +02:00
.editorconfig Format Markdown with Prettier too 2023-09-02 21:56:39 +02:00
.eslintignore Replace Gulp with Vite 2023-09-02 21:56:38 +02:00
.eslintrc.json BREAKING: Refactor /api endpoint 2023-09-02 21:56:38 +02:00
.gitignore Simplify .gitignore 2023-09-02 21:56:39 +02:00
.pre-commit-config.yaml Fix pre-commit config 2023-09-02 21:56:40 +02:00
.prettierignore Format Markdown with Prettier too 2023-09-02 21:56:39 +02:00
.vercelignore Add new logos 2023-09-02 21:56:37 +02:00
CHANGELOG.md Update CHANGELOG 2023-09-02 21:56:41 +02:00
LICENSE Migrate license from MIT to AGPL-3.0 2021-01-30 00:48:40 +01:00
README.md Remove mention of Mastodon logo 2023-09-02 21:56:41 +02:00
index.html Update icons 2023-09-02 21:56:42 +02:00
package.json Update motto 2023-09-02 21:56:42 +02:00
pnpm-lock.yaml Add image optimisation 2023-09-02 21:56:42 +02:00
vercel.json Add vercel.json 2023-09-02 21:51:20 +02:00
vite.config.js Add image optimisation 2023-09-02 21:56:42 +02:00

README.md

Share2Fedi

Instance-agnostic share page for the Fediverse.

Share₂Fedi allows you to share stuff on Mastodon, GoToSocial, Pleroma, and other federated social networks, instance-agnostic. Just type in the post text and the instance URL, and click Post!

Or, open this page with the prefilled text URL parameter—it will be automatically inserted into the text field. The same goes for the instance URL parameter. This can be used to build custom share buttons for the federated social networks:

<a
  href="https://s2f.kytta.dev/?text=Hello%20world!&instance=https%3A%2F%2Fmastodon.xyz"
>
  Share on mastodon.xyz
</a>

The instance URL can be saved in your localStorage to be automatically appended if used later—handy!

Hosting

One-click Vercel deploy

Share₂Fedi is designed to run on Vercel. To deploy it yourself (it's free!), you can use the following button:

Deploy with Vercel

Host it yourself

Self-hosting Share₂Fedi outside of Vercel requires some extra setup:

Prerequisites: modern Node.js (v16 or later), pnpm.

  1. Install the dependencies:

    pnpm install
    
  2. Build the static files:

    pnpm build
    
  3. Run the backend server for the form:

    node api/share.js
    

    alternatively, if you want to run the process in the background:

    pm2 start api/share.js --watch --ignore-watch="node_modules"
    

    You can find a summary for pm2 at: https://pm2.keymetrics.io/docs/usage/quick-start/

  4. Set up a web server

    Basically, you need to run a server that would proxy the requests to /api/share. to the Node.js server you started. Here's how to achieve this in various HTTP servers:

    1. Apache
    DocumentRoot "<PATH_TO_SHARE2FEDI>/dist"
    
    ProxyPass "/api/share"  "http://localhost:8080/"
    
    1. Nginx
    root <PATH_TO_SHARE2FEDI>/dist;
    index.html;
    
    location /api/share {
        proxy_pass http://localhost:8080/;
    }
    
    1. Caddy
    root * <PATH_TO_SHARE2FEDI>/dist;
    try_files index.html
    
    handle_path /api/share {
       reverse_proxy localhost:8080
    }
    

See also

📯 Shareon (lightweight, stylish, and ethical share buttons) uses Share₂Fedi under the hood!

Licence

© 20202022 Nikita Karamov
Licensed under the GNU Affero General Public License, version 3.


This project is hosted on GitHub: https://github.com/kytta/share2fedi.git