Vinnaren i pepparkakshustävlingen!
2018-06-21, 13:51
  #1
Medlem
pponmms avatar
Eftersom att det verkar som att man inte längre kommer att kunna posta länkar till nyhetsartiklar på sidor som drar in intäkter, utan att eventuellt betala för det, så har jag börjat på ett simpelt projekt för att kringgå lagen. Jag behöver dock hjälp!

https://www.svt.se/kultur/eu-sager-j...pphovsrattslag
Citat:
Artikel 11, det andra kraftigt omstridda förslaget, handlar om att skydda nyhetsmediers upphovsrätt och kan försvåra för kommersiella aktörer att sprida till exempel artiklar utan att källan tjänar pengar på detta. Det kan innebära en licensavgift för att länka till en nyhetsartikel – om du själv har intäkter från exempelvis reklam på ditt företags hemsida eller din personliga blogg.

Tanken är att ha ett tillägg för webbläsaren (i detta fall så har jag utvecklat ett tillägg för Chrome), som automatiskt ska ändra på alla länkar man postar, och sedan när man besöker en sida som innehåller en sådan länk, ändrar tillbaka till den riktiga länken. På detta vis så postar man aldrig en länk direkt till en artikel, man postar istället något som ser ut såhär:
<changed_link>xxx/gmbticbdl/psh0$upq
Denna adress hade av tillägget översatts till: www.flashback.org/#top för andra personer som sedan läser inlägget.

Det som händer är att varje bokstav i länken ändras till samma bokstavs byte-värde + 1. Så ett "a" skulle bli ett "b" osv.

Än så länge så har jag fått tillägget att hitta alla länkar som börjar med en viss tagg på varje hemsida man besöker, och sedan ta bort taggen och ändra länken till den riktiga länken innan sidan visas för användaren. Detta är första gången jag har försökt att göra ett tillägg för en webbläsare, och första gången jag har använt JavaScript, så min kod är långt ifrån perfekt. Jag tänkte därför att vi tillsammans kunde jobba på detta tillägg för att göra det så bra som möjligt.

Såhär installerar du tillägget:
1) Skapa en ny mapp på din dator, döp den till vad du vill.
2) Skapa en fil i mappen med namnet "manifest.json" och klistra in denna kod:
Kod:
{
	"manifest_version": 2,
	"name": "Chrome Extension",
	"version": "1.0",
	"description": "Change all links!",
	"permissions": ["storage","tabs","activeTab","https://ajax.googleapis.com/"],
	"content_scripts": [{
		"matches": ["<all_urls>"],
		"js": ["content.js"],
		"run_at": "document_end"
	}],
	"background": {
		"scripts": ["background.js"],
		"persistent": false
	}
}
3) Skapa en till fil och döp den till "background.js", klistra sedan in denna kod i filen:
Kod:
// listen for installed event
chrome.runtime.onInstalled.addListener( function() {

	console.log( "Extension installed!" );
});

// listen for events from content script
chrome.extension.onMessage.addListener( function( request, sender, sendResponse ) {
	
	switch( request.type )
	{
		case "encrypted_link_found":
			console.log(	"Link: " + request.data.link
							+ "\nEncrypted: " + request.data.encrypted_link
							+ "\nDecrypted: " + request.data.decrypted_link );
		break;
    }
	
	return true;
});
4) Skapa en tredje fil som du döper till "content.js" och klistra in denna kod:
Kod:
var	g_encryptionTag = "https://";

// replace a part of the string
String.prototype.replaceAt=function( index, replacement ) {

	return this.substr( 0, index ) + replacement + this.substr( index + replacement.length );
}

// get the decrypted char at the char index of encrypted string
String.prototype.decryptCharAtIndex=function( index ) {

	return String.fromCharCode( this.charCodeAt( index ) + 1 );
}

// remove the tag from the start of the href
String.prototype.removeEncryptionTag=function() {

	return this.substr( g_encryptionTag.length, this.length );
}

