mirror of
https://github.com/web3privacy/news.git
synced 2024-10-15 18:06:26 +02:00
road to refactor
This commit is contained in:
parent
6adc5a9eb7
commit
b282afbdbe
6 changed files with 185 additions and 0 deletions
41
.github/workflows/deploy.yml
vendored
Normal file
41
.github/workflows/deploy.yml
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
name: Build and Deploy
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main # Set a branch to deploy
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: denoland/setup-deno@v1
|
||||
with:
|
||||
deno-version: v1.x
|
||||
|
||||
- uses: szenius/set-timezone@v1.0
|
||||
with:
|
||||
timezoneLinux: "Europe/Prague"
|
||||
|
||||
- name: Build bundle
|
||||
run: make
|
||||
|
||||
#- name: Add custom domain
|
||||
# run: "touch dist/CNAME && echo \"data.web3privacy.info\" >> dist/CNAME"
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./dist
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dist
|
2
Makefile
Normal file
2
Makefile
Normal file
|
@ -0,0 +1,2 @@
|
|||
all:
|
||||
deno run --allow-all utils/build.js
|
28
src/2024/week05.md
Normal file
28
src/2024/week05.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
### Research
|
||||
|
||||
* [Privacy Spreadsheet](https://privacyspreadsheet.com/messaging-apps) comparing different messengers on their privacy properties ([src](https://twitter.com/russian_bot_69/status/1754051913182478683))
|
||||
* [Passkeys wallet on the EVM](https://medium.com/@salvayre.yoan/passkeys-wallet-on-the-evm-69d4930ea4af) by @slovaye ([src](https://twitter.com/slovaye/status/1754138804909158708))
|
||||
|
||||
### Ecosystem
|
||||
|
||||
* [Nym x Zcash grant](https://forum.zcashcommunity.com/t/revised-nym-for-zcash-network-level-privacy/46688)
|
||||
* [Horswap](https://1.horswap.eth.limo/): Uniswap frontend without censorship or interface fees, by @MicahZoltu ([src](https://twitter.com/MicahZoltu/status/1753416705983074668))
|
||||
* IllumineX (confidental EVM DEX) [launched Mainnet](https://oasisprotocol.org/blog/illuminex-mainnet-oasis-sapphire) on Oasis Sapphire network ([src](https://twitter.com/oasisprotocol/status/1754562811462922606))
|
||||
|
||||
### Government
|
||||
|
||||
* [NSA Admits Secretly Buying Your Internet Browsing Data without Warrants](https://thehackernews.com/2024/01/nsa-admits-secretly-buying-your.html)
|
||||
|
||||
### Breaches
|
||||
|
||||
* [Mother of all breaches](https://cybernews.com/security/billions-passwords-credentials-leaked-mother-of-all-breaches/) (MOAB) reveals 26 billion records
|
||||
|
||||
### Events
|
||||
|
||||
* MoneroKon 2024 started [selling tickets](https://shop.monerokon.org/monerokon/2024/) ([src](https://twitter.com/MoneroKon/status/1752928601299730871))
|
||||
* ETHBerlin4 [Hacker application](https://visas.ethberlin.org/ethberlin/4/) & [volunteer application](https://office.ethberlin.org/form/#/2/form/view/Jg-FHZYy2RKg7XTJ9pULHii0du1kVQ2QwawZdjkmgCY/) open ([src](https://twitter.com/ETHBerlin/status/1753791403690246348))
|
||||
|
||||
### Videos
|
||||
|
||||
* [The Great Privacy Awakening](https://www.youtube.com/watch?v=NvyqPec7G-c) by @JackRhysider ([src](https://twitter.com/JackRhysider/status/1752013494810198079))
|
||||
* [Breaking Bitlocker](https://www.youtube.com/watch?v=wTl4vEednkQ) - Bypassing the Windows Disk Encryption ([src](https://twitter.com/wilderko/status/1754198973303165187))
|
41
src/2024/week06.md
Normal file
41
src/2024/week06.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
curator: Tree
|
||||
---
|
||||
|
||||
### Research
|
||||
|
||||
* [Week in the Privacy News](https://news.web3privacy.info/): new weekly summary of the most important news from ecosystem
|
||||
* Pavol Lupták: [Brave is not a true privacy-oriented browser](https://twitter.com/wilderko/status/1755724309371158612)
|
||||
* Zac Williamson: thread about visions of a [dystopian future when we fail](https://twitter.com/Zac_Aztec/status/1755309412435259657)
|
||||
* Wired: [experience with Passkeys](https://web.archive.org/web/20240211021321/https://www.wired.com/story/stopped-using-passwords-passkeys/#intcid=_wired-tag-right-rail_be4cde38-940c-4c15-8796-37cb1513d6ae_popular4-1)
|
||||
|
||||
### Ecosystem
|
||||
|
||||
* Logos, Nomos, Waku, Codex, Status and others now federated under the [Institute of Free Technology](https://free.technology/)
|
||||
* Binance [Will Delist XMR](https://www.binance.com/en/support/announcement/binance-will-delist-ant-multi-vai-xmr-on-2024-02-20-f73b083ba6834771b07dbe5319917ae5) on 2024-02-20 ([src](https://twitter.com/wilderko/status/1754857029892538430))
|
||||
* [Binance delisting sparks privacy concerns](https://archive.is/20240209130053/https://www.ft.com/content/971ac694-f250-412c-9fe0-f956378a751a): Financial Times article on Monero delisting
|
||||
* [Brave Nightly support Zcash](https://twitter.com/brave/status/1756138102395973834) in their integrated wallet (only unshielded transactions for now)
|
||||
* WalletConnect launches Web3Modal Analytics, showing that they [doesn't mind tracking own users](https://twitter.com/hazae41/status/1755379493609374113)
|
||||
* Session team announced upcoming [upgrade from Oxen Network to Session Network](https://getsession.org/upgrading-to-session-network)
|
||||
* Skiff was [acquired by Notion](https://twitter.com/skiffprivacy/status/1756093174806974831) and will wind down its services in 6 months ([src](https://twitter.com/gweicz/status/1756110645064306703))
|
||||
|
||||
### Releases
|
||||
|
||||
* Brume Wallet [v0.5](https://github.com/brumewallet/wallet/releases/tag/v0.5.0): UI enhancements, added features, faster startup, content creation introduction
|
||||
|
||||
### Podcasts
|
||||
|
||||
* [War on privacy in Web3?](https://www.podpage.com/epic-web3-podcast/war-on-privacy-in-web3-with-zach-williamson-co-founder-ceo-at-aztec-protocol/): with Zach Williamson, CEO at Aztec Protocol
|
||||
* [Function of privacy in DeFi](https://twitter.com/therollupco/status/1755052382633787690): @robbie_rollup and Lou Waroo from Houdini Swap, crosschain DEX and liquidity agreggator
|
||||
* [Drama is the Prime Indicator of Decentralisation](https://www.youtube.com/watch?v=PLJ1DYdae7o&t=1050s): with Dr. Nick Almond from Factory DAO ([src](https://twitter.com/wuipod/status/1756743521296347418))
|
||||
|
||||
### Community
|
||||
|
||||
* [DAO Privacy](https://twitter.com/i/spaces/1ZkKzjvBLXwKv): X space with Gnosis Guild, Safe, Shutter Network, ShapeShift & Fractal ([src](https://twitter.com/fractalappxyz/status/1753886789402575131))
|
||||
|
||||
### Other
|
||||
|
||||
* Defunkt: The co-founder and former CEO of GitHub has been [banned from GitHub](https://twitter.com/defunkt/status/1754610843361362360) (without explanation) ([src](https://twitter.com/vpavlin/status/1754792610898587700))
|
||||
* Citrea: [Bitcoin's first ZK Rollup](https://www.blog.citrea.xyz/introducing-citrea/) ([src](https://twitter.com/citrea_xyz/status/1754883284893356368))
|
||||
* [Liberation Travel Hacks 02/2024](https://liberation.travel/?mailpoet_router&endpoint=view_in_browser&action=view&data=WzEwLCI0ZjU4NjA1ZWIxMzQiLDAsMCw1LDFd) from Liberation Travel ([subscribe](https://liberation.travel/new-liberation-travel-hacks-month-letter/))
|
||||
* Canada moves to [ban Flipper Zero](https://gizmodo.com/canada-moves-to-ban-the-flipper-zero-over-car-hacking-f-1851242790) over car hacking fears ([src](https://twitter.com/wilderko/status/1756719463406211357))
|
72
utils/build.js
Normal file
72
utils/build.js
Normal file
|
@ -0,0 +1,72 @@
|
|||
import { join } from "https://deno.land/std@0.208.0/path/mod.ts";
|
||||
import { emptyDir } from "https://deno.land/std@0.196.0/fs/empty_dir.ts";
|
||||
import { setWeek, nextMonday, format, addDays } from 'npm:date-fns';
|
||||
import { marked } from 'npm:marked';
|
||||
import matter from 'npm:front-matter';
|
||||
|
||||
const SRC_DIR = "./src";
|
||||
const DEST_DIR = "./dist";
|
||||
|
||||
async function build() {
|
||||
const issues = [];
|
||||
for await (const dirEntry of Deno.readDir(SRC_DIR)) {
|
||||
if (!dirEntry.isDirectory || !dirEntry.name.match(/^\d{4}$/)) {
|
||||
continue;
|
||||
}
|
||||
//const [fn, ext] = dirEntry.name.split(".");
|
||||
const year = dirEntry.name;
|
||||
const yearDir = join(SRC_DIR, year);
|
||||
console.log(`Processing year: ${year}`);
|
||||
for await (const dirEntry of Deno.readDir(yearDir)) {
|
||||
const [fn, ext] = dirEntry.name.split(".");
|
||||
const weekMatch = fn.match(/^week(\d{2})$/)
|
||||
if (!weekMatch || ext !== "md") {
|
||||
continue;
|
||||
}
|
||||
const week = weekMatch[1]
|
||||
const mdPath = join(SRC_DIR, year, dirEntry.name);
|
||||
const source = await Deno.readTextFile(mdPath);
|
||||
|
||||
const issue = {
|
||||
week: `${year}-${week}`,
|
||||
period: calcPeriod(year, week),
|
||||
}
|
||||
|
||||
await renderData(issue, source)
|
||||
issues.push(issue)
|
||||
}
|
||||
}
|
||||
|
||||
await emptyDir(DEST_DIR);
|
||||
const outputFn = join(DEST_DIR, "index.json");
|
||||
await writeJSONFile(outputFn, issues);
|
||||
}
|
||||
|
||||
async function renderData(issue, source) {
|
||||
const fm = matter(source);
|
||||
|
||||
const parsed = marked.parse(fm.body);
|
||||
return Object.assign(issue, fm.attributes, { newsMd: fm.body, newsHtml: parsed });
|
||||
|
||||
//const fm = matter(issue.source)
|
||||
//console.log(fm)
|
||||
//console.log(parsed)
|
||||
//return
|
||||
}
|
||||
|
||||
function calcPeriod(year, week) {
|
||||
const weekStart = setWeek(nextMonday(new Date(Number(year), 0, 4)), Number(week), {
|
||||
weekStartsOn: 1,
|
||||
firstWeekContainsDate: 4,
|
||||
});
|
||||
const weekEnd = addDays(weekStart, 6);
|
||||
|
||||
return [ weekStart, weekEnd ];
|
||||
}
|
||||
|
||||
async function writeJSONFile(fn, data) {
|
||||
console.log(`File written: ${fn}`);
|
||||
return Deno.writeTextFile(fn, JSON.stringify(data, null, 2));
|
||||
}
|
||||
|
||||
build();
|
Loading…
Reference in a new issue