{"id":23197191,"url":"https://github.com/jsnjack/eucm","last_synced_at":"2025-04-05T08:42:27.214Z","repository":{"id":179552471,"uuid":"662769136","full_name":"jsnjack/eucm","owner":"jsnjack","description":"Transfer cookies from a website to Surfly session (even better - future Surfly session) on the fly","archived":false,"fork":false,"pushed_at":"2025-03-23T12:29:35.000Z","size":121,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T13:29:52.179Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsnjack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-05T21:12:16.000Z","updated_at":"2025-03-23T12:29:35.000Z","dependencies_parsed_at":"2024-06-01T19:48:38.068Z","dependency_job_id":"818b5349-85f9-4ef5-8559-090fa48bb5ee","html_url":"https://github.com/jsnjack/eucm","commit_stats":null,"previous_names":["jsnjack/eucm"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Feucm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Feucm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Feucm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Feucm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsnjack","download_url":"https://codeload.github.com/jsnjack/eucm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312097,"owners_count":20918341,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-18T14:28:53.812Z","updated_at":"2025-04-05T08:42:27.179Z","avatar_url":"https://github.com/jsnjack.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Extremely Useful Cookie Migrator - eucm\n========\n\n### What is it?\n`eucm` transfer cookies from a website to Surfly session (even better -\n_future_ Surfly session!) on the fly.\n\n### How does it work?\nIt watches for all successful browser navigations via [webNavigation API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webNavigation)\nand when it is detected, it reads all cookies via [cookies API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/cookies)\nand migrates them to Surfly's cookie jar, applying Surfly proxification rules.\nAs a result - you will never need to log in again!\n\n### Insights and troubleshooting\n\n#### I've noticed that I'm often logged out of surfly website. How can I fix it?\nThe browsers store all cookies in the cookie store. Each top level domain has its\nown cookie store with the limited space. This space is different for each browser.\nFirefox and Chrome set it to 180 cookies.\n\nWhen the extension replicates cookies from a website to Surfly (for example,\nto `surfly.online` domain), it puts it in `surfly.online` cookies store. This store\ncontains all Surfly dashboard cookies + all other cookies for proxied websites.\nExample: cookies for `google.com` website are stored in `google-com-p.surfly.online`\ndomain, however `google-com-p.surfly.online` domain still uses `surfly.online` storage.\n\nWhen the number of cookies exceeds the limit, browsers start to evict cookies (first\nthe expired cookies, next the oldest accessed cookies). If you have a very productive\nSurfly session, Surfly log in cookie might be evicted from `surfly.online` cookie\nstore. This causes your Surfly session to be logged out.\n\nThe extension is trying to solve this problem by introducing the list of `favouriteCookies`.\nIf a cookie from this list is evicted, the extension will put it to storage again.\n\nThe problem can also be addressed by changing the default browser configuration:\n - for Firefox, open `about:config` and search for `network.cookie.`. Adjust the following\n   configuration options:\n   - `network.cookie.maxNumber` set it to 10000\n   - `network.cookie.maxPerHost` set it to 2000\n   - `network.cookie.quotaPerHost` set it to 1950\n - for Chrome users: install Firefox\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsnjack%2Feucm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsnjack%2Feucm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsnjack%2Feucm/lists"}