window.onload=function() {

	// for each link in DOM
	for( i = 0; i < document.links.length; i++ ) {
		
		var link = document.links[i].href;
		
		// if tag is found in link
		var find_result = link.search( "flashback.org" ); // byt ut argumentet mot g_encryptionTag
		if( find_result != -1 )
		{
			// decrypt link
			var encrypted_link = link.removeEncryptionTag();
			var decrypted_link = encrypted_link;
			
			for( c = 0; c < decrypted_link.length; c++ )
			{
				decrypted_link = decrypted_link.replaceAt( c, decrypted_link.decryptCharAtIndex( c ) );
			}
		
			// notify background listener
			chrome.extension.sendMessage({
				type: "encrypted_link_found",
				data: {
					link: link,
					encrypted_link: encrypted_link,
					decrypted_link: decrypted_link
				}
			});
			
			//document.links[ i ].href = decrypted_link;
		}
	}
}
5) Skriv in "chrome://extensions/" i adressfältet i din Chrome webbläsare.
6) Aktivera "Programmerarläge" genom att trycka på knappen högst upp till höger på sidan.
7) Tryck på "Läser in okomprimerat tillägg" och välj mappen du skapade i steg (1).

Nu kan du öppna bakgrundssidan för appen genom att trycka på "bakgrundssida" i rutan för det nya tillägget (som kallas för "Chrome Extension"), vilken kommer att säga "Extension installed!" om du väljer att refresha tillägget genom att trycka på den gråa pilen i rutan för ditt tillägg. Jag har gjort en röd cirkel runt alla de viktiga knapparna på sidan:
https://i.imgur.com/UFwupsA.png

För tillfället så kommer koden endast att aktiveras för länkar som innehåller "flashback.org". Jag har en kommentar om vad man ska ändra för att tillägget ska kolla efter länkar med taggen istället, denna kommentar finner du på rad 30 i "content.js". Man kan välja vad taggen ska vara genom att ändra på variabeln "g_encryptionTag" högst upp i samma script, just nu så plockar den bort "https://". Allt detta är för att testa så att tillägget än så länge fungerar som det var tänkt, vilket det gör. Man måste även ta bort kommentaren för den sista raden i scriptet "document.links[ i ].href = decrypted_link;" så att länkarna faktiskt ändrar på sig. Om man vill så kan man ändra raden till "document.links[ i ].href = www.google.se";" för att ändra alla länkar på flashback.org för att leda till www.google.se.

Om man har bakgrundssidan öppen för tillägget när man besöker flashback.org så kommer man att se något som ser ut såhär:
Citat:
Link: (FB) Paranormala fenomen, ockultism och ufologi
Encrypted: www.flashback.org/f148
Decrypted: xxx/gmbticbdl/psh0g259
för varje länk som finns på sidan.

Eftersom att tillägget just nu letar efter alla länkar som innehåller "flashback.org" så kommer alla länkar att ändra på sig om man besöker flashback.org. Och sedan kommer "https://" att plockas bort i början av länken (genom värdet på g_encryptionTag). Detta är bara ett bevis på att det fungerar som det ska. Som sagt så måste man göra ändringen som står på rad 30 i content.js och sedan ändra på variabeln g_encryptionTag för att få det att fungera som det är tänkt. Men eftersom att jag inte har fått delen där tillägget ska ändra på länkarna automatiskt att fungera än, så är tillägget bara en demonstration för idén.

Målet för tråden är att vi utforskar om det går att utveckla detta tillägg för att även ändra på alla länkar som man postar online automatiskt, och funderar på om detta hade varit en praktisk lösning för att kringgå Artikel 11.
__________________
Senast redigerad av pponmm 2018-06-21 kl. 14:01.
Citera
2018-06-21, 14:28
  #2
Avstängd
Trasigatrosors avatar
Varningstexter,


Som typ, "detta som skrivs eller sägs är inte menat att diskrimenera minoriteter etc och alla andra mjuka jvlar som kan ta illa upp, som moderatorerna på Flashback",

