mirror of
https://github.com/pvrzz/Portage.git
synced 2026-08-12 03:46:30 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f446b53f46 | |||
| 88221a8221 | |||
| b2e46a1b09 | |||
| 97e0c1cee8 | |||
| 7bda2dac68 | |||
| 4102eabfa8 | |||
| 6870904dc2 | |||
| e4e90db5c5 | |||
| 07ca529e37 | |||
| c251bb3236 | |||
| 7f5a3eb07a | |||
| fdcc7776fa | |||
| 9c82abe695 | |||
| 3a2e5fa4fc |
@@ -0,0 +1,15 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: pvrzz # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||
polar: # Replace with a single Polar username
|
||||
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
|
||||
thanks_dev: # Replace with a single thanks.dev username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
@@ -4,15 +4,18 @@
|
||||
|
||||
**A universal browser data swap.** Export your setup to a portable JSON bundle. Import it anywhere. Chrome to Firefox, Firefox to Chrome, or a fresh install of the same browser. No cloud, no lock-in.
|
||||
|
||||
[github.com/pvrzz/Portage](https://github.com/pvrzz/Portage/)
|
||||
[Website](https://portage.pvrz.lol) - [Site Github](https://github.com/pvrzz/portage-site)
|
||||
|
||||
<br>
|
||||
|
||||
[](https://youtu.be/yzM9Ke0LPfw)
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## Why
|
||||
|
||||
Browsers intentionally make it annoying to leave their ecosystem. Portage is a straightforward, open-source tool that reads what it's allowed to read, dumps it into a human-readable `*.portage.json` file, and rebuilds it on the other side. Because the export is just plain JSON, it bridges the gap between competing browsers or lets you easily migrate to a new machine.
|
||||
Browsers intentionally make it harder to swap from their ecosystem, and often lack the proper built-in transferring support for third-party browsers built off of the same source (ex. Chromium, Firefox). Portage is a straightforward, open-source tool that reads what it's allowed to read, dumps it into a human-readable `*.portage.json` file, and rebuilds it on the other side. Because the export is just plain JSON, it bridges the gap between competing browsers or lets you easily migrate to a new machine.
|
||||
|
||||
## What transfers
|
||||
|
||||
@@ -40,6 +43,9 @@ Passwords and autofill data are completely walled off from extension APIs. You w
|
||||
* **Handle with care:** Your export bundle contains live session cookies. Treat this file exactly like an exported password vault. Keep it local, import it, and delete it immediately.
|
||||
* **No deduplication:** Importing the exact same file twice will duplicate your history and cookies. Just run it once and verify.
|
||||
|
||||
## Install (Packed)
|
||||
Check the releases tab of the repo, or go to the website for Portage at: https://portage.pvrz.lol/ for the latest Firefox and Chrome package.
|
||||
|
||||
## Install (Unpacked)
|
||||
|
||||
### Chrome
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Portage (Chrome)",
|
||||
"name": "Portage",
|
||||
"version": "2.0.0",
|
||||
"description": "Universal browser data swap. Export bookmarks, history, cookies, tabs, sessions and reading list to a portable JSON bundle, then import into any browser running Portage — Chrome to Firefox, or the same browser on a new machine. Also exports your extension list as a reinstall checklist.",
|
||||
"description": "Export bookmarks, history, cookies, tabs, sessions, and reading list to a portable JSON file. Import on any browser.",
|
||||
"homepage_url": "https://github.com/pvrzz/Portage/",
|
||||
"permissions": [
|
||||
"history",
|
||||
|
||||
@@ -77,7 +77,10 @@ function toast(msg, icon) {
|
||||
const wrap = document.getElementById("toasts");
|
||||
const el = document.createElement("div");
|
||||
el.className = "toast";
|
||||
el.innerHTML = iconSvg(SVG[icon] || SVG.check) + `<span>${msg}</span>`;
|
||||
el.innerHTML = iconSvg(SVG[icon] || SVG.check);
|
||||
const span = document.createElement("span");
|
||||
span.textContent = msg;
|
||||
el.appendChild(span);
|
||||
wrap.appendChild(el);
|
||||
setTimeout(() => { el.style.transition = "opacity .3s, transform .3s"; el.style.opacity = "0"; el.style.transform = "translateX(20px)"; }, 3400);
|
||||
setTimeout(() => el.remove(), 3800);
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Portage (Firefox)",
|
||||
"version": "2.0.0",
|
||||
"name": "Portage",
|
||||
"version": "2.0.1",
|
||||
"description": "Universal browser data swap. Export bookmarks, history, cookies, tabs and sessions to a portable JSON bundle, then import into any browser running Portage — Firefox to Chrome, or the same browser on a new machine. Also exports your add-on list as a reinstall checklist.",
|
||||
"homepage_url": "https://github.com/pvrzz/Portage/",
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "portage@local",
|
||||
"strict_min_version": "115.0"
|
||||
"strict_min_version": "115.0",
|
||||
"data_collection_permissions": {
|
||||
"required": ["none"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"permissions": [
|
||||
|
||||
Reference in New Issue
Block a user