Hur fan tror du annars att cigarettbolagen kan sälja ngt som ger cancer men ändå komma undan.....då är det på individens ansvar.
Citera
2018-06-21, 14:35
  #3
Medlem
kalkryggars avatar
Citat:
Ursprungligen postat av pponmm

Målet för tråden är att vi utforskar om det går att utveckla detta tillägg för att även ändra på alla länkar som man postar online automatiskt, och funderar på om detta hade varit en praktisk lösning för att kringgå Artikel 11.

Jag tror inte att idén är hållbar eftersom du fortfarande länkar till artikeln. Alltså att länken leder till artikeln. Det spelar liksom ingen roll att du väljer att visa a som b på din webbsida.
__________________
Senast redigerad av kalkryggar 2018-06-21 kl. 14:44.
Citera
2018-06-21, 14:47
  #4
Avstängd
Trasigatrosors avatar
Citat:
Ursprungligen postat av kalkryggar
Jag tror inte att idén är hållbar eftersom du fortfarande länkar till artikeln. Alltså att länken leder till artikeln. Det spelar liksom ingen roll att du väljer att visa a som b på din webbsida.

Det jag skriver i detta inlägg är inte menat att provocera, reta eller uppvigla till hets, det är inte heller menat att skrämma eller förlöjliga andra obefintliga makt, det är ren info, om individen tycker att det är fel kan den gärna komma med ett svar som har bäring i domstol"


Länka inte till Artikeln, utan för-varna att "om" du läser detta, trycker på länken, oavsett om du är en myndighet eller moderator på FB, eller om du råkar vara en räka eller en ihjälklubbad säl" så är det ditt ansvar.

Om en moderator sedan gör det ändå går de emot hela sitt vetande som moderator, .....ganska enkelt

Räknar med en till 10000 tillsägelser för detta men det tar jag,

They cant handle reality...det är därför dem är moderatorer på flashback där anonymitet råder, i verkligheten är dem bara folk med åsikter utan verklighetsbäring

, jag vet för att jag knullar 3 av dem på relavit basis


Har ni unga inte lärt ert ngt av varningstexter?
__________________
Senast redigerad av Trasigatrosor 2018-06-21 kl. 14:52.
Citera
2018-06-21, 14:48
  #5
Moderator
vhes avatar
Flyttas på begäran till Systemutveckling. Notera att diskussioner runt juridiken bäst tas i juridikforumet, förslagsvis i separat tråd där.

Nätverk: mjukvara --> Webbutveckling och javascript
/Moderator
Citera
2018-06-21, 15:19
  #6
Medlem
pponmms avatar
Citat:
Ursprungligen postat av kalkryggar
Jag tror inte att idén är hållbar eftersom du fortfarande länkar till artikeln. Alltså att länken leder till artikeln. Det spelar liksom ingen roll att du väljer att visa a som b på din webbsida.

Dom kan ju inte kräva betalt för icke-fungerande länkar, som dessutom inte ens leder till deras hemsida! Länkarna omvandlas ju bara till en följd av olika bokstäver, inte en länk, därför borde det kringgå lagen. Man kan även hasha länkarna om man vill ta det ett steg längre, då kommer det inte gå att känna igen länkarna med blotta ögat heller. Man kan seeda hash-funktionen med samma frö varje gång man postar en länk, och sedan seedar man den igen med samma frö när man öppnar en sida. De kan ju omöjligt påstå att något som ser ut såhär: "xusadntdyapwaedffsdfr" är en länk till deras hemsida.

Eftersom att hemsidan man postar den hashade länken på egentligen inte får en länk, (bara resultatet av en hash-funktion) så bör de inte kunna påstå att det är en länk till deras hemsida/artikel. Om dom kan det, så kommer ju alla sidor som innehåller en slumpmässig följd av bokstäver att kunna tvingas betala för att ha länkat till en annan sida/artikel - vilket vore helt galet!

Jag skulle dock tro att det räcker med att ändra byte-värdet med 1 för varje bokstav i länken. Annars kan man göra något sånt här för varje bokstav:

bokstav[ i ] = [bokstav[ i ]'s byte-värde] + i

Alltså så kommer en länk som ser ut såhär: abcd
Att se ut såhär: aceg
__________________
Senast redigerad av pponmm 2018-06-21 kl. 15:27.
Citera
2018-06-21, 15:27
  #7
Medlem
kalkryggars avatar
Citat:
Ursprungligen postat av Trasigatrosor
Länka inte till Artikeln, utan för-varna att "om" du läser detta, trycker på länken, oavsett om du är en myndighet eller moderator på FB, eller om du råkar vara en räka eller en ihjälklubbad säl" så är det ditt ansvar.


Har ni unga inte lärt ert ngt av varningstexter?

Hur förändrar det att din webbsida länkar till artikeln? Inget och din varningstext gör inte att man kommer runt regeln.

Ts teknik löser inte heller problemet. Jag kanske var lite otydlig när jag skrev visar. Ts har en länk i sin kod som leder till artikeln. Jag tror inte ens att det i förlängningen kommer att hålla även om man inte visar upp länken. Det kommer räcka att länken finns i koden. Hur den skrivs (med vilka tecken) spelar ingen roll. Det är vart länken leder som är av betydelse.

Därför måste tillägget ha en koppling till en server som är registrerad utanför EU. Men jag tror inte det räcker eftersom du har dina annonsintäkter i Sverige (EU). Därför faller hela idén med appen.

Jag ser att moderatorn ger någon brasklapp om att inte diskutera det juridiska. Handlar det om just det jag skriver? I så fall vill jag att moderatorn förtydligar. Skall jag starta en separat tråd där om just den här tråden och den tekniska lösningen som utarbetas här? När arbetet fortgår med denna app så skall man alltså uppdatera sidotråden med det juridiska problem som appen har? Är det rätt uppfattat?

Om jag har rätt så faller hela idén med appen och det måste man väl få uttrycka i den här tråden utan att skapa en tråd i en annan forumdel som säger det? Eller? Får jag inte skriva detta här så ber jag om ursäkt och ni kan ta bort mina inlägg och så hoppar jag av detta och så får ni sitta och utveckla en app som ändå inte kan användas.

Citat:
Ursprungligen postat av pponmm
Dom kan ju inte kräva betalt för icke-fungerande länkar, som dessutom inte ens leder till deras hemsida! Länkarna omvandlas ju bara till en följd av olika bokstäver, inte en länk, därför borde det kringgå lagen. Man kan även hasha länkarna om man vill ta det ett steg längre, då kommer det inte gå att känna igen länkarna med blotta ögat heller. Man kan seeda hash-funktionen med samma frö varje gång man postar en länk, och sedan seedar man den igen med samma frö när man öppnar en sida. De kan ju omöjligt påstå att något som ser ut såhär: "xusadntdyapwaedffsdfr" är en länk till deras hemsida.

Eftersom att hemsidan man postar den hashade länken på egentligen inte får en länk, (bara resultatet av en hash-funktion) så bör de inte kunna påstå att det är en länk till deras hemsida/artikel. Om dom kan det, så kommer ju alla sidor som innehåller en slumpmässig följd av bokstäver att kunna tvingas betala för att ha länkat till en annan sida/artikel - vilket vore helt galet!

Jag skulle dock tro att det räcker med att ändra byte-värdet med 1 för varje bokstav i länken. Annars kan man göra något sånt här för varje bokstav:

bokstav[ i ] = [bokstav[ i ]'s byte-värde] + i

Alltså så kommer en länk som ser ut såhär: abcd
Att se ut såhär: aceg

Som sagt så tror jag inte att det kommer hålla eftersom det är ganska lätt att se att med en app så leder alla dina knepiga ord till artiklar. Så kommer det inte att vara slumpmässigt på andra sidor.

Men nu vet jag inte om man får driva den här diskussionen i den här tråden så jag väntar till moderatorn har svarat på min fråga innan vi fortsätter. Så go ahead och utveckla något jag känner mig rätt säker på inte kommer fungera för att kringgå lagen.

Om inte din tanke är att det skall vara svårt att upptäcka för lagens långa arm. Då är det en helt annan femma. Då faller det på att det räcker för Google, Facebook, Youtube och övriga att göra ett filter av din app som identifierar dina länkar och sin anmäler/avregistrerar din webbsida. Det går på en eftermiddag.

Men som sagt så inväntar vi moderatorns förtydligande.
__________________
Senast redigerad av kalkryggar 2018-06-21 kl. 15:49.
Citera
2018-06-21, 15:40
  #8
Medlem
pponmms avatar
Citat:
Ursprungligen postat av kalkryggar
Hur förändrar det att din webbsida länkar till artikeln? Inget och din varningstext gör inte att man kommer runt regeln.

Ts teknik löser inte heller problemet. Jag kanske var lite otydlig när jag skrev visar. Ts har en länk i sin kod som leder till artikeln. Jag tror inte ens att det i förlängningen kommer att hålla även om man inte visar upp länken. Det kommer räcka att länken finns i koden. Hur den skrivs (med vilka tecken) spelar ingen roll. Det är vart länken leder som är av betydelse.

Därför måste tillägget ha en koppling till en server som är registrerad utanför EU. Men jag tror inte det räcker eftersom du har dina annonsintäkter i Sverige (EU). Därför faller hela idén med appen.

Jag ser att moderatorn ger någon brasklapp om att inte diskutera det juridiska. Handlar det om just det jag skriver? I så fall vill jag att moderatorn förtydligar. Skall jag starta en separat tråd där om just den här tråden och den tekniska lösningen som utarbetas här? När arbetet fortgår med denna app så skall man alltså uppdatera sidotråden med det juridiska problem som appen har? Är det rätt uppfattat?

Om jag har rätt så faller hela idén med appen och det måste man väl få uttrycka i den här tråden utan att skapa en tråd i en annan forumdel som säger det? Eller? Får jag inte skriva detta här så ber jag om ursäkt och ni kan ta bort mina inlägg och så hoppar jag av detta och så får ni sitta och utveckla en app som ändå inte kan användas.

Den riktiga länken kommer inte att finnas på varken servern (t.ex. Flashbacks forum) eller klientens (användarens) dator. Tillägget fungerar som så att när användaren laddar en sida i sin webbläsare, så kommer det att kolla igenom alla länkar på sidan. Om det hittar en länk som börjar med en tagg (t.ex. <changed_link>) så kommer tillägget att på klientens dator, innan länken visas i webbläsarfönstret, beräkna vad den riktiga länken egentligen är, utifrån datat som följer efter taggen.

Det som skickas från klienten till servern vore något sånt här:
<changed_link>xxx/gmbticbdl/psh0$upq

Det som sparas på servern istället för en länk vore något sånt här:
<changed_link>xxx/gmbticbdl/psh0$upq

Det som skickas till klienten när h*n besöker sidan vore något sånt här:
<changed_link>xxx/gmbticbdl/psh0$upq

När klienten har laddat ned sidan så kommer tillägget att beräkna den riktiga länken för alla länkar som börjar med <changed_link> innan sidan visas för användaren, och får får man resultatet:
www.flashback.org/#top

Så den egentliga länken sparas varken på servern, eller skickas till klienterna när de laddar ned en sida.

Föreställ dig att det vore olagligt att ha en hemsida som visade siffran 42. Då kunde man kringgå detta genom ett tillägg som automatiskt gjorde om "40+2" eller kanske "4+2" till "42" på användarens dator innan sidan visades. Då hade det inte funnits en hemsida som visade siffran 42, men efter att sidan hade laddats ned för visning av en klient så hade ett tillägg sett till så att siffran 42 visades ändå, givet att det fanns ett sätt för tillägget att veta när/hur den skulle göra en beräkning för att få det egentliga värdet.

Detta är hela tanken med hur tillägget ska fungera. Länkarna varken sparas eller skickas någonstans. Istället så skickas en kod som ett tillägg kan göra om till en länk innan den visas för användaren, en beräkning som sker på klientens dator.

Förut när man inte fick hänga ut privatpersoner på forumet t.ex. så kunde man istället skriva "förn*mn eftern*mn, * = a". Det jag jobbar på är att få detta att fungera automatiskt, och med ett lite mer - men inte mycket - komplicerat sätt att maskera det man egentligen menar.
Citera
2018-06-24, 16:42
  #9
Medlem
pponmms avatar
Nu har jag ett fungerande tillägg! Det ända problemet är att länkarna blir fel om hemsidan de finns på lägger till något framför länkarna, som t.ex. bloggspot gör.

Såhär fungerar krypteringen just nu iallafall:
Alla "a" blir till "z", alla "b" blir till "y", alla "c" blir till "x" osv. Så jag spegelvänder alfabetet för alla bokstäver helt enkelt. Jag rör inte andra tecken som inte är små bokstäver.

Här är ett exempel på vilket output jag får efter att ha skapat en länk på min blogg med hjälp av tillägget, och sedan besöker samma sida:

Citat:
Link: https://www.blogger.com/encrypted_li...zpgfvooz-znmvm
Encrypted: ogger.com/encrypted_linksggkh://ddd.uozhsyzxp.lit/zpgfvooz-znmvm
Decrypted: lttvi.xln/vmxibkgvw_ormphttps://www.flashback.org/aktuella-amnen

Som ni ser så lägger hemsidan till "https://www.blogger.com/" innan länken, vilket gör att länken blir fel när jag tar bort taggen (det som följer efter "Encrypted") och när jag sedan avkrypterar länken (det som följer efter "Decrypted"). Jag ska se till så att jag tar bort rätt del av länken sedan, endast taggen dvs., sedan ska jag se till så att jag bara avkrypterar delen som kommer efter taggen.

Såhär krypterar man en länk:
1) Man kopierar vilken länk man vill, genom att använda ctrl+c eller högerklicka och välja "kopiera". Man kan kopiera länkarna från vilken plats man vill, behöver inte vara från webbläsaren. Man måste bara ha länken i sitt clipboard.
2) Man tycker på tilläggets ikon bredvid adressfältet.
3) Man har nu den krypterade länken i sitt clipboard, och det är bara att klistra in den som vanligt.

Såhär läser man en krypterad länk:
1) Man öppnar webbsidan där länken finns, och den kommer automatiskt att avkryptera länken. (förutsatt att länken ser ut så som den ursprungligen gjorde när man postade den, och inte - som i mitt exempel - har fått massor av tillägg framför sig). Notera att det endast är länken i sig som ändrar på sig, inte länktexten.

Koden ska fin-skrivas, jag vill sköta alla beräkningar i content.js, just nu så krypterar jag länkar i background.js och avkrypterar dem i content.js. Men det fungerar iallafall som det är tänkt nu, bortsett från specialfall - men det ska jag fixa så fort jag får tid!

Här kan du ladda ned hela tillägget (då det inte är helt färdigt än, så får man ladda ned det som en mapp vilken innehåller alla filer, och sedan installera det i programmerarläge):
https://minfil.com/a5MfZbecba/ChromeExtension.rar

Här kan du finna koden på nätet, om du inte vill ladda ned filerna:
manifest.json: https://pastebin.com/mVSBKHCx
background.js: https://pastebin.com/DQv6uu02
content.js: https://pastebin.com/dzM2Wbdx

När tillägget är helt färdigt, och renskrivet, så kommer jag att lägga ut det online så att man kan installera det som vilket annat tillägg som helst.